summaryrefslogtreecommitdiff
path: root/security/ssh2
diff options
context:
space:
mode:
authorkivinen <kivinen>2006-11-02 12:31:58 +0000
committerkivinen <kivinen>2006-11-02 12:31:58 +0000
commitb676525a27d5c23c77f233aaa0aeca5a74e32bfd (patch)
treeb0b34a6bb158619ad65e706b527a08204e92ffe1 /security/ssh2
parent9a936e1e3757ca76bd16fc55ef18fb8e0c9808b0 (diff)
downloadpkgsrc-b676525a27d5c23c77f233aaa0aeca5a74e32bfd.tar.gz
Added missing fflush to scp when priting statistics. Fixed bug
in the reverse dns queries for IPv6 addresses (overwriting 12 bytes of local variables on the stack). Disabled x11-security on all platforms, as it does not seem to work on i386 either. Incremented PKGREVISION to 7.
Diffstat (limited to 'security/ssh2')
-rw-r--r--security/ssh2/Makefile7
-rw-r--r--security/ssh2/distinfo4
-rw-r--r--security/ssh2/patches/patch-bh12
-rw-r--r--security/ssh2/patches/patch-bi41
4 files changed, 59 insertions, 5 deletions
diff --git a/security/ssh2/Makefile b/security/ssh2/Makefile
index 94b6fc50a79..b5fa9e8c140 100644
--- a/security/ssh2/Makefile
+++ b/security/ssh2/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.17 2006/09/22 13:58:46 kivinen Exp $
+# $NetBSD: Makefile,v 1.18 2006/11/02 12:31:58 kivinen Exp $
DISTNAME= ssh-3.2.9.1
PKGNAME= ${DISTNAME:C/ssh-/ssh2-/}
-PKGREVISION= 6
+PKGREVISION= 7
CATEGORIES= security
MASTER_SITES= ftp://ftp.ssh.com/pub/ssh/
@@ -51,13 +51,12 @@ CONFIGURE_ARGS+= --without-ssh1-compat
CONFIGURE_ARGS+= --with-libwrap=${BUILDLINK_PREFIX.tcp-wrappers}
CONFIGURE_ARGS+= --with-pid-dir=${SSH_PID_DIR:Q}
-.if ${OPSYS} == "NetBSD" && ${MACHINE_ARCH} == "x86_64"
# This seems to break x11 forwarding at least on NetBSD 3.1 amd64
+# and i386, so I assume it actually breaks it for all platforms.
# (i.e ssh localhost xterm does not work as client will get wrong
# auth cookie).
# Without this it will use the xauth method and that will work.
CONFIGURE_ARGS+= --without-x11-security
-.endif
# Setting FOREIGN_ETCDIR to PKG_SYSCONFBASEDIR may seem stupid
# if PKG_SYSCONFDIR.${PKG_SYSCONFVAR} is set but it does no harm...
diff --git a/security/ssh2/distinfo b/security/ssh2/distinfo
index fc9be17769c..d9c5d2922c9 100644
--- a/security/ssh2/distinfo
+++ b/security/ssh2/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.11 2006/09/22 13:58:46 kivinen Exp $
+$NetBSD: distinfo,v 1.12 2006/11/02 12:31:58 kivinen Exp $
SHA1 (ssh-3.2.9.1.tar.gz) = 22e4589c889aef18e53a8942716084f0d8ede7db
RMD160 (ssh-3.2.9.1.tar.gz) = 21bfe97fae477dea1109c6e6eb44a448b6b2f250
@@ -36,3 +36,5 @@ SHA1 (patch-bd) = 0a57de059fcd647c375f310d6d58712a2f3d4c89
SHA1 (patch-be) = 788a8fa682e968d9e3cd55213547f82908cc3a0a
SHA1 (patch-bf) = 64fa9f13619a9d222af9a24d0b1069033facdef1
SHA1 (patch-bg) = 73da22930f753fc02cd4a5bad30b4edf226d1180
+SHA1 (patch-bh) = 3a4798d70198858af33a6325325fb37dfc50356e
+SHA1 (patch-bi) = 6d8ad1c52b0e27ba262c8837dbb55c8ca4e744a7
diff --git a/security/ssh2/patches/patch-bh b/security/ssh2/patches/patch-bh
new file mode 100644
index 00000000000..2d1bd9bbe55
--- /dev/null
+++ b/security/ssh2/patches/patch-bh
@@ -0,0 +1,12 @@
+$NetBSD: patch-bh,v 1.1 2006/11/02 12:31:58 kivinen Exp $
+
+--- apps/ssh/scp2.c.orig 2003-12-03 15:17:22.000000000 +0200
++++ apps/ssh/scp2.c
+@@ -833,6 +833,7 @@ void scp_simple_progress_cb(SshFileCopyC
+
+ fprintf(stdout, "%s | %4sB | %4sB/s | TOC: %s\r\n",
+ file_name, num_buffer, tr_rate_buffer, toc_buffer);
++ fflush(stdout);
+ ssh_xfree(file_name);
+ }
+
diff --git a/security/ssh2/patches/patch-bi b/security/ssh2/patches/patch-bi
new file mode 100644
index 00000000000..cbaa3eae295
--- /dev/null
+++ b/security/ssh2/patches/patch-bi
@@ -0,0 +1,41 @@
+$NetBSD: patch-bi,v 1.1 2006/11/02 12:31:58 kivinen Exp $
+
+--- lib/sshutil/sshnet/sshunixtcp.c.orig 2003-12-03 15:17:31.000000000 +0200
++++ lib/sshutil/sshnet/sshunixtcp.c
+@@ -1459,7 +1459,6 @@ char *ssh_tcp_get_host_by_addr_sync(cons
+ #else /* VXWORKS */
+ unsigned char outbuf[16];
+ size_t outbuflen = 16;
+- struct in_addr in_addr;
+ struct hostent *hp;
+ char *name;
+ int i;
+@@ -1467,8 +1466,16 @@ char *ssh_tcp_get_host_by_addr_sync(cons
+ if (!ssh_inet_strtobin(addr, outbuf, &outbuflen))
+ return NULL;
+
+- memmove(&in_addr.s_addr, outbuf, outbuflen);
+- hp = gethostbyaddr((char *)&in_addr, sizeof(struct in_addr), AF_INET);
++#ifdef AF_INET6
++ hp = gethostbyaddr((char *)outbuf, outbuflen,
++ (outbuflen == 16) ? AF_INET6 : AF_INET);
++#else /* AF_INET6 */
++ if (outbuflen == 16)
++ return NULL;
++ hp = gethostbyaddr((char *)outbuf, outbuflen,
++ AF_INET);
++#endif /* AF_INET6 */
++
+ if (!hp)
+ return NULL;
+
+@@ -1491,7 +1498,8 @@ char *ssh_tcp_get_host_by_addr_sync(cons
+
+ /* Look for the address from the list of addresses. */
+ for (i = 0; hp->h_addr_list[i]; i++)
+- if (memcmp(hp->h_addr_list[i], &in_addr, sizeof(in_addr)) == 0)
++ if (hp->h_length == outbuflen &&
++ memcmp(hp->h_addr_list[i], outbuf, outbuflen) == 0)
+ break;
+ /* If we reached the end of the list, the address was not there. */
+ if (!hp->h_addr_list[i])