]> andersk Git - openssh.git/blobdiff - regress/forwarding.sh
- stevesk@cvs.openbsd.org 2009/07/05 19:28:33
[openssh.git] / regress / forwarding.sh
index dfe065dd65f1be6e3cec216e70757650caf1b9ef..9ffbb3dd4712f67fb5f7fd580cb6f4c8c95eb009 100644 (file)
@@ -1,4 +1,4 @@
-#      $OpenBSD: forwarding.sh,v 1.4 2002/03/15 13:08:56 markus Exp $
+#      $OpenBSD: forwarding.sh,v 1.6 2006/07/11 18:51:21 markus Exp $
 #      Placed in the Public Domain.
 
 tid="local and remote forwarding"
@@ -32,3 +32,64 @@ for p in 1 2; do
 
        sleep 10
 done
+
+for p in 1 2; do
+for d in L R; do
+       trace "exit on -$d forward failure, proto $p"
+
+       # this one should succeed
+       ${SSH} -$p -F $OBJ/ssh_config \
+           -$d ${base}01:127.0.0.1:$PORT \
+           -$d ${base}02:127.0.0.1:$PORT \
+           -$d ${base}03:127.0.0.1:$PORT \
+           -$d ${base}04:127.0.0.1:$PORT \
+           -oExitOnForwardFailure=yes somehost true
+       if [ $? != 0 ]; then
+               fail "connection failed, should not"
+       else
+               # this one should fail
+               ${SSH} -q -$p -F $OBJ/ssh_config \
+                   -$d ${base}01:127.0.0.1:$PORT \
+                   -$d ${base}02:127.0.0.1:$PORT \
+                   -$d ${base}03:127.0.0.1:$PORT \
+                   -$d ${base}01:127.0.0.1:$PORT \
+                   -$d ${base}04:127.0.0.1:$PORT \
+                   -oExitOnForwardFailure=yes somehost true
+               r=$?
+               if [ $r != 255 ]; then
+                       fail "connection not termintated, but should ($r)"
+               fi
+       fi
+done
+done
+
+for p in 1 2; do
+       trace "simple clear forwarding proto $p"
+       ${SSH} -$p -F $OBJ/ssh_config -oClearAllForwardings=yes somehost true
+
+       trace "clear local forward proto $p"
+       ${SSH} -$p -f -F $OBJ/ssh_config -L ${base}01:127.0.0.1:$PORT \
+           -oClearAllForwardings=yes somehost sleep 10
+       if [ $? != 0 ]; then
+               fail "connection failed with cleared local forwarding"
+       else
+               # this one should fail
+               ${SSH} -$p -F $OBJ/ssh_config -p ${base}01 true \
+                    2>${TEST_SSH_LOGFILE} && \
+                       fail "local forwarding not cleared"
+       fi
+       sleep 10
+       
+       trace "clear remote forward proto $p"
+       ${SSH} -$p -f -F $OBJ/ssh_config -R ${base}01:127.0.0.1:$PORT \
+           -oClearAllForwardings=yes somehost sleep 10
+       if [ $? != 0 ]; then
+               fail "connection failed with cleared remote forwarding"
+       else
+               # this one should fail
+               ${SSH} -$p -F $OBJ/ssh_config -p ${base}01 true \
+                    2>${TEST_SSH_LOGFILE} && \
+                       fail "remote forwarding not cleared"
+       fi
+       sleep 10
+done
This page took 0.034616 seconds and 4 git commands to generate.