]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: Factor out PuTTY setup.
authordtucker@openbsd.org <dtucker@openbsd.org>
Fri, 9 Feb 2024 08:47:42 +0000 (08:47 +0000)
committerDarren Tucker <dtucker@dtucker.net>
Mon, 19 Feb 2024 07:48:26 +0000 (18:48 +1100)
Factor out PuTTY and call only when needed.

This allows us to avoid PuTTY key setup when it's not needed, which
speeds up the overall test run by a couple of percent.

OpenBSD-Regress-ID: c25eaccc3c91bc874400f7c85ce40e9032358c1c

regress/test-exec.sh

index 089ef73c4ebbcd4b71ba54ed124a69facb7818a0..4576930caf4227fa75c1be09a80e80277bd3ba4b 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: test-exec.sh,v 1.105 2023/10/31 04:15:40 dtucker Exp $
+#      $OpenBSD: test-exec.sh,v 1.106 2024/02/09 08:47:42 dtucker Exp $
 #      Placed in the Public Domain.
 
 #SUDO=sudo
@@ -762,6 +762,11 @@ case "$SCRIPT" in
 esac
 
 if test "$REGRESS_INTEROP_PUTTY" = "yes" ; then
+    puttysetup() {
+       if test "x$REGRESS_INTEROP_PUTTY" != "xyes" ; then
+               skip "putty interop tests not enabled"
+       fi
+
        mkdir -p ${OBJ}/.putty
 
        # Add a PuTTY key to authorized_keys
@@ -794,8 +799,24 @@ if test "$REGRESS_INTEROP_PUTTY" = "yes" ; then
        echo "ProxyTelnetCommand=${OBJ}/sshd-log-wrapper.sh -i -f $OBJ/sshd_proxy" >> ${OBJ}/.putty/sessions/localhost_proxy
        echo "ProxyLocalhost=1" >> ${OBJ}/.putty/sessions/localhost_proxy
 
+       PUTTYVER="`${PLINK} --version | awk '/plink: Release/{print $3}'`"
+       PUTTYMINORVER="`echo ${PUTTYVER} | cut -f2 -d.`"
+       verbose "plink version ${PUTTYVER} minor ${PUTTYMINORVER}"
+
+       # Re-enable ssh-rsa on older PuTTY versions since they don't do newer
+       # key types.
+       if [ "$PUTTYMINORVER" -lt "76" ]; then
+               echo "HostKeyAlgorithms +ssh-rsa" >> ${OBJ}/sshd_proxy
+               echo "PubkeyAcceptedKeyTypes +ssh-rsa" >> ${OBJ}/sshd_proxy
+       fi
+
+       if [ "$PUTTYMINORVER" -le "64" ]; then
+               echo "KexAlgorithms +diffie-hellman-group14-sha1" \
+                   >>${OBJ}/sshd_proxy
+       fi
        PUTTYDIR=${OBJ}/.putty
        export PUTTYDIR
+    }
 fi
 
 REGRESS_INTEROP_DROPBEAR=no