diff options
author | Colin Watson <cjwatson@debian.org> | 2016-11-19 16:02:49 +0000 |
---|---|---|
committer | Colin Watson <cjwatson@debian.org> | 2016-11-19 16:03:10 +0000 |
commit | 9c88f6248e9da14cb7916527862f2eac7f55b12a (patch) | |
tree | 7fe22ed8b89bcfafbbc22173026e8e4eaba2aa33 | |
parent | b139635512b1af75e82252c0c71ac66e08b78774 (diff) |
Fix PuTTY interop tests
A while back I got a patch into PuTTY (although it hasn't yet made it
into an upstream release) to add passphrase-file options to puttygen.
Use these to make the PuTTY interop tests non-interactive.
Fix up a few details of the saved session.
When plink is given a saved session name, it expects that *instead* of
the host name (or IP address), not in addition to it. Drop "127.0.0.1"
from the various plink test command lines.
(It is possible that the last two of these represent compatibility
breaks of some kind; but if they are, then that ship sailed sufficiently
long ago - at least seven years, possibly more - that it's no longer
worth worrying about it. It's more useful to test interoperability with
current versions.)
Origin: https://bugzilla.mindrot.org/attachment.cgi?id=2891
Bug: https://bugzilla.mindrot.org/show_bug.cgi?id=2639
Last-Update: 2016-11-19
Patch-Name: fix-putty-interop-tests.patch
-rw-r--r-- | regress/putty-ciphers.sh | 2 | ||||
-rw-r--r-- | regress/putty-kex.sh | 3 | ||||
-rw-r--r-- | regress/putty-transfer.sh | 4 | ||||
-rw-r--r-- | regress/test-exec.sh | 10 |
4 files changed, 12 insertions, 7 deletions
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 |
535 | fi | 541 | fi |