summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2017-09-26 16:55:55 +1000
committerDamien Miller <djm@mindrot.org>2017-09-26 16:55:55 +1000
commit1b9f321605733754df60fac8c1d3283c89b74455 (patch)
tree39eea239baf5aa956c60e6b52a733e1d27772372
parent44fc334c7a9ebdd08addb6d5fa005369897fddeb (diff)
sync missing changes in dynamic-forward.sh
-rw-r--r--regress/dynamic-forward.sh71
1 files changed, 35 insertions, 36 deletions
diff --git a/regress/dynamic-forward.sh b/regress/dynamic-forward.sh
index 2e2115f8..2c176b69 100644
--- a/regress/dynamic-forward.sh
+++ b/regress/dynamic-forward.sh
@@ -17,43 +17,42 @@ trace "will use ProxyCommand $proxycmd"
start_sshd
-for p in ${SSH_PROTOCOLS}; do
- n=0
- error="1"
- trace "start dynamic forwarding, fork to background"
- while [ "$error" -ne 0 -a "$n" -lt 3 ]; do
- n=`expr $n + 1`
- ${SSH} -$p -F $OBJ/ssh_config -f -D $FWDPORT -q \
- -oExitOnForwardFailure=yes somehost exec sh -c \
- \'"echo \$\$ > $OBJ/remote_pid; exec sleep 444"\'
- error=$?
- if [ "$error" -ne 0 ]; then
- trace "forward failed proto $p attempt $n err $error"
- sleep $n
- fi
- done
+n=0
+error="1"
+trace "start dynamic forwarding, fork to background"
+while [ "$error" -ne 0 -a "$n" -lt 3 ]; do
+ n=`expr $n + 1`
+ ${SSH} -F $OBJ/ssh_config -f -D $FWDPORT -q \
+ -oExitOnForwardFailure=yes somehost exec sh -c \
+ \'"echo \$\$ > $OBJ/remote_pid; exec sleep 444"\'
+ error=$?
if [ "$error" -ne 0 ]; then
- fatal "failed to start dynamic forwarding proto $p"
+ trace "forward failed attempt $n err $error"
+ sleep $n
fi
+done
+if [ "$error" -ne 0 ]; then
+ fatal "failed to start dynamic forwarding"
+fi
- for s in 4 5; do
- for h in 127.0.0.1 localhost; do
- trace "testing ssh protocol $p socks version $s host $h"
- ${SSH} -F $OBJ/ssh_config \
- -o "ProxyCommand ${proxycmd}${s} $h $PORT" \
- somehost cat $DATA > $OBJ/ls.copy
- test -f $OBJ/ls.copy || fail "failed copy $DATA"
- cmp $DATA $OBJ/ls.copy || fail "corrupted copy of $DATA"
- done
- done
-
- if [ -f $OBJ/remote_pid ]; then
- remote=`cat $OBJ/remote_pid`
- trace "terminate remote shell, pid $remote"
- if [ $remote -gt 1 ]; then
- kill -HUP $remote
- fi
- else
- fail "no pid file: $OBJ/remote_pid"
- fi
+for s in 4 5; do
+ for h in 127.0.0.1 localhost; do
+ trace "testing ssh socks version $s host $h"
+ ${SSH} -F $OBJ/ssh_config \
+ -o "ProxyCommand ${proxycmd}${s} $h $PORT" \
+ somehost cat ${DATA} > ${COPY}
+ test -f ${COPY} || fail "failed copy ${DATA}"
+ cmp ${DATA} ${COPY} || fail "corrupted copy of ${DATA}"
+ done
done
+
+if [ -f $OBJ/remote_pid ]; then
+ remote=`cat $OBJ/remote_pid`
+ trace "terminate remote shell, pid $remote"
+ if [ $remote -gt 1 ]; then
+ kill -HUP $remote
+ fi
+else
+ fail "no pid file: $OBJ/remote_pid"
+fi
+