summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordtucker@openbsd.org <dtucker@openbsd.org>2018-04-06 06:18:35 +0200
committerDamien Miller <djm@mindrot.org>2018-04-06 06:19:51 +0200
commit323f66ce934df2da551f256f37d69822428e1ca1 (patch)
tree548564e8414c380b8b9feef5b02b3ad45a19c06c
parentExpose SSH_AUTH_INFO_0 to PAM auth modules (diff)
downloadopenssh-323f66ce934df2da551f256f37d69822428e1ca1.tar.xz
openssh-323f66ce934df2da551f256f37d69822428e1ca1.zip
upstream: Add test for username options parsing order, prompted by
bz#2849. OpenBSD-Regress-ID: 6985cd32f38596882a3ac172ff8c510693b65283
-rw-r--r--regress/sshcfgparse.sh13
1 files changed, 12 insertions, 1 deletions
diff --git a/regress/sshcfgparse.sh b/regress/sshcfgparse.sh
index 010e02865..26d4a6f3c 100644
--- a/regress/sshcfgparse.sh
+++ b/regress/sshcfgparse.sh
@@ -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]