upstream: Add test for username options parsing order, prompted by

bz#2849.

OpenBSD-Regress-ID: 6985cd32f38596882a3ac172ff8c510693b65283
This commit is contained in:
dtucker@openbsd.org 2018-04-06 04:18:35 +00:00 committed by Damien Miller
parent e8f474554e
commit 323f66ce93

View File

@ -1,4 +1,4 @@
# $OpenBSD: sshcfgparse.sh,v 1.2 2016/07/14 01:24:21 dtucker Exp $
# $OpenBSD: sshcfgparse.sh,v 1.3 2018/04/06 04:18:35 dtucker Exp $
# Placed in the Public Domain.
tid="ssh config parse"
@ -25,5 +25,16 @@ f=`${SSH} -GF $OBJ/ssh_config -W a:1 -o clearallforwardings=no h | \
awk '/clearallforwardings/{print $2}'`
test "$f" = "no" || fail "clearallforwardings override"
verbose "user first match"
user=`awk '$1=="User" {print $2}' $OBJ/ssh_config`
f=`${SSH} -GF $OBJ/ssh_config host | awk '/^user /{print $2}'`
test "$f" = "$user" || fail "user from config, expected '$user' got '$f'"
f=`${SSH} -GF $OBJ/ssh_config -o user=foo -l bar baz@host | awk '/^user /{print $2}'`
test "$f" = "foo" || fail "user first match -oUser, expected 'foo' got '$f' "
f=`${SSH} -GF $OBJ/ssh_config -lbar baz@host user=foo baz@host | awk '/^user /{print $2}'`
test "$f" = "bar" || fail "user first match -l, expected 'bar' got '$f'"
f=`${SSH} -GF $OBJ/ssh_config baz@host -o user=foo -l bar baz@host | awk '/^user /{print $2}'`
test "$f" = "baz" || fail "user first match user@host, expected 'baz' got '$f'"
# cleanup
rm -f $OBJ/ssh_config.[012]