summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/.git-dpm4
-rw-r--r--debian/changelog1
-rw-r--r--debian/patches/fix-putty-interop-tests.patch113
-rw-r--r--debian/patches/series1
-rw-r--r--debian/tests/control2
-rw-r--r--debian/tests/regress2
-rw-r--r--regress/putty-ciphers.sh2
-rw-r--r--regress/putty-kex.sh3
-rw-r--r--regress/putty-transfer.sh4
-rw-r--r--regress/test-exec.sh10
10 files changed, 132 insertions, 10 deletions
diff --git a/debian/.git-dpm b/debian/.git-dpm
index 1f74d7567..a3594adbc 100644
--- a/debian/.git-dpm
+++ b/debian/.git-dpm
@@ -1,6 +1,6 @@
1# see git-dpm(1) from git-dpm package 1# see git-dpm(1) from git-dpm package
2b139635512b1af75e82252c0c71ac66e08b78774 29c88f6248e9da14cb7916527862f2eac7f55b12a
3b139635512b1af75e82252c0c71ac66e08b78774 39c88f6248e9da14cb7916527862f2eac7f55b12a
4a8ed8d256b2e2c05b0c15565a7938028c5192277 4a8ed8d256b2e2c05b0c15565a7938028c5192277
5a8ed8d256b2e2c05b0c15565a7938028c5192277 5a8ed8d256b2e2c05b0c15565a7938028c5192277
6openssh_7.3p1.orig.tar.gz 6openssh_7.3p1.orig.tar.gz
diff --git a/debian/changelog b/debian/changelog
index 34e51a7c6..2ba15c11f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,7 @@ openssh (1:7.3p1-4) UNRELEASED; urgency=medium
8 dgit-compatible. 8 dgit-compatible.
9 * Build all upstream regression test binaries using the new 9 * Build all upstream regression test binaries using the new
10 "regress-binaries" target. 10 "regress-binaries" target.
11 * Fix and enable PuTTY interoperability tests under autopkgtest.
11 12
12 -- Colin Watson <cjwatson@debian.org> Fri, 11 Nov 2016 02:50:39 +0000 13 -- Colin Watson <cjwatson@debian.org> Fri, 11 Nov 2016 02:50:39 +0000
13 14
diff --git a/debian/patches/fix-putty-interop-tests.patch b/debian/patches/fix-putty-interop-tests.patch
new file mode 100644
index 000000000..c33c24acc
--- /dev/null
+++ b/debian/patches/fix-putty-interop-tests.patch
@@ -0,0 +1,113 @@
1From 9c88f6248e9da14cb7916527862f2eac7f55b12a Mon Sep 17 00:00:00 2001
2From: Colin Watson <cjwatson@debian.org>
3Date: Sat, 19 Nov 2016 16:02:49 +0000
4Subject: Fix PuTTY interop tests
5
6A while back I got a patch into PuTTY (although it hasn't yet made it
7into an upstream release) to add passphrase-file options to puttygen.
8Use these to make the PuTTY interop tests non-interactive.
9
10Fix up a few details of the saved session.
11
12When plink is given a saved session name, it expects that *instead* of
13the host name (or IP address), not in addition to it. Drop "127.0.0.1"
14from the various plink test command lines.
15
16(It is possible that the last two of these represent compatibility
17breaks of some kind; but if they are, then that ship sailed sufficiently
18long ago - at least seven years, possibly more - that it's no longer
19worth worrying about it. It's more useful to test interoperability with
20current versions.)
21
22Origin: https://bugzilla.mindrot.org/attachment.cgi?id=2891
23Bug: https://bugzilla.mindrot.org/show_bug.cgi?id=2639
24Last-Update: 2016-11-19
25
26Patch-Name: fix-putty-interop-tests.patch
27---
28 regress/putty-ciphers.sh | 2 +-
29 regress/putty-kex.sh | 3 +--
30 regress/putty-transfer.sh | 4 ++--
31 regress/test-exec.sh | 10 ++++++++--
32 4 files changed, 12 insertions(+), 7 deletions(-)
33
34diff --git a/regress/putty-ciphers.sh b/regress/putty-ciphers.sh
35index 724a98c..3775b1d 100644
36--- a/regress/putty-ciphers.sh
37+++ b/regress/putty-ciphers.sh
38@@ -16,7 +16,7 @@ for c in aes blowfish 3des arcfour aes128-ctr aes192-ctr aes256-ctr ; do
39
40 rm -f ${COPY}
41 env HOME=$PWD ${PLINK} -load cipher_$c -batch -i putty.rsa2 \
42- 127.0.0.1 cat ${DATA} > ${COPY}
43+ cat ${DATA} > ${COPY}
44 if [ $? -ne 0 ]; then
45 fail "ssh cat $DATA failed"
46 fi
47diff --git a/regress/putty-kex.sh b/regress/putty-kex.sh
48index 1844d65..6ae2290 100644
49--- a/regress/putty-kex.sh
50+++ b/regress/putty-kex.sh
51@@ -14,8 +14,7 @@ for k in dh-gex-sha1 dh-group1-sha1 dh-group14-sha1 ; do
52 ${OBJ}/.putty/sessions/kex_$k
53 echo "KEX=$k" >> ${OBJ}/.putty/sessions/kex_$k
54
55- env HOME=$PWD ${PLINK} -load kex_$k -batch -i putty.rsa2 \
56- 127.0.0.1 true
57+ env HOME=$PWD ${PLINK} -load kex_$k -batch -i putty.rsa2 true
58 if [ $? -ne 0 ]; then
59 fail "KEX $k failed"
60 fi
61diff --git a/regress/putty-transfer.sh b/regress/putty-transfer.sh
62index aec0e04..cb1da94 100644
63--- a/regress/putty-transfer.sh
64+++ b/regress/putty-transfer.sh
65@@ -17,7 +17,7 @@ for p in 2; do
66 ${OBJ}/.putty/sessions/compression_$c
67 echo "Compression=$c" >> ${OBJ}/.putty/sessions/kex_$k
68 env HOME=$PWD ${PLINK} -load compression_$c -batch \
69- -i putty.rsa$p 127.0.0.1 cat ${DATA} > ${COPY}
70+ -i putty.rsa$p cat ${DATA} > ${COPY}
71 if [ $? -ne 0 ]; then
72 fail "ssh cat $DATA failed"
73 fi
74@@ -28,7 +28,7 @@ for p in 2; do
75 rm -f ${COPY}
76 dd if=$DATA obs=${s} 2> /dev/null | \
77 env HOME=$PWD ${PLINK} -load compression_$c \
78- -batch -i putty.rsa$p 127.0.0.1 \
79+ -batch -i putty.rsa$p \
80 "cat > ${COPY}"
81 if [ $? -ne 0 ]; then
82 fail "ssh cat $DATA failed"
83diff --git a/regress/test-exec.sh b/regress/test-exec.sh
84index 1b6526d..74b365c 100644
85--- a/regress/test-exec.sh
86+++ b/regress/test-exec.sh
87@@ -513,7 +513,11 @@ if test "$REGRESS_INTEROP_PUTTY" = "yes" ; then
88
89 # Add a PuTTY key to authorized_keys
90 rm -f ${OBJ}/putty.rsa2
91- puttygen -t rsa -o ${OBJ}/putty.rsa2 < /dev/null > /dev/null
92+ if ! puttygen -t rsa -o ${OBJ}/putty.rsa2 \
93+ --new-passphrase /dev/null < /dev/null > /dev/null; then
94+ echo "Your installed version of PuTTY is too old to support --new-passphrase; trying without (may require manual interaction) ..." >&2
95+ puttygen -t rsa -o ${OBJ}/putty.rsa2 < /dev/null > /dev/null
96+ fi
97 puttygen -O public-openssh ${OBJ}/putty.rsa2 \
98 >> $OBJ/authorized_keys_$USER
99
100@@ -526,10 +530,12 @@ if test "$REGRESS_INTEROP_PUTTY" = "yes" ; then
101 # Setup proxied session
102 mkdir -p ${OBJ}/.putty/sessions
103 rm -f ${OBJ}/.putty/sessions/localhost_proxy
104- echo "Hostname=127.0.0.1" >> ${OBJ}/.putty/sessions/localhost_proxy
105+ echo "Protocol=ssh" >> ${OBJ}/.putty/sessions/localhost_proxy
106+ echo "HostName=127.0.0.1" >> ${OBJ}/.putty/sessions/localhost_proxy
107 echo "PortNumber=$PORT" >> ${OBJ}/.putty/sessions/localhost_proxy
108 echo "ProxyMethod=5" >> ${OBJ}/.putty/sessions/localhost_proxy
109 echo "ProxyTelnetCommand=sh ${SRC}/sshd-log-wrapper.sh ${TEST_SSHD_LOGFILE} ${SSHD} -i -f $OBJ/sshd_proxy" >> ${OBJ}/.putty/sessions/localhost_proxy
110+ echo "ProxyLocalhost=1" >> ${OBJ}/.putty/sessions/localhost_proxy
111
112 REGRESS_INTEROP_PUTTY=yes
113 fi
diff --git a/debian/patches/series b/debian/patches/series
index a968a036d..8dfd83f16 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -26,3 +26,4 @@ sigstop.patch
26systemd-readiness.patch 26systemd-readiness.patch
27debian-config.patch 27debian-config.patch
28unregister-kexinit.patch 28unregister-kexinit.patch
29fix-putty-interop-tests.patch
diff --git a/debian/tests/control b/debian/tests/control
index ab5122f46..5a54be563 100644
--- a/debian/tests/control
+++ b/debian/tests/control
@@ -1,3 +1,3 @@
1Tests: regress 1Tests: regress
2Restrictions: needs-root allow-stderr 2Restrictions: needs-root allow-stderr
3Depends: @builddeps@, openssh-client, openssh-server, openssh-sftp-server, sudo, python-twisted-conch (>= 1:15.5.0-1) 3Depends: @builddeps@, openssh-client, openssh-server, openssh-sftp-server, sudo, putty-tools (>= 0.67-2), python-twisted-conch (>= 1:15.5.0-1)
diff --git a/debian/tests/regress b/debian/tests/regress
index 4cd90175b..253541ad5 100644
--- a/debian/tests/regress
+++ b/debian/tests/regress
@@ -30,6 +30,8 @@ make -C regress \
30 SUDO=sudo \ 30 SUDO=sudo \
31 TEST_SHELL=sh \ 31 TEST_SHELL=sh \
32 TEST_SSH_SFTPSERVER=/usr/lib/openssh/sftp-server \ 32 TEST_SSH_SFTPSERVER=/usr/lib/openssh/sftp-server \
33 TEST_SSH_PLINK=plink \
34 TEST_SSH_PUTTYGEN=puttygen \
33 TEST_SSH_CONCH=conch \ 35 TEST_SSH_CONCH=conch \
34 TEST_SSH_IPV6=yes \ 36 TEST_SSH_IPV6=yes \
35 TEST_SSH_ECC=yes \ 37 TEST_SSH_ECC=yes \
diff --git a/regress/putty-ciphers.sh b/regress/putty-ciphers.sh
index 724a98cc1..3775b1d80 100644
--- a/regress/putty-ciphers.sh
+++ b/regress/putty-ciphers.sh
@@ -16,7 +16,7 @@ for c in aes blowfish 3des arcfour aes128-ctr aes192-ctr aes256-ctr ; do
16 16
17 rm -f ${COPY} 17 rm -f ${COPY}
18 env HOME=$PWD ${PLINK} -load cipher_$c -batch -i putty.rsa2 \ 18 env HOME=$PWD ${PLINK} -load cipher_$c -batch -i putty.rsa2 \
19 127.0.0.1 cat ${DATA} > ${COPY} 19 cat ${DATA} > ${COPY}
20 if [ $? -ne 0 ]; then 20 if [ $? -ne 0 ]; then
21 fail "ssh cat $DATA failed" 21 fail "ssh cat $DATA failed"
22 fi 22 fi
diff --git a/regress/putty-kex.sh b/regress/putty-kex.sh
index 1844d6599..6ae229005 100644
--- a/regress/putty-kex.sh
+++ b/regress/putty-kex.sh
@@ -14,8 +14,7 @@ for k in dh-gex-sha1 dh-group1-sha1 dh-group14-sha1 ; do
14 ${OBJ}/.putty/sessions/kex_$k 14 ${OBJ}/.putty/sessions/kex_$k
15 echo "KEX=$k" >> ${OBJ}/.putty/sessions/kex_$k 15 echo "KEX=$k" >> ${OBJ}/.putty/sessions/kex_$k
16 16
17 env HOME=$PWD ${PLINK} -load kex_$k -batch -i putty.rsa2 \ 17 env HOME=$PWD ${PLINK} -load kex_$k -batch -i putty.rsa2 true
18 127.0.0.1 true
19 if [ $? -ne 0 ]; then 18 if [ $? -ne 0 ]; then
20 fail "KEX $k failed" 19 fail "KEX $k failed"
21 fi 20 fi
diff --git a/regress/putty-transfer.sh b/regress/putty-transfer.sh
index aec0e04ee..cb1da94fa 100644
--- a/regress/putty-transfer.sh
+++ b/regress/putty-transfer.sh
@@ -17,7 +17,7 @@ for p in 2; do
17 ${OBJ}/.putty/sessions/compression_$c 17 ${OBJ}/.putty/sessions/compression_$c
18 echo "Compression=$c" >> ${OBJ}/.putty/sessions/kex_$k 18 echo "Compression=$c" >> ${OBJ}/.putty/sessions/kex_$k
19 env HOME=$PWD ${PLINK} -load compression_$c -batch \ 19 env HOME=$PWD ${PLINK} -load compression_$c -batch \
20 -i putty.rsa$p 127.0.0.1 cat ${DATA} > ${COPY} 20 -i putty.rsa$p cat ${DATA} > ${COPY}
21 if [ $? -ne 0 ]; then 21 if [ $? -ne 0 ]; then
22 fail "ssh cat $DATA failed" 22 fail "ssh cat $DATA failed"
23 fi 23 fi
@@ -28,7 +28,7 @@ for p in 2; do
28 rm -f ${COPY} 28 rm -f ${COPY}
29 dd if=$DATA obs=${s} 2> /dev/null | \ 29 dd if=$DATA obs=${s} 2> /dev/null | \
30 env HOME=$PWD ${PLINK} -load compression_$c \ 30 env HOME=$PWD ${PLINK} -load compression_$c \
31 -batch -i putty.rsa$p 127.0.0.1 \ 31 -batch -i putty.rsa$p \
32 "cat > ${COPY}" 32 "cat > ${COPY}"
33 if [ $? -ne 0 ]; then 33 if [ $? -ne 0 ]; then
34 fail "ssh cat $DATA failed" 34 fail "ssh cat $DATA failed"
diff --git a/regress/test-exec.sh b/regress/test-exec.sh
index 1b6526d0b..74b365cac 100644
--- a/regress/test-exec.sh
+++ b/regress/test-exec.sh
@@ -513,7 +513,11 @@ if test "$REGRESS_INTEROP_PUTTY" = "yes" ; then
513 513
514 # Add a PuTTY key to authorized_keys 514 # Add a PuTTY key to authorized_keys
515 rm -f ${OBJ}/putty.rsa2 515 rm -f ${OBJ}/putty.rsa2
516 puttygen -t rsa -o ${OBJ}/putty.rsa2 < /dev/null > /dev/null 516 if ! puttygen -t rsa -o ${OBJ}/putty.rsa2 \
517 --new-passphrase /dev/null < /dev/null > /dev/null; then
518 echo "Your installed version of PuTTY is too old to support --new-passphrase; trying without (may require manual interaction) ..." >&2
519 puttygen -t rsa -o ${OBJ}/putty.rsa2 < /dev/null > /dev/null
520 fi
517 puttygen -O public-openssh ${OBJ}/putty.rsa2 \ 521 puttygen -O public-openssh ${OBJ}/putty.rsa2 \
518 >> $OBJ/authorized_keys_$USER 522 >> $OBJ/authorized_keys_$USER
519 523
@@ -526,10 +530,12 @@ if test "$REGRESS_INTEROP_PUTTY" = "yes" ; then
526 # Setup proxied session 530 # Setup proxied session
527 mkdir -p ${OBJ}/.putty/sessions 531 mkdir -p ${OBJ}/.putty/sessions
528 rm -f ${OBJ}/.putty/sessions/localhost_proxy 532 rm -f ${OBJ}/.putty/sessions/localhost_proxy
529 echo "Hostname=127.0.0.1" >> ${OBJ}/.putty/sessions/localhost_proxy 533 echo "Protocol=ssh" >> ${OBJ}/.putty/sessions/localhost_proxy
534 echo "HostName=127.0.0.1" >> ${OBJ}/.putty/sessions/localhost_proxy
530 echo "PortNumber=$PORT" >> ${OBJ}/.putty/sessions/localhost_proxy 535 echo "PortNumber=$PORT" >> ${OBJ}/.putty/sessions/localhost_proxy
531 echo "ProxyMethod=5" >> ${OBJ}/.putty/sessions/localhost_proxy 536 echo "ProxyMethod=5" >> ${OBJ}/.putty/sessions/localhost_proxy
532 echo "ProxyTelnetCommand=sh ${SRC}/sshd-log-wrapper.sh ${TEST_SSHD_LOGFILE} ${SSHD} -i -f $OBJ/sshd_proxy" >> ${OBJ}/.putty/sessions/localhost_proxy 537 echo "ProxyTelnetCommand=sh ${SRC}/sshd-log-wrapper.sh ${TEST_SSHD_LOGFILE} ${SSHD} -i -f $OBJ/sshd_proxy" >> ${OBJ}/.putty/sessions/localhost_proxy
538 echo "ProxyLocalhost=1" >> ${OBJ}/.putty/sessions/localhost_proxy
533 539
534 REGRESS_INTEROP_PUTTY=yes 540 REGRESS_INTEROP_PUTTY=yes
535fi 541fi