- (djm) [regress/multiplex.sh] Not all netcat accept the -N option.
This commit is contained in:
parent
0e4e95566c
commit
c8f610f6cc
|
@ -8,6 +8,7 @@
|
||||||
of the streamlocal patches by William Ahern from:
|
of the streamlocal patches by William Ahern from:
|
||||||
http://www.25thandclement.com/~william/projects/streamlocal.html
|
http://www.25thandclement.com/~william/projects/streamlocal.html
|
||||||
OK djm@ markus@
|
OK djm@ markus@
|
||||||
|
- (djm) [regress/multiplex.sh] Not all netcat accept the -N option.
|
||||||
|
|
||||||
20140721
|
20140721
|
||||||
- (dtucker) [cipher.c openbsd-compat/openssl-compat.h] Restore the bits
|
- (dtucker) [cipher.c openbsd-compat/openssl-compat.h] Restore the bits
|
||||||
|
|
|
@ -5,6 +5,18 @@ CTL=/tmp/openssh.regress.ctl-sock.$$
|
||||||
|
|
||||||
tid="connection multiplexing"
|
tid="connection multiplexing"
|
||||||
|
|
||||||
|
if have_prog nc ; then
|
||||||
|
if nc -h 2>&1 | grep -- -N >/dev/null; then
|
||||||
|
NC="nc -N";
|
||||||
|
else
|
||||||
|
NC="nc"
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "skipped (no nc found)"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
trace "will use ProxyCommand $proxycmd"
|
||||||
if config_defined DISABLE_FD_PASSING ; then
|
if config_defined DISABLE_FD_PASSING ; then
|
||||||
echo "skipped (not supported on this platform)"
|
echo "skipped (not supported on this platform)"
|
||||||
exit 0
|
exit 0
|
||||||
|
@ -27,7 +39,7 @@ start_sshd
|
||||||
start_mux_master()
|
start_mux_master()
|
||||||
{
|
{
|
||||||
trace "start master, fork to background"
|
trace "start master, fork to background"
|
||||||
${SSH} -Nn2 -MS$CTL -F $OBJ/ssh_config -oSendEnv="_XXX_TEST" somehost \
|
${SSH} -n2 -MS$CTL -F $OBJ/ssh_config -oSendEnv="_XXX_TEST" somehost \
|
||||||
-E $TEST_REGRESS_LOGFILE 2>&1 &
|
-E $TEST_REGRESS_LOGFILE 2>&1 &
|
||||||
# NB. $SSH_PID will be killed by test-exec.sh:cleanup on fatal errors.
|
# NB. $SSH_PID will be killed by test-exec.sh:cleanup on fatal errors.
|
||||||
SSH_PID=$!
|
SSH_PID=$!
|
||||||
|
@ -74,20 +86,20 @@ cmp ${DATA} ${COPY} || fail "scp: corrupted copy of ${DATA}"
|
||||||
rm -f ${COPY}
|
rm -f ${COPY}
|
||||||
verbose "test $tid: forward"
|
verbose "test $tid: forward"
|
||||||
trace "forward over TCP/IP and check result"
|
trace "forward over TCP/IP and check result"
|
||||||
nc -N -l 127.0.0.1 $((${PORT} + 1)) < ${DATA} &
|
$NC -l 127.0.0.1 $((${PORT} + 1)) < ${DATA} &
|
||||||
netcat_pid=$!
|
netcat_pid=$!
|
||||||
${SSH} -F $OBJ/ssh_config -S $CTL -Oforward -L127.0.0.1:$((${PORT} + 2)):127.0.0.1:$((${PORT} + 1)) otherhost >>$TEST_SSH_LOGFILE 2>&1
|
${SSH} -F $OBJ/ssh_config -S $CTL -Oforward -L127.0.0.1:$((${PORT} + 2)):127.0.0.1:$((${PORT} + 1)) otherhost >>$TEST_SSH_LOGFILE 2>&1
|
||||||
nc 127.0.0.1 $((${PORT} + 2)) > ${COPY}
|
$NC 127.0.0.1 $((${PORT} + 2)) > ${COPY}
|
||||||
cmp ${DATA} ${COPY} || fail "ssh: corrupted copy of ${DATA}"
|
cmp ${DATA} ${COPY} || fail "ssh: corrupted copy of ${DATA}"
|
||||||
kill $netcat_pid 2>/dev/null
|
kill $netcat_pid 2>/dev/null
|
||||||
rm -f ${COPY} $OBJ/unix-[123].fwd
|
rm -f ${COPY} $OBJ/unix-[123].fwd
|
||||||
|
|
||||||
trace "forward over UNIX and check result"
|
trace "forward over UNIX and check result"
|
||||||
nc -N -Ul $OBJ/unix-1.fwd < ${DATA} &
|
$NC -Ul $OBJ/unix-1.fwd < ${DATA} &
|
||||||
netcat_pid=$!
|
netcat_pid=$!
|
||||||
${SSH} -F $OBJ/ssh_config -S $CTL -Oforward -L$OBJ/unix-2.fwd:$OBJ/unix-1.fwd otherhost >>$TEST_SSH_LOGFILE 2>&1
|
${SSH} -F $OBJ/ssh_config -S $CTL -Oforward -L$OBJ/unix-2.fwd:$OBJ/unix-1.fwd otherhost >>$TEST_SSH_LOGFILE 2>&1
|
||||||
${SSH} -F $OBJ/ssh_config -S $CTL -Oforward -R$OBJ/unix-3.fwd:$OBJ/unix-2.fwd otherhost >>$TEST_SSH_LOGFILE 2>&1
|
${SSH} -F $OBJ/ssh_config -S $CTL -Oforward -R$OBJ/unix-3.fwd:$OBJ/unix-2.fwd otherhost >>$TEST_SSH_LOGFILE 2>&1
|
||||||
nc -U $OBJ/unix-3.fwd > ${COPY}
|
$NC -U $OBJ/unix-3.fwd > ${COPY}
|
||||||
cmp ${DATA} ${COPY} || fail "ssh: corrupted copy of ${DATA}"
|
cmp ${DATA} ${COPY} || fail "ssh: corrupted copy of ${DATA}"
|
||||||
kill $netcat_pid 2>/dev/null
|
kill $netcat_pid 2>/dev/null
|
||||||
rm -f ${COPY} $OBJ/unix-[123].fwd
|
rm -f ${COPY} $OBJ/unix-[123].fwd
|
||||||
|
@ -138,22 +150,22 @@ ${SSH} -F $OBJ/ssh_config -p$P otherhost true \
|
||||||
verbose "test $tid: cmd forward local (UNIX)"
|
verbose "test $tid: cmd forward local (UNIX)"
|
||||||
${SSH} -F $OBJ/ssh_config -S $CTL -Oforward -L $OBJ/unix-1.fwd:localhost:$PORT otherhost \
|
${SSH} -F $OBJ/ssh_config -S $CTL -Oforward -L $OBJ/unix-1.fwd:localhost:$PORT otherhost \
|
||||||
|| fail "request local forward failed"
|
|| fail "request local forward failed"
|
||||||
echo "" | nc -U $OBJ/unix-1.fwd | grep "Protocol mismatch" >/dev/null 2>&1 \
|
echo "" | $NC -U $OBJ/unix-1.fwd | grep "Protocol mismatch" >/dev/null 2>&1 \
|
||||||
|| fail "connect to local forward path failed"
|
|| fail "connect to local forward path failed"
|
||||||
${SSH} -F $OBJ/ssh_config -S $CTL -Ocancel -L $OBJ/unix-1.fwd:localhost:$PORT otherhost \
|
${SSH} -F $OBJ/ssh_config -S $CTL -Ocancel -L $OBJ/unix-1.fwd:localhost:$PORT otherhost \
|
||||||
|| fail "cancel local forward failed"
|
|| fail "cancel local forward failed"
|
||||||
N=$(echo "" | nc -U $OBJ/unix-1.fwd 2>&1 | wc -l)
|
N=$(echo "" | $NC -U $OBJ/unix-1.fwd 2>&1 | wc -l)
|
||||||
test ${N} -eq 0 || fail "local forward path still listening"
|
test ${N} -eq 0 || fail "local forward path still listening"
|
||||||
rm -f $OBJ/unix-1.fwd
|
rm -f $OBJ/unix-1.fwd
|
||||||
|
|
||||||
verbose "test $tid: cmd forward remote (UNIX)"
|
verbose "test $tid: cmd forward remote (UNIX)"
|
||||||
${SSH} -F $OBJ/ssh_config -S $CTL -Oforward -R $OBJ/unix-1.fwd:localhost:$PORT otherhost \
|
${SSH} -F $OBJ/ssh_config -S $CTL -Oforward -R $OBJ/unix-1.fwd:localhost:$PORT otherhost \
|
||||||
|| fail "request remote forward failed"
|
|| fail "request remote forward failed"
|
||||||
echo "" | nc -U $OBJ/unix-1.fwd | grep "Protocol mismatch" >/dev/null 2>&1 \
|
echo "" | $NC -U $OBJ/unix-1.fwd | grep "Protocol mismatch" >/dev/null 2>&1 \
|
||||||
|| fail "connect to remote forwarded path failed"
|
|| fail "connect to remote forwarded path failed"
|
||||||
${SSH} -F $OBJ/ssh_config -S $CTL -Ocancel -R $OBJ/unix-1.fwd:localhost:$PORT otherhost \
|
${SSH} -F $OBJ/ssh_config -S $CTL -Ocancel -R $OBJ/unix-1.fwd:localhost:$PORT otherhost \
|
||||||
|| fail "cancel remote forward failed"
|
|| fail "cancel remote forward failed"
|
||||||
N=$(echo "" | nc -U $OBJ/unix-1.fwd 2>&1 | wc -l)
|
N=$(echo "" | $NC -U $OBJ/unix-1.fwd 2>&1 | wc -l)
|
||||||
test ${N} -eq 0 || fail "remote forward path still listening"
|
test ${N} -eq 0 || fail "remote forward path still listening"
|
||||||
rm -f $OBJ/unix-1.fwd
|
rm -f $OBJ/unix-1.fwd
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue