diff -x digest-* -x Manifest -Nur /root/overlay/sys-apps/freebsd-crypto/files/sshd.pam freebsd-crypto/files/sshd.pam --- /root/overlay/sys-apps/freebsd-crypto/files/sshd.pam Thu Jan 1 00:00:00 1970 +++ freebsd-crypto/files/sshd.pam Fri Mar 11 13:12:47 2005 @@ -0,0 +1,9 @@ +#%PAM-1.0 + +auth required pam_stack.so service=system-auth +auth required pam_shells.so +auth required pam_nologin.so +account required pam_stack.so service=system-auth +password required pam_stack.so service=system-auth +session required pam_stack.so service=system-auth + diff -x digest-* -x Manifest -Nur /root/overlay/sys-apps/freebsd-crypto/files/sshd.rc6 freebsd-crypto/files/sshd.rc6 --- /root/overlay/sys-apps/freebsd-crypto/files/sshd.rc6 Thu Jan 1 00:00:00 1970 +++ freebsd-crypto/files/sshd.rc6 Fri Mar 11 13:12:47 2005 @@ -0,0 +1,52 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-misc/openssh/files/sshd.rc6,v 1.13 2004/07/15 00:07:55 agriffis Exp $ + +depend() { + use logger dns + need net +} + +checkconfig() { + if [ ! -d /var/empty ] ; then + mkdir -p /var/empty || return 1 + fi + + if [ ! -e /etc/ssh/sshd_config ] ; then + eerror "You need an /etc/ssh/sshd_config file to run sshd" + eerror "There is a sample file in /usr/share/doc/openssh" + return 1 + fi + + gen_keys +} + +gen_keys() { + if [ ! -e /etc/ssh/ssh_host_key ] ; then + einfo "Generating Hostkey..." + /usr/bin/ssh-keygen -t rsa1 -b 1024 -f /etc/ssh/ssh_host_key -N '' + fi + if [ ! -e /etc/ssh/ssh_host_dsa_key ] ; then + einfo "Generating DSA-Hostkey..." + /usr/bin/ssh-keygen -d -f /etc/ssh/ssh_host_dsa_key -N '' + fi + if [ ! -e /etc/ssh/ssh_host_rsa_key ] ; then + einfo "Generating RSA-Hostkey..." + /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' + fi +} + +start() { + checkconfig || return 1 + ebegin "Starting sshd" + start-stop-daemon --start --quiet --pidfile /var/run/sshd.pid \ + --startas /usr/sbin/sshd + eend $? +} + +stop() { + ebegin "Stopping sshd" + start-stop-daemon --stop --quiet --pidfile /var/run/sshd.pid + eend $? +} diff -x digest-* -x Manifest -Nur /root/overlay/sys-apps/freebsd-crypto/freebsd-crypto-5.3-r1.ebuild freebsd-crypto/freebsd-crypto-5.3-r1.ebuild --- /root/overlay/sys-apps/freebsd-crypto/freebsd-crypto-5.3-r1.ebuild Sun Feb 27 21:40:49 2005 +++ freebsd-crypto/freebsd-crypto-5.3-r1.ebuild Fri Mar 11 17:40:15 2005 @@ -11,10 +11,28 @@ SRC_URI="${SRC_URI} ${BASE_SRC_URI}${LIB}.tar.bz2" LICENSE="AS-IS BSD" -IUSE="" -DEPEND="=sys-libs/freebsd-lib-5.3*" + +IUSE="ssh pam" +DEPEND="=sys-libs/freebsd-lib-5.3* + ssh? ( !virtual/ssh )" + S=${WORKDIR}/secure +PROVIDE="ssh? virtual/ssh" + +pkg_setup() { + # IDEA stuff seems to be broken but better know that we can + # enable it in this way. + # use idea && mymakeopts="${mymakeopts} MAKE_IDEA= " + + use ssh || mymakeopts="${mymakeopts} NO_OPENSSH= " + + # openssl tries to install the mans in its own directory + # this forces it to use the standard one + # Note: man/man states that it will use man/man1 man/man3 and so on + mymakeopts="${mymakeopts} MANDIR=/usr/share/man/man" +} + src_unpack() { # I don't think it's elegant to use this, but we just need # the two Makefiles from its base dir. @@ -30,16 +48,26 @@ src_compile() { # -pg and -fomit-frame-pointer are incompatible filter-flags "-fomit-frame-pointer" - emake || die "emake failed" + fmake || die "emake failed" einfo "Building kerberos5 now" cd ${WORKDIR}/kerberos5 - emake || die "emake kerberos failed" + fmake || die "emake kerberos failed" } src_install() { einfo "Installing general cryptographic utilities ..." - emake DESTDIR=${D} install || die "emake install failed" + fmake DESTDIR=${D} install || die "emake install failed" einfo "Installing kerberos5 ..." cd ${WORKDIR}/kerberos5 - emake DESTDIR=${D} install || die "emake install kerberos failed" + fmake DESTDIR=${D} install || die "emake install kerberos failed" + + if use ssh; then + exeinto /etc/init.d + newexe ${FILESDIR}/sshd.rc6 sshd + + if use pam; then + insinto /etc/pam.d + newins ${FILESDIR}/sshd.pam sshd + fi + fi }