On Fri, 24 Jan 2014, Hisashi T Fujinaka wrote: > I changed that one and also the one in atomiciov6 and I'm still getting > hangs. Actually, what I did was change one, got hangs, changed both, got > hangs. There are previous errors that might be part of it, like the > errors in malloc? I'm sure Damien's seen those, though. You'll probably need this patch too, to make sure you are testing the right scp - our regress tests were incorrectly testing the system one rather than the one that was just built: commit b0e0f760b861676a3fe5c40133b270713d5321a9 Author: Damien Miller <djm at mindrot.org> Date: Fri Jan 24 14:27:04 2014 +1100 - (djm) [Makefile.in regress/scp-ssh-wrapper.sh regress/scp.sh] Make the scp regress test actually test the built scp rather than the one in $PATH. ok dtucker@ diff --git a/ChangeLog b/ChangeLog index e352892..d928479 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +20130124 + - (djm) [Makefile.in regress/scp-ssh-wrapper.sh regress/scp.sh] Make + the scp regress test actually test the built scp rather than the one + in $PATH. ok dtucker@ + 20130123 - (tim) [session.c] Improve error reporting on set_id(). - (dtucker) [configure.ac] NetBSD's (and FreeBSD's) strnvis is gratuitously diff --git a/Makefile.in b/Makefile.in index f5dd3b8..e3dfab2 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,4 +1,4 @@ -# $Id: Makefile.in,v 1.350 2014/01/17 05:47:04 djm Exp $ +# $Id: Makefile.in,v 1.351 2014/01/24 03:27:04 djm Exp $ # uncomment if you run a non bourne compatable shell. Ie. csh #SHELL = @SH@ @@ -411,6 +411,7 @@ regress/setuid-allowed$(EXEEXT): $(srcdir)/regress/setuid-allowed.c tests interop-tests: $(TARGETS) regress/modpipe$(EXEEXT) BUILDDIR=`pwd`; \ TEST_SHELL="@TEST_SHELL@"; \ + TEST_SSH_SCP="$${BUILDDIR}/scp"; \ TEST_SSH_SSH="$${BUILDDIR}/ssh"; \ TEST_SSH_SSHD="$${BUILDDIR}/sshd"; \ TEST_SSH_SSHAGENT="$${BUILDDIR}/ssh-agent"; \ @@ -434,6 +435,7 @@ tests interop-tests: $(TARGETS) regress/modpipe$(EXEEXT) PATH="$${BUILDDIR}:$${PATH}" \ TEST_ENV=MALLOC_OPTIONS="@TEST_MALLOC_OPTIONS@" \ TEST_SHELL="$${TEST_SHELL}" \ + TEST_SSH_SCP="$${TEST_SSH_SCP}" \ TEST_SSH_SSH="$${TEST_SSH_SSH}" \ TEST_SSH_SSHD="$${TEST_SSH_SSHD}" \ TEST_SSH_SSHAGENT="$${TEST_SSH_SSHAGENT}" \ diff --git a/regress/scp-ssh-wrapper.sh b/regress/scp-ssh-wrapper.sh index d1005a9..c63bc2b 100644 --- a/regress/scp-ssh-wrapper.sh +++ b/regress/scp-ssh-wrapper.sh @@ -17,7 +17,7 @@ printname () { } # Discard all but last argument. We use arg later. -while test "$1" != ""; do +while test "x$1" != "x"; do arg="$1" shift done @@ -52,6 +52,8 @@ badserver_4) echo "X" ;; *) - exec $arg + set -- $arg + shift + exec $SCP "$@" ;; esac diff --git a/regress/scp.sh b/regress/scp.sh index 29c5b35..c2da2a8 100644 --- a/regress/scp.sh +++ b/regress/scp.sh @@ -20,6 +20,7 @@ SRC=`dirname ${SCRIPT}` cp ${SRC}/scp-ssh-wrapper.sh ${OBJ}/scp-ssh-wrapper.scp chmod 755 ${OBJ}/scp-ssh-wrapper.scp scpopts="-q -S ${OBJ}/scp-ssh-wrapper.scp" +export SCP # used in scp-ssh-wrapper.scp scpclean() { rm -rf ${COPY} ${COPY2} ${DIR} ${DIR2}