Initial import from FreeBSD RELENG_4:
[dragonfly.git] / crypto / openssh / regress / forwarding.sh
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