[openssh-commits] [openssh] 01/03: upstream: Drop -q in ssh-log-wrapper.sh to preserve logs.

git+noreply at mindrot.org git+noreply at mindrot.org
Sun Aug 8 17:41:22 AEST 2021


This is an automated email from the git hooks/post-receive script.

dtucker pushed a commit to branch master
in repository openssh.

commit f0aca2706c710a0da1a4be705f825a807cd15400
Author: dtucker at openbsd.org <dtucker at openbsd.org>
Date:   Sun Aug 8 06:38:33 2021 +0000

    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
---
 regress/banner.sh    |  6 ++++--
 regress/test-exec.sh | 13 +++++++++----
 2 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/regress/banner.sh b/regress/banner.sh
index 0d9654fe..a84feb5a 100644
--- a/regress/banner.sh
+++ b/regress/banner.sh
@@ -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)"
 
diff --git a/regress/test-exec.sh b/regress/test-exec.sh
index 706c532b..67136ab6 100644
--- a/regress/test-exec.sh
+++ b/regress/test-exec.sh
@@ -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"

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list