--- openssh-3.6.1_p2-r1.ebuild 2003-09-13 00:40:17.000000000 +0000 +++ openssh-3.6.1_p2-r1_dt.ebuild 2003-09-13 00:07:04.000000000 +0000 @@ -4,7 +4,7 @@ inherit eutils -IUSE="ipv6 static pam tcpd kerberos selinux" +IUSE="ipv6 static pam tcpd kerberos selinux daemontools" IUSE="${IUSE} X509" X509_PATCH=${P/_/}+x509g2.diff.gz @@ -24,6 +24,7 @@ RDEPEND="virtual/glibc pam? ( >=sys-libs/pam-0.73 >=sys-apps/shadow-4.0.2-r2 ) kerberos? ( app-crypt/mit-krb5 ) + daemontools? ( >=sys-apps/daemontools-0.76 ) selinux? ( sys-apps/selinux-small ) >=dev-libs/openssl-0.9.6d sys-libs/zlib" @@ -37,6 +38,18 @@ LICENSE="as-is" KEYWORDS="~x86 ~ppc ~sparc ~alpha ~mips ~hppa ~arm ~amd64" +pkg_setup() { + if use daemontools ; then + if ! grep -q ^sshlog /etc/group ; then + groupadd sshlog || die "Failed to add group: sshlog" + fi + + if ! grep -q ^sshlog /etc/passwd ; then + useradd -g sshlog -d /dev/null -s /dev/null sshlog || die "Failed to add user: sshlog" + fi + fi +} + src_unpack() { unpack ${PARCH}.tar.gz cd ${S} @@ -105,6 +118,17 @@ dodoc ChangeLog CREDITS OVERVIEW README* TODO sshd_config insinto /etc/pam.d ; newins ${FILESDIR}/sshd.pam sshd exeinto /etc/init.d ; newexe ${FILESDIR}/sshd.rc6 sshd + if use daemontools && [ ! -d /etc/ssh/supervise ] ; then + diropts -m 755 -o root + dodir /etc/ssh/supervise /etc/ssh/supervise/log + exeinto /etc/ssh/supervise ; newexe ${FILESDIR}/sshd.supervise.run run + exeinto /etc/ssh/supervise/log ; newexe ${FILESDIR}/sshd.supervise.log run + + diropts -m 755 -o sshlog -g sshlog + dodir /var/log/sshd + keepdir /var/log/sshd + fi + touch ${D}/var/empty/.keep } @@ -125,6 +149,19 @@ # empty dir for the new priv separation auth chroot.. install -d -m0755 -o root -g root ${ROOT}/var/empty + 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 + einfo einfo "Remember to merge your config files in /etc/ssh!" einfo "As of version 3.4 the default is to enable the UsePrivelegeSeparation"