diff options
Diffstat (limited to 'regress/forwarding.sh')
-rw-r--r-- | regress/forwarding.sh | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/regress/forwarding.sh b/regress/forwarding.sh new file mode 100644 index 000000000..7b281c013 --- /dev/null +++ b/regress/forwarding.sh | |||
@@ -0,0 +1,33 @@ | |||
1 | # $OpenBSD: forwarding.sh,v 1.4 2002/03/15 13:08:56 markus Exp $ | ||
2 | # Placed in the Public Domain. | ||
3 | |||
4 | tid="local and remote forwarding" | ||
5 | |||
6 | start_sshd | ||
7 | |||
8 | base=33 | ||
9 | last=$PORT | ||
10 | fwd="" | ||
11 | for j in 0 1 2; do | ||
12 | for i in 0 1 2; do | ||
13 | a=$base$j$i | ||
14 | b=`expr $a + 50` | ||
15 | c=$last | ||
16 | # fwd chain: $a -> $b -> $c | ||
17 | fwd="$fwd -L$a:127.0.0.1:$b -R$b:127.0.0.1:$c" | ||
18 | last=$a | ||
19 | done | ||
20 | done | ||
21 | for p in 1 2; do | ||
22 | q=`expr 3 - $p` | ||
23 | trace "start forwarding, fork to background" | ||
24 | ${SSH} -$p -F $OBJ/ssh_config -f $fwd somehost sleep 10 | ||
25 | |||
26 | trace "transfer over forwarded channels and check result" | ||
27 | ${SSH} -$q -F $OBJ/ssh_config -p$last -o 'ConnectionAttempts=4' \ | ||
28 | somehost cat /bin/ls > $OBJ/ls.copy | ||
29 | test -f $OBJ/ls.copy || fail "failed copy /bin/ls" | ||
30 | cmp /bin/ls $OBJ/ls.copy || fail "corrupted copy of /bin/ls" | ||
31 | |||
32 | sleep 10 | ||
33 | done | ||