]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: Invoke ProxyCommand that uses stderr redirection via
authordtucker@openbsd.org <dtucker@openbsd.org>
Fri, 8 Mar 2024 11:34:10 +0000 (11:34 +0000)
committerDarren Tucker <dtucker@dtucker.net>
Fri, 8 Mar 2024 12:12:10 +0000 (23:12 +1100)
$TEST_SHELL. Fixes test when run by a user whose login shell is tcsh.
Found by vinschen at redhat.com.

OpenBSD-Regress-ID: f68d79e7f00caa8d216ebe00ee5f0adbb944062a

regress/dynamic-forward.sh
regress/test-exec.sh

index 5a4aa6d8e9f7078648d88a2f742c29e0bf44b9a1..85901eaa6340fec311565240f438c532b2ad9b7f 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: dynamic-forward.sh,v 1.15 2023/01/06 08:50:33 dtucker Exp $
+#      $OpenBSD: dynamic-forward.sh,v 1.17 2024/03/08 11:34:10 dtucker Exp $
 #      Placed in the Public Domain.
 
 tid="dynamic forwarding"
@@ -20,6 +20,7 @@ start_ssh() {
        arg="$2"
        n=0
        error="1"
+       # Use a multiplexed ssh so we can control its lifecycle.
        trace "start dynamic -$direction forwarding, fork to background"
        (cat $OBJ/ssh_config.orig ; echo "$arg") > $OBJ/ssh_config
        ${REAL_SSH} -vvvnNfF $OBJ/ssh_config -E$TEST_SSH_LOGFILE \
@@ -56,9 +57,9 @@ check_socks() {
        for s in 4 5; do
            for h in 127.0.0.1 localhost; do
                trace "testing ssh socks version $s host $h (-$direction)"
-               ${REAL_SSH} -q -F $OBJ/ssh_config \
-                       -o "ProxyCommand ${proxycmd}${s} $h $PORT 2>/dev/null" \
-                       somehost cat ${DATA} > ${COPY}
+               ${REAL_SSH} -q -F $OBJ/ssh_config -o \
+                  "ProxyCommand ${TEST_SHELL} -c '${proxycmd}${s} $h $PORT 2>/dev/null'" \
+                  somehost cat ${DATA} > ${COPY}
                r=$?
                if [ "x$expect_success" = "xY" ] ; then
                        if [ $r -ne 0 ] ; then
index 5ab4cb5d5f5e642d6185bc82575ae9a1534b4ecf..ad627941f4d2bf12e71a08dc8264f6d90db28959 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: test-exec.sh,v 1.107 2024/02/19 09:25:52 dtucker Exp $
+#      $OpenBSD: test-exec.sh,v 1.108 2024/03/08 11:34:10 dtucker Exp $
 #      Placed in the Public Domain.
 
 #SUDO=sudo
@@ -104,6 +104,9 @@ DBCLIENT=/usr/local/bin/dbclient
 DROPBEARKEY=/usr/local/bin/dropbearkey
 DROPBEARCONVERT=/usr/local/bin/dropbearconvert
 
+# So we can override this in Portable.
+TEST_SHELL="${TEST_SHELL:-/bin/sh}"
+
 # Tools used by multiple tests
 NC=$OBJ/netcat
 # Always use the one configure tells us to, even if that's empty.