summaryrefslogtreecommitdiff
path: root/regress/usr.bin/ssh
diff options
context:
space:
mode:
authorDarren Tucker <dtucker@cvs.openbsd.org>2018-04-06 04:18:36 +0000
committerDarren Tucker <dtucker@cvs.openbsd.org>2018-04-06 04:18:36 +0000
commit57939215e458a4d0d3148abd293aabeaf893c4b2 (patch)
tree559822655ba9a40cfca8fef2169571f7d2b22129 /regress/usr.bin/ssh
parente0d2f7a89c67f9edbf66160c793e5a3a598b19cd (diff)
Add test for username options parsing order, prompted by bz#2849.
Diffstat (limited to 'regress/usr.bin/ssh')
-rw-r--r--regress/usr.bin/ssh/sshcfgparse.sh13
1 files changed, 12 insertions, 1 deletions
diff --git a/regress/usr.bin/ssh/sshcfgparse.sh b/regress/usr.bin/ssh/sshcfgparse.sh
index 010e028656c..26d4a6f3cb7 100644
--- a/regress/usr.bin/ssh/sshcfgparse.sh
+++ b/regress/usr.bin/ssh/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]