blob: dfe065dd65f1be6e3cec216e70757650caf1b9ef [file] [log] [blame]
Damien Miller38cd4352002-05-01 13:17:33 +10001# $OpenBSD: forwarding.sh,v 1.4 2002/03/15 13:08:56 markus Exp $
2# Placed in the Public Domain.
3
4tid="local and remote forwarding"
Darren Tuckerd199b6d2003-09-07 09:28:03 +10005DATA=/bin/ls${EXEEXT}
Damien Miller38cd4352002-05-01 13:17:33 +10006
7start_sshd
8
9base=33
10last=$PORT
11fwd=""
12for j in 0 1 2; do
13 for i in 0 1 2; do
14 a=$base$j$i
15 b=`expr $a + 50`
16 c=$last
17 # fwd chain: $a -> $b -> $c
18 fwd="$fwd -L$a:127.0.0.1:$b -R$b:127.0.0.1:$c"
19 last=$a
20 done
21done
22for p in 1 2; do
23 q=`expr 3 - $p`
24 trace "start forwarding, fork to background"
25 ${SSH} -$p -F $OBJ/ssh_config -f $fwd somehost sleep 10
26
27 trace "transfer over forwarded channels and check result"
28 ${SSH} -$q -F $OBJ/ssh_config -p$last -o 'ConnectionAttempts=4' \
Darren Tuckerd199b6d2003-09-07 09:28:03 +100029 somehost cat $DATA > $OBJ/ls.copy
30 test -f $OBJ/ls.copy || fail "failed copy $DATA"
31 cmp $DATA $OBJ/ls.copy || fail "corrupted copy of $DATA"
Damien Miller38cd4352002-05-01 13:17:33 +100032
33 sleep 10
34done