From c0f98ece19c918e50aee7da00d5a89a95bde15b9 Mon Sep 17 00:00:00 2001 From: jlam Date: Wed, 28 Apr 2004 04:00:17 +0000 Subject: 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. --- security/openssh/Makefile | 19 ++++++++++--------- security/openssh/distinfo | 5 ++++- security/openssh/patches/patch-aq | 15 +++++++++++++++ security/openssh/patches/patch-ar | 13 +++++++++++++ security/openssh/patches/patch-as | 13 +++++++++++++ 5 files changed, 55 insertions(+), 10 deletions(-) create mode 100644 security/openssh/patches/patch-aq create mode 100644 security/openssh/patches/patch-ar create mode 100644 security/openssh/patches/patch-as (limited to 'security/openssh') 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); -- cgit v1.2.3