summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-misc/openssh/ChangeLog8
-rw-r--r--net-misc/openssh/Manifest4
-rw-r--r--net-misc/openssh/files/digest-openssh-3.7.1_p2-r12
-rw-r--r--net-misc/openssh/files/openssh-skeychallenge-args.diff24
-rw-r--r--net-misc/openssh/openssh-3.7.1_p2-r1.ebuild140
5 files changed, 175 insertions, 3 deletions
diff --git a/net-misc/openssh/ChangeLog b/net-misc/openssh/ChangeLog
index a2d1d17d2a7b..372c1ab75ed4 100644
--- a/net-misc/openssh/ChangeLog
+++ b/net-misc/openssh/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-misc/openssh
# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-misc/openssh/ChangeLog,v 1.55 2003/10/29 03:17:56 pebenito Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-misc/openssh/ChangeLog,v 1.56 2003/11/05 16:05:05 taviso Exp $
+
+*openssh-3.7.1_p2-r1 (05 Nov 2003)
+
+ 05 Nov 2003; Tavis Ormandy <taviso@gentoo.org> openssh-3.7.1_p2-r1.ebuild,
+ files/openssh-skeychallenge-args.diff:
+ patch needed for compatability with new skey.
28 Oct 2003; Chris PeBenito <pebenito@gentoo.org> openssh-3.5_p1-r1.ebuild,
openssh-3.6.1_p2.ebuild, openssh-3.7.1_p2.ebuild,
diff --git a/net-misc/openssh/Manifest b/net-misc/openssh/Manifest
index 334245729191..14fdc46e10f8 100644
--- a/net-misc/openssh/Manifest
+++ b/net-misc/openssh/Manifest
@@ -1,8 +1,8 @@
MD5 dd18c67f333d21115a68c7f028a8879a openssh-3.5_p1-r1.ebuild 3574
-MD5 f34bfb15c23932b1cc8e70f74069245d openssh-3.7.1_p2-r1.ebuild 4128
+MD5 a06d63cad0f884ee35b87ac847218c3b openssh-3.7.1_p2-r1.ebuild 4127
MD5 137be01859a55aee00b52284b6905f34 openssh-3.6.1_p2.ebuild 3595
MD5 d6e7d6966badc556772e2a9462eae053 openssh-3.7.1_p2.ebuild 4018
-MD5 f06870a4ed8746032e81561c4e59ecb5 ChangeLog 8906
+MD5 ac26223c2068ceaf24cca1bc97e66c19 ChangeLog 9107
MD5 0feff9b09e482567359625301bddce1c metadata.xml 1329
MD5 2cb187d8f60994c5e1b5fef2bcb6e85d files/openssh-3.5_p1-gentoo-sshd-gcc3.patch 315
MD5 49cc9062ff27ad7d4e8f94b136ed76a2 files/openssh-3.7.1_p1-selinux.diff 3394
diff --git a/net-misc/openssh/files/digest-openssh-3.7.1_p2-r1 b/net-misc/openssh/files/digest-openssh-3.7.1_p2-r1
new file mode 100644
index 000000000000..920c333856ca
--- /dev/null
+++ b/net-misc/openssh/files/digest-openssh-3.7.1_p2-r1
@@ -0,0 +1,2 @@
+MD5 61cf5b059938718308836d00f6764a94 openssh-3.7.1p2.tar.gz 792280
+MD5 83e000a867eba10ef7f18c169d979360 openssh-3.7.1p2+x509g2.diff.gz 125455
diff --git a/net-misc/openssh/files/openssh-skeychallenge-args.diff b/net-misc/openssh/files/openssh-skeychallenge-args.diff
new file mode 100644
index 000000000000..86d6e5d91e0b
--- /dev/null
+++ b/net-misc/openssh/files/openssh-skeychallenge-args.diff
@@ -0,0 +1,24 @@
+diff -ruN openssh-3.7.1p2.orig/auth-skey.c openssh-3.7.1p2/auth-skey.c
+--- openssh-3.7.1p2.orig/auth-skey.c 2002-07-04 01:14:18.000000000 +0100
++++ openssh-3.7.1p2/auth-skey.c 2003-11-05 12:35:23.000000000 +0000
+@@ -47,7 +47,7 @@
+ int len;
+ struct skey skey;
+
+- if (skeychallenge(&skey, authctxt->user, challenge) == -1)
++ if (skeychallenge(&skey, authctxt->user, challenge, sizeof challenge) == -1)
+ return -1;
+
+ *name = xstrdup("");
+diff -ruN openssh-3.7.1p2.orig/monitor.c openssh-3.7.1p2/monitor.c
+--- openssh-3.7.1p2.orig/monitor.c 2003-09-02 22:32:46.000000000 +0100
++++ openssh-3.7.1p2/monitor.c 2003-11-05 12:36:03.000000000 +0000
+@@ -736,7 +736,7 @@
+ char challenge[1024];
+ u_int success;
+
+- success = skeychallenge(&skey, authctxt->user, challenge) < 0 ? 0 : 1;
++ success = skeychallenge(&skey, authctxt->user, challenge, sizeof challenge) < 0 ? 0 : 1;
+
+ buffer_clear(m);
+ buffer_put_int(m, success);
diff --git a/net-misc/openssh/openssh-3.7.1_p2-r1.ebuild b/net-misc/openssh/openssh-3.7.1_p2-r1.ebuild
new file mode 100644
index 000000000000..d215154f11b7
--- /dev/null
+++ b/net-misc/openssh/openssh-3.7.1_p2-r1.ebuild
@@ -0,0 +1,140 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-misc/openssh/openssh-3.7.1_p2-r1.ebuild,v 1.1 2003/11/05 16:05:05 taviso Exp $
+
+inherit eutils flag-o-matic ccc
+[ `use kerberos` ] && append-flags -I/usr/include/gssapi
+
+# Make it more portable between straight releases
+# and _p? releases.
+PARCH=${P/_/}
+
+X509_PATCH="${PARCH}+x509g2.diff.gz"
+SELINUX_PATCH="openssh-3.7.1_p1-selinux.diff"
+
+S=${WORKDIR}/${PARCH}
+DESCRIPTION="Port of OpenBSD's free SSH release"
+HOMEPAGE="http://www.openssh.com/"
+SRC_URI="mirror://openssh/${PARCH}.tar.gz
+ X509? ( http://roumenpetrov.info/openssh/x509g2/${X509_PATCH} )"
+
+LICENSE="as-is"
+SLOT="0"
+KEYWORDS="~x86 ~ppc ~sparc ~alpha ~mips ~hppa ~arm ~amd64 ~ia64"
+IUSE="ipv6 static pam tcpd kerberos skey selinux X509"
+
+# openssh recognizes when openssl has been slightly upgraded and refuses to run.
+# This new rev will use the new openssl.
+RDEPEND="virtual/glibc
+ pam? ( >=sys-libs/pam-0.73
+ >=sys-apps/shadow-4.0.2-r2 )
+ kerberos? ( app-crypt/mit-krb5 )
+ selinux? ( sys-libs/libselinux )
+ skey? ( >=app-admin/skey-1.1.5-r1 )
+ >=dev-libs/openssl-0.9.6d
+ >=sys-libs/zlib-1.1.4
+ >=sys-apps/sed-4"
+
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ sys-apps/groff
+ tcpd? ( >=sys-apps/tcp-wrappers-7.6 )"
+PROVIDE="virtual/ssh"
+
+src_unpack() {
+ unpack ${PARCH}.tar.gz ; cd ${S}
+
+ use selinux && epatch ${FILESDIR}/${SELINUX_PATCH}
+ use alpha && epatch ${FILESDIR}/${PN}-3.5_p1-gentoo-sshd-gcc3.patch
+ use X509 && epatch ${DISTDIR}/${X509_PATCH}
+
+ # looks like this one was rewriten somewhat.
+ # epatch ${FILESDIR}/${P}-memory-bugs.patch
+
+ use skey && {
+ # prevent the conftest from violating the sandbox
+ sed -i 's#skey_keyinfo("")#"true"#g' configure
+
+ # updates to skey implementation.
+ epatch ${FILESDIR}/${PN}-skeychallenge-args.diff
+ }
+}
+
+src_compile() {
+ local myconf
+
+ myconf="\
+ $( use_with tcpd tcp-wrappers ) \
+ $( use_with kerberos kerberos5 ) \
+ $( use_with pam ) \
+ $( use_with skey )"
+
+ use ipv6 || myconf="${myconf} --with-ipv4-default"
+
+ use skey && {
+ # make sure .sbss is large enough
+ use alpha && append-ldflags -mlarge-data
+ }
+
+ use selinux && append-flags "-DWITH_SELINUX"
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc/ssh \
+ --mandir=/usr/share/man \
+ --libexecdir=/usr/lib/misc \
+ --datadir=/usr/share/openssh \
+ --disable-suid-ssh \
+ --with-privsep-path=/var/empty \
+ --with-privsep-user=sshd \
+ --with-md5-passwords \
+ --host=${CHOST} ${myconf} || die "bad configure"
+
+ use static && {
+ # statically link to libcrypto -- good for the boot cd
+ sed -i "s:-lcrypto:/usr/lib/libcrypto.a:g" Makefile
+ }
+
+ emake || die "compile problem"
+}
+
+src_install() {
+ make install-files DESTDIR=${D} || die
+ chmod 600 ${D}/etc/ssh/sshd_config
+ 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
+ keepdir /var/empty/.keep
+}
+
+pkg_preinst() {
+ userdel sshd 2> /dev/null
+ if ! groupmod sshd; then
+ groupadd -g 90 sshd 2> /dev/null || \
+ die "Failed to create sshd group"
+ fi
+ useradd -u 22 -g sshd -s /dev/null -d /var/empty -c "sshd" sshd || \
+ die "Failed to create sshd user"
+}
+
+pkg_postinst() {
+ # empty dir for the new priv separation auth chroot..
+ install -d -m0755 -o root -g root ${ROOT}/var/empty
+
+ ewarn "Remember to merge your config files in /etc/ssh/ and then"
+ ewarn "restart sshd: '/etc/init.d/sshd restart'."
+ ewarn
+ einfo "As of version 3.4 the default is to enable the UsePrivelegeSeparation"
+ einfo "functionality, but please ensure that you do not explicitly disable"
+ einfo "this in your configuration as disabling it opens security holes"
+ einfo
+ einfo "This revision has removed your sshd user id and replaced it with a"
+ einfo "new one with UID 22. If you have any scripts or programs that"
+ einfo "that referenced the old UID directly, you will need to update them."
+ einfo
+ use pam >/dev/null 2>&1 && {
+ einfo "Please be aware users need a valid shell in /etc/passwd"
+ einfo "in order to be allowed to login."
+ einfo
+ }
+}