upstream: Drop -q in ssh-log-wrapper.sh to preserve logs.

scp and sftp like to add -q to the command line passed to ssh which
overrides the LogLevel we set in the config files and suppresses output
to the debug logs so drop any "-q" from the invoked ssh.  In the one
case where we actually want to use -q in the banner test, call the ssh
binary directly bypassing the logging wrapper.

OpenBSD-Regress-ID: e2c97d3c964bda33a751374c56f65cdb29755b75
This commit is contained in:
dtucker@openbsd.org 2021-08-08 06:38:33 +00:00 committed by Darren Tucker
parent cf27810a64
commit f0aca2706c
2 changed files with 13 additions and 6 deletions

View File

@ -1,4 +1,4 @@
# $OpenBSD: banner.sh,v 1.3 2017/04/30 23:34:55 djm Exp $
# $OpenBSD: banner.sh,v 1.4 2021/08/08 06:38:33 dtucker Exp $
# Placed in the Public Domain.
tid="banner"
@ -37,7 +37,9 @@ done
trace "test suppress banner (-q)"
verbose "test $tid: suppress banner (-q)"
( ${SSH} -q -F $OBJ/ssh_proxy otherhost true 2>$OBJ/banner.out && \
# ssh-log-wrapper drops "-q" to preserve debug output so use ssh directly
# for just this test.
( ${REAL_SSH} -q -F $OBJ/ssh_proxy otherhost true 2>$OBJ/banner.out && \
cmp $OBJ/empty.in $OBJ/banner.out ) || \
fail "suppress banner (-q)"

View File

@ -1,4 +1,4 @@
# $OpenBSD: test-exec.sh,v 1.82 2021/06/10 09:37:59 dtucker Exp $
# $OpenBSD: test-exec.sh,v 1.84 2021/08/08 06:38:33 dtucker Exp $
# Placed in the Public Domain.
#SUDO=sudo
@ -254,10 +254,15 @@ fi
>$TEST_REGRESS_LOGFILE
# Create wrapper ssh with logging. We can't just specify "SSH=ssh -E..."
# because sftp and scp don't handle spaces in arguments.
# because sftp and scp don't handle spaces in arguments. scp and sftp like
# to use -q so we remove those to preserve our debug logging. In the rare
# instance where -q is desirable -qq is equivalent and is not removed.
SSHLOGWRAP=$OBJ/ssh-log-wrapper.sh
echo "#!/bin/sh" > $SSHLOGWRAP
echo "exec ${SSH} -E${TEST_SSH_LOGFILE} "'"$@"' >>$SSHLOGWRAP
cat >$SSHLOGWRAP <<EOD
#!/bin/sh
for i; do shift; case "\$i" in -q) :;; *) set -- "\$@" "\$i";; esac; done
exec ${SSH} -E${TEST_SSH_LOGFILE} "\$@"
EOD
chmod a+rx $OBJ/ssh-log-wrapper.sh
REAL_SSH="$SSH"