;;
## These options are interesting to the master connection.
- m,[aADLlRSwxXv]*)
+ m,[aADLlRSwxXv46]*)
masteropts=("${masteropts[@]}" "-${o:0:1}$arg")
;;
## 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
m)
mkdir -p -m700 "$SSH_LOGDIR"
logfile=$SSH_LOGDIR/${login+"$login@"}"$host"${port+":$port"}.log
- if ! "$REAL_SSH" -Ocheck ${login+"$login@"}"$host" >/dev/null 2>&1; then
+ if ! "$REAL_SSH" -Ocheck \
+ ${port+-p$port} ${login+"$login@"}"$host" \
+ >/dev/null 2>&1
+ then
"$REAL_SSH" -MNf "${masteropts[@]}" "$host" \
</dev/null >/dev/null 2>$logfile
fi