aboutsummaryrefslogtreecommitdiffstats
path: root/security
diff options
context:
space:
mode:
Diffstat (limited to 'security')
-rw-r--r--security/openssh-portable/Makefile3
-rw-r--r--security/openssh-portable/files/openssh-lpk-5.0p1-64bit.patch44
2 files changed, 47 insertions, 0 deletions
diff --git a/security/openssh-portable/Makefile b/security/openssh-portable/Makefile
index c8ac83eeec06..2c050c942b79 100644
--- a/security/openssh-portable/Makefile
+++ b/security/openssh-portable/Makefile
@@ -148,6 +148,9 @@ PATCHFILES+= openssh-5.1p1-hpn13v5.diff.gz
# See http://dev.inversepath.com/trac/openssh-lpk
.if defined(WITH_LPK)
EXTRA_PATCHES= ${FILESDIR}/openssh-lpk-5.0p1-0.3.9.patch
+.if ${ARCH} == "amd64"
+EXTRA_PATCHES+= ${FILESDIR}/openssh-lpk-5.0p1-64bit.patch
+.endif
USE_OPENLDAP= yes
CPPFLAGS+= "-I${LOCALBASE}/include -DWITH_LDAP_PUBKEY"
CONFIGURE_ARGS+= --with-libs='-lldap' --with-ldflags='-L${LOCALBASE}/lib' \
diff --git a/security/openssh-portable/files/openssh-lpk-5.0p1-64bit.patch b/security/openssh-portable/files/openssh-lpk-5.0p1-64bit.patch
new file mode 100644
index 000000000000..2e95d951885b
--- /dev/null
+++ b/security/openssh-portable/files/openssh-lpk-5.0p1-64bit.patch
@@ -0,0 +1,44 @@
+diff -Nuar --exclude '*.rej' servconf.c.orig servconf.c
+--- servconf.c.orig 2008-08-23 15:02:47.000000000 -0700
++++ servconf.c 2008-08-23 15:04:21.000000000 -0700
+@@ -701,6 +701,7 @@
+ int cmdline = 0, *intptr, value, n;
+ SyslogFacility *log_facility_ptr;
+ LogLevel *log_level_ptr;
++ unsigned long lvalue, *longptr;
+ ServerOpCodes opcode;
+ u_short port;
+ u_int i, flags = 0;
+@@ -715,6 +716,7 @@
+ if (!arg || !*arg || *arg == '#')
+ return 0;
+ intptr = NULL;
++ longptr = NULL;
+ charptr = NULL;
+ opcode = parse_token(arg, filename, linenum, &flags);
+
+@@ -1449,11 +1451,20 @@
+ *intptr = value;
+ break;
+ case sBindTimeout:
+- intptr = (int *) &options->lpk.b_timeout.tv_sec;
+- goto parse_int;
++ longptr = (unsigned long *) &options->lpk.b_timeout.tv_sec;
++parse_ulong:
++ arg = strdelim(&cp);
++ if (!arg || *arg == '\0')
++ fatal("%s line %d: missing integer value.",
++ filename, linenum);
++ lvalue = atol(arg);
++ if (*activep && *longptr == -1)
++ *longptr = lvalue;
++ break;
++
+ case sSearchTimeout:
+- intptr = (int *) &options->lpk.s_timeout.tv_sec;
+- goto parse_int;
++ longptr = (unsigned long *) &options->lpk.s_timeout.tv_sec;
++ goto parse_ulong;
+ break;
+ case sLdapConf:
+ arg = cp;