Hi Darren, Darren Tucker <dtucker@xxxxxxxxxxx> writes: > What's the problem on OS X? On macOS Catalina (10.15.6) it seems that multiplex.sh is failing. (Configured to use homebrew's openssl 1.1.1g) mdb@mdb-mbp$make tests LTESTS=multiplex ./install-sh -c -d `pwd`/regress/unittests/test_helper ./install-sh -c -d `pwd`/regress/unittests/sshbuf ./install-sh -c -d `pwd`/regress/unittests/sshkey ./install-sh -c -d `pwd`/regress/unittests/sshsig ./install-sh -c -d `pwd`/regress/unittests/bitmap ./install-sh -c -d `pwd`/regress/unittests/conversion ./install-sh -c -d `pwd`/regress/unittests/hostkeys ./install-sh -c -d `pwd`/regress/unittests/kex ./install-sh -c -d `pwd`/regress/unittests/match ./install-sh -c -d `pwd`/regress/unittests/utf8 ./install-sh -c -d `pwd`/regress/misc/kexfuzz ./install-sh -c -d `pwd`/regress/misc/sk-dummy [ -f `pwd`/regress/Makefile ] || \ ln -s `cd . && pwd`/regress/Makefile `pwd`/regress/Makefile (cd openbsd-compat && /Library/Developer/CommandLineTools/usr/bin/make) make[1]: Nothing to be done for `all'. BUILDDIR=`pwd`; \ cd ./regress || exit $?; \ EGREP='/usr/bin/grep -E' \ /Library/Developer/CommandLineTools/usr/bin/make \ .OBJDIR="${BUILDDIR}/regress" \ .CURDIR="`pwd`" \ BUILDDIR="${BUILDDIR}" \ OBJ="${BUILDDIR}/regress/" \ PATH="${BUILDDIR}:${PATH}" \ TEST_ENV=MALLOC_OPTIONS="" \ TEST_MALLOC_OPTIONS="" \ TEST_SSH_SCP="${BUILDDIR}/scp" \ TEST_SSH_SSH="${BUILDDIR}/ssh" \ TEST_SSH_SSHD="${BUILDDIR}/sshd" \ TEST_SSH_SSHAGENT="${BUILDDIR}/ssh-agent" \ TEST_SSH_SSHADD="${BUILDDIR}/ssh-add" \ TEST_SSH_SSHKEYGEN="${BUILDDIR}/ssh-keygen" \ TEST_SSH_SSHPKCS11HELPER="${BUILDDIR}/ssh-pkcs11-helper" \ TEST_SSH_SSHKEYSCAN="${BUILDDIR}/ssh-keyscan" \ TEST_SSH_SFTP="${BUILDDIR}/sftp" \ TEST_SSH_PKCS11_HELPER="${BUILDDIR}/ssh-pkcs11-helper" \ TEST_SSH_SK_HELPER="${BUILDDIR}/ssh-sk-helper" \ TEST_SSH_SFTPSERVER="${BUILDDIR}/sftp-server" \ TEST_SSH_PLINK="plink" \ TEST_SSH_PUTTYGEN="puttygen" \ TEST_SSH_CONCH="conch" \ TEST_SSH_IPV6="yes" \ TEST_SSH_UTF8="yes" \ TEST_SSH_ECC="yes" \ TEST_SHELL="sh" \ EXEEXT="" \ file-tests && echo all file-tests passed /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -if /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/rsa_ssh2.prv | diff - /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/rsa_openssh.prv tr '\n' '\r' </Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/rsa_ssh2.prv > /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/rsa_ssh2_cr.prv /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -if /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/rsa_ssh2_cr.prv | diff - /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/rsa_openssh.prv awk '{print $0 "\r"}' /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/rsa_ssh2.prv > /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/rsa_ssh2_crnl.prv /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -if /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/rsa_ssh2_crnl.prv | diff - /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/rsa_openssh.prv cat /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/rsa_openssh.prv > /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t2.out chmod 600 /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t2.out /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -yf /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t2.out | diff - /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/rsa_openssh.pub /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -ef /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/rsa_openssh.pub >/Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t3.out /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -if /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t3.out | diff - /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/rsa_openssh.pub /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -E md5 -lf /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/rsa_openssh.pub |\ awk '{print $2}' | diff - /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/t4.ok /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -Bf /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/rsa_openssh.pub |\ awk '{print $2}' | diff - /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/t5.ok /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -if /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/dsa_ssh2.prv > /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t6.out1 /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -if /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/dsa_ssh2.pub > /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t6.out2 chmod 600 /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t6.out1 /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -yf /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t6.out1 | diff - /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t6.out2 /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -lf /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t7.out > /dev/null /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -Bf /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t7.out > /dev/null /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -lf /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t8.out > /dev/null /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -Bf /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t8.out > /dev/null test "yes" != yes || \ /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -lf /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t9.out > /dev/null test "yes" != yes || \ /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -Bf /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t9.out > /dev/null /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -lf /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t10.out > /dev/null /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -Bf /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t10.out > /dev/null /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -E sha256 -lf /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/rsa_openssh.pub |\ awk '{print $2}' | diff - /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/t11.ok /Users/mdb/Work/openssh-versions/openssh-git/openssh/ssh-keygen -lf /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress//t12.out.pub | grep test-comment-1234 >/dev/null all file-tests passed BUILDDIR=`pwd`; \ cd ./regress || exit $?; \ EGREP='/usr/bin/grep -E' \ /Library/Developer/CommandLineTools/usr/bin/make \ .OBJDIR="${BUILDDIR}/regress" \ .CURDIR="`pwd`" \ BUILDDIR="${BUILDDIR}" \ OBJ="${BUILDDIR}/regress/" \ PATH="${BUILDDIR}:${PATH}" \ TEST_ENV=MALLOC_OPTIONS="" \ TEST_MALLOC_OPTIONS="" \ TEST_SSH_SCP="${BUILDDIR}/scp" \ TEST_SSH_SSH="${BUILDDIR}/ssh" \ TEST_SSH_SSHD="${BUILDDIR}/sshd" \ TEST_SSH_SSHAGENT="${BUILDDIR}/ssh-agent" \ TEST_SSH_SSHADD="${BUILDDIR}/ssh-add" \ TEST_SSH_SSHKEYGEN="${BUILDDIR}/ssh-keygen" \ TEST_SSH_SSHPKCS11HELPER="${BUILDDIR}/ssh-pkcs11-helper" \ TEST_SSH_SSHKEYSCAN="${BUILDDIR}/ssh-keyscan" \ TEST_SSH_SFTP="${BUILDDIR}/sftp" \ TEST_SSH_PKCS11_HELPER="${BUILDDIR}/ssh-pkcs11-helper" \ TEST_SSH_SK_HELPER="${BUILDDIR}/ssh-sk-helper" \ TEST_SSH_SFTPSERVER="${BUILDDIR}/sftp-server" \ TEST_SSH_PLINK="plink" \ TEST_SSH_PUTTYGEN="puttygen" \ TEST_SSH_CONCH="conch" \ TEST_SSH_IPV6="yes" \ TEST_SSH_UTF8="yes" \ TEST_SSH_ECC="yes" \ TEST_SHELL="sh" \ EXEEXT="" \ t-exec && echo all t-exec passed run test multiplex.sh ... test connection multiplexing: envpass test connection multiplexing: transfer test connection multiplexing: forward cmp: EOF on /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/copy ssh: corrupted copy of /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/data /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/multiplex.sh: line 86: 58948 Terminated: 15 $NC -N -l 127.0.0.1 $((${PORT} + 1)) < ${DATA} > /dev/null test connection multiplexing: status 0 () test connection multiplexing: status 0 (-Oproxy) test connection multiplexing: status 1 () test connection multiplexing: status 1 (-Oproxy) test connection multiplexing: status 4 () test connection multiplexing: status 4 (-Oproxy) test connection multiplexing: status 5 () test connection multiplexing: status 5 (-Oproxy) test connection multiplexing: status 44 () test connection multiplexing: status 44 (-Oproxy) test connection multiplexing: cmd check test connection multiplexing: cmd forward local (TCP) test connection multiplexing: cmd forward remote (TCP) test connection multiplexing: cmd forward local (UNIX) test connection multiplexing: cmd forward remote (UNIX) test connection multiplexing: cmd exit test connection multiplexing: cmd stop failed connection multiplexing make[1]: *** [t-exec] Error 1 make: *** [t-exec] Error 2 mdb@mdb-mbp$ ls regress/failed* regress/failed-regress.log regress/failed-sshd.log regress/failed-ssh.log mdb@mdb-mbp$ for fail in regress/failed*; do echo "=== $fail start ==="; cat $fail; echo "=== $fail end ==="; done === regress/failed-regress.log start === trace: forward over TCP/IP and check result debug1: multiplexing control connection debug3: fd 6 is O_NONBLOCK debug3: fd 6 is O_NONBLOCK debug1: channel 1: new [mux-control] debug3: channel_post_mux_listener: new mux channel 1 fd 6 debug3: mux_master_read_cb: channel 1: hello sent debug3: mux_master_read_cb: channel 1 packet type 0x00000001 len 4 debug2: mux_master_process_hello: channel 1 client version 4 debug3: mux_master_read_cb: channel 1 packet type 0x10000006 len 42 debug2: mux_master_process_open_fwd: channel 1: request local forward 127.0.0.1:4244 -> 127.0.0.1:4243 debug3: channel_setup_fwd_listener_tcpip: type 2 wildcard 0 addr 127.0.0.1 debug1: Local forwarding listening on 127.0.0.1 port 4244. bind [127.0.0.1]:4244: Address already in use channel_setup_fwd_listener_tcpip: cannot listen to port: 4244 mux_master_process_open_fwd: requested local forward 127.0.0.1:4244 -> 127.0.0.1:4243 failed debug2: channel 1: ctl read<=0 rfd 6 len 0 debug2: channel 1: read failed debug2: channel 1: chan_shutdown_read (i0 o0 sock 6 wfd 6 efd -1 [closed]) debug2: channel 1: input open -> drain debug2: channel 1: ibuf empty debug2: channel 1: input drain -> closed debug2: channel 1: rcvd close debug2: channel 1: output open -> drain debug2: channel 1: obuf empty debug2: channel 1: chan_shutdown_write (i3 o1 sock 6 wfd 6 efd -1 [closed]) debug2: channel 1: chan_shutdown_write: shutdown() failed for fd 6 [i3 o1]: Socket is not connected debug2: channel 1: output drain -> closed debug2: channel 1: is dead (local) debug2: channel 1: gc: notify user debug3: mux_master_control_cleanup_cb: entering for channel 1 debug2: channel 1: gc: user detached debug2: channel 1: is dead (local) debug2: channel 1: garbage collecting debug1: channel 1: free: mux-control, nchannels 2 debug3: channel 1: status: The following connections are open: #1 mux-control (t16 nr0 i3/0 o3/0 e[closed]/0 fd 6/6/-1 sock 6 cc -1) FAIL: ssh: corrupted copy of /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/data === regress/failed-regress.log end === === regress/failed-ssh.log start === trace: forward over TCP/IP and check result debug2: fd 4 setting O_NONBLOCK debug2: mux_client_hello_exchange: master version 4 debug3: mux_client_forwards: request forwardings: 1 local, 0 remote debug1: Requesting forwarding of local forward 127.0.0.1:4244 -> 127.0.0.1:4243 mux_client_forward: forwarding request failed: Port forwarding failed muxclient: master forward request failed FAIL: ssh: corrupted copy of /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/data === regress/failed-ssh.log end === === regress/failed-sshd.log start === trace: forward over TCP/IP and check result FAIL: ssh: corrupted copy of /Users/mdb/Work/openssh-versions/openssh-git/openssh/regress/data === regress/failed-sshd.log end === mdb@mdb-mbp$ _______________________________________________ openssh-unix-dev mailing list openssh-unix-dev@xxxxxxxxxxx https://lists.mindrot.org/mailman/listinfo/openssh-unix-dev