summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjlam <jlam@pkgsrc.org>2004-04-28 04:00:17 +0000
committerjlam <jlam@pkgsrc.org>2004-04-28 04:00:17 +0000
commit6716a865f57e3ba6dcf0fe28f0580abe5ee5ff66 (patch)
tree4428b8184906b4f340761bda91004c5de6141bcd
parentc1bc435448dbe317b833a80e1121504a06e92f24 (diff)
downloadpkgsrc-6716a865f57e3ba6dcf0fe28f0580abe5ee5ff66.tar.gz
Fix up OpenSSH sources to allow building with S/Key support on NetBSD as
well. Bump the PKGREVISION. XXX The right fix is to create a autoconf check for the number of args XXX that skeychallenge takes and do the right thing accordingly.
-rw-r--r--security/openssh/Makefile19
-rw-r--r--security/openssh/distinfo5
-rw-r--r--security/openssh/patches/patch-aq15
-rw-r--r--security/openssh/patches/patch-ar13
-rw-r--r--security/openssh/patches/patch-as13
5 files changed, 55 insertions, 10 deletions
diff --git a/security/openssh/Makefile b/security/openssh/Makefile
index f1540987e03..d1e87aff4ed 100644
--- a/security/openssh/Makefile
+++ b/security/openssh/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.132 2004/04/28 03:54:08 jlam Exp $
+# $NetBSD: Makefile,v 1.133 2004/04/28 04:00:17 jlam Exp $
DISTNAME= openssh-3.8p1
PKGNAME= openssh-3.8.1
-PKGREVISION= 2
+PKGREVISION= 3
SVR4_PKGNAME= ossh
CATEGORIES= security
MASTER_SITES= ftp://ftp.openssh.com/pub/OpenBSD/OpenSSH/portable/ \
@@ -74,15 +74,16 @@ CONFIGURE_ARGS+= --with-privsep-user=${OPENSSH_USER}
#
CONFIGURE_ENV+= LD=${CC:Q}
-# s/key support, enabled on Darwin and Solaris. NetBSD s/key has 4 args
-# (4: sslen) to skeychallenge instead of 3, so disable s/key support.
-#
-.if ${OPSYS} == "Darwin" || ${OPSYS} == "SunOS"
+# Enable S/Key support on NetBSD, Darwin, and Solaris.
+.if (${OPSYS} == "NetBSD") || (${OPSYS} == "Darwin") || (${OPSYS} == "SunOS")
. include "../../security/skey/buildlink3.mk"
CONFIGURE_ARGS+= --with-skey=${BUILDLINK_PREFIX.skey}
-.elif ${OPSYS} == "NetBSD"
-#CONFIGURE_ARGS+= --with-skey=/usr
-CONFIGURE_ARGS+= --without-skey
+#
+# NetBSD's skeychallenge() takes 4 args (int: sslen) instead of 3.
+#
+. if ${OPSYS} == "NetBSD"
+CPPFLAGS+= -DSKEYCHALLENGE=SKEYCHALLENGE4
+. endif
.else
CONFIGURE_ARGS+= --without-skey
.endif
diff --git a/security/openssh/distinfo b/security/openssh/distinfo
index 181e7b4cc1a..f6565bfc938 100644
--- a/security/openssh/distinfo
+++ b/security/openssh/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.31 2004/04/27 12:30:23 markd Exp $
+$NetBSD: distinfo,v 1.32 2004/04/28 04:00:17 jlam Exp $
SHA1 (openssh-3.8p1.tar.gz) = b30c4ec4945f4e8b1691470495c15caf522fbc16
Size (openssh-3.8p1.tar.gz) = 826588 bytes
@@ -7,3 +7,6 @@ SHA1 (patch-ab) = 9893f9aa4cbd022328358f0d93ba1cd27ee5e320
SHA1 (patch-ac) = ae77aa9a6bdbb69231d24ed6b01e6cefa13b38ee
SHA1 (patch-ad) = 644e2fe1f2967fe97c51a7cc61cad557bc42ed6a
SHA1 (patch-ah) = 8f1fa190e4fb115bb5311b4ccd839a649e1b09e5
+SHA1 (patch-aq) = 0718e96922ca30ca12915399c176504f10addd82
+SHA1 (patch-ar) = 6d026300d159094beb308a4e17b07003fa41a050
+SHA1 (patch-as) = 00b5d247f3aded042e262f3a162096c60fd9c259
diff --git a/security/openssh/patches/patch-aq b/security/openssh/patches/patch-aq
new file mode 100644
index 00000000000..17ff94084b8
--- /dev/null
+++ b/security/openssh/patches/patch-aq
@@ -0,0 +1,15 @@
+$NetBSD: patch-aq,v 1.1 2004/04/28 04:00:17 jlam Exp $
+
+--- config.h.in.orig Tue Feb 24 01:22:45 2004
++++ config.h.in
+@@ -1039,4 +1039,10 @@
+
+ /* ******************* Shouldn't need to edit below this line ************** */
+
++#define SKEYCHALLENGE4(mp, name, ss, sslen) skeychallenge(mp, name, ss, sslen)
++#define SKEYCHALLENGE3(mp, name, ss, sslen) skeychallenge(mp, name, ss)
++#ifndef SKEYCHALLENGE
++#define SKEYCHALLENGE SKEYCHALLENGE3
++#endif
++
+ #endif /* _CONFIG_H */
diff --git a/security/openssh/patches/patch-ar b/security/openssh/patches/patch-ar
new file mode 100644
index 00000000000..7f5fc4d9323
--- /dev/null
+++ b/security/openssh/patches/patch-ar
@@ -0,0 +1,13 @@
+$NetBSD: patch-ar,v 1.1 2004/04/28 04:00:17 jlam Exp $
+
+--- auth-skey.c.orig Wed Jul 3 20:14:18 2002
++++ auth-skey.c
+@@ -47,7 +47,7 @@ skey_query(void *ctx, char **name, char
+ 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 --git a/security/openssh/patches/patch-as b/security/openssh/patches/patch-as
new file mode 100644
index 00000000000..ea5847770cb
--- /dev/null
+++ b/security/openssh/patches/patch-as
@@ -0,0 +1,13 @@
+$NetBSD: patch-as,v 1.1 2004/04/28 04:00:17 jlam Exp $
+
+--- monitor.c.orig Fri Feb 6 00:40:27 2004
++++ monitor.c
+@@ -738,7 +738,7 @@ mm_answer_skeyquery(int socket, Buffer *
+ 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);