X-Git-Url: https://git.distorted.org.uk/~mdw/profile/blobdiff_plain/cfed2fe167f44ce0093bfd4c68d871483119cba8..1fa6633f79598f828619cf4678af2f0c1787a110:/hacks/ssh diff --git a/hacks/ssh b/hacks/ssh index 18f39ac..cbec247 100755 --- a/hacks/ssh +++ b/hacks/ssh @@ -123,7 +123,7 @@ while :; do ;; ## These options are interesting to the master connection. - m,[aADLlRSwxXv]*) + m,[aADLlRSwxXv46]*) masteropts=("${masteropts[@]}" "-${o:0:1}$arg") ;; @@ -146,7 +146,7 @@ while :; do ## A bare word. Maybe it's the hostname, or the start of the command. *) - case ${host-t} in + case ${host-t}${host+nil} in t) host=$1 ;; *) break ;; esac @@ -175,7 +175,8 @@ case "$mode" in logfile=$SSH_LOGDIR/${login+"$login@"}"$host"${port+":$port"}.log if ! "$REAL_SSH" -Ocheck \ ${port+-p$port} ${login+"$login@"}"$host" \ - >/dev/null 2>&1; then + >/dev/null 2>&1 + then "$REAL_SSH" -MNf "${masteropts[@]}" "$host" \ /dev/null 2>$logfile fi