[dynamic-forward.sh]
     Prevent races in dynamic forwarding test; ok djm
This commit is contained in:
Damien Miller 2011-05-20 19:08:11 +10:00
parent 3045b45a03
commit 7b9451f382
2 changed files with 23 additions and 3 deletions

View File

@ -38,6 +38,9 @@
[cert-hostkey.sh]
another attempt to generate a v00 ECDSA key that broke the test
ID sync only - portable already had this somehow
- dtucker@cvs.openbsd.org 2011/05/20 05:19:50
[dynamic-forward.sh]
Prevent races in dynamic forwarding test; ok djm
20110515
- (djm) OpenBSD CVS Sync

View File

@ -1,4 +1,4 @@
# $OpenBSD: dynamic-forward.sh,v 1.4 2004/06/22 22:55:56 dtucker Exp $
# $OpenBSD: dynamic-forward.sh,v 1.5 2011/05/20 05:19:50 dtucker Exp $
# Placed in the Public Domain.
tid="dynamic forwarding"
@ -21,8 +21,21 @@ start_sshd
for p in 1 2; do
trace "start dynamic forwarding, fork to background"
${SSH} -$p -F $OBJ/ssh_config -f -D $FWDPORT -q somehost \
exec sh -c \'"echo \$\$ > $OBJ/remote_pid; exec sleep 444"\'
rm -f $OBJ/remote_pid
${SSH} -$p -F $OBJ/ssh_config -D $FWDPORT -q somehost \
exec sh -c \'"echo \$\$ > $OBJ/remote_pid; exec sleep 444"\' &
client_pid=$!
# Wait for ssh to start
n=0
while test ! -f $OBJ/remote_pid; do
sleep 1
n=`expr $n + 1`
if test $n > 60; then
kill $client_pid
fail "Timed out waiting for client to connect"
fi
done
for s in 4 5; do
for h in 127.0.0.1 localhost; do
@ -41,10 +54,14 @@ for p in 1 2; do
if [ $remote -gt 1 ]; then
kill -HUP $remote
fi
rm -f $OBJ/remote_pid
else
fail "no pid file: $OBJ/remote_pid"
fi
# Wait for listening ssh to terminate
wait
# Must allow time for connection tear-down
sleep 2
done