[openssh-commits] [openssh] 03/04: upstream: exercise new expansion behaviour of

git+noreply at mindrot.org git+noreply at mindrot.org
Wed Jul 4 23:53:03 AEST 2018


This is an automated email from the git hooks/post-receive script.

djm pushed a commit to branch master
in repository openssh.

commit 89f54cdf6b9cf1cf5528fd33897f1443913ddfb4
Author: djm at openbsd.org <djm at openbsd.org>
Date:   Wed Jul 4 13:51:12 2018 +0000

    upstream: exercise new expansion behaviour of
    
    PubkeyAcceptedKeyTypes and, by proxy, test kex_assemble_names()
    
    ok markus@
    
    OpenBSD-Regress-ID: 292978902e14d5729aa87e492dd166c842f72736
---
 regress/sshcfgparse.sh | 51 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 50 insertions(+), 1 deletion(-)

diff --git a/regress/sshcfgparse.sh b/regress/sshcfgparse.sh
index 26d4a6f3..e0ce568d 100644
--- a/regress/sshcfgparse.sh
+++ b/regress/sshcfgparse.sh
@@ -1,8 +1,27 @@
-#	$OpenBSD: sshcfgparse.sh,v 1.3 2018/04/06 04:18:35 dtucker Exp $
+#	$OpenBSD: sshcfgparse.sh,v 1.4 2018/07/04 13:51:12 djm Exp $
 #	Placed in the Public Domain.
 
 tid="ssh config parse"
 
+expect_result_present() {
+	_str="$1" ; shift
+	for _expect in "$@" ; do
+		echo "$f" | tr ',' '\n' | grep "^$_expect\$" >/dev/null
+		if test $? -ne 0 ; then
+			fail "missing expected \"$_expect\" from \"$_str\""
+		fi
+	done
+}
+expect_result_absent() {
+	_str="$1" ; shift
+	for _expect in "$@" ; do
+		echo "$f" | tr ',' '\n' | grep "^$_expect\$" >/dev/null
+		if test $? -eq 0 ; then
+			fail "unexpected \"$_expect\" present in \"$_str\""
+		fi
+	done
+}
+
 verbose "reparse minimal config"
 (${SSH} -G -F $OBJ/ssh_config somehost >$OBJ/ssh_config.1 &&
  ${SSH} -G -F $OBJ/ssh_config.1 somehost >$OBJ/ssh_config.2 &&
@@ -36,5 +55,35 @@ test "$f" = "bar" || fail "user first match -l, expected 'bar' got '$f'"
 f=`${SSH} -GF $OBJ/ssh_config baz at host -o user=foo -l bar baz at host | awk '/^user /{print $2}'`
 test "$f" = "baz" || fail "user first match user at host, expected 'baz' got '$f'"
 
+verbose "pubkeyacceptedkeytypes"
+# Default set
+f=`${SSH} -GF none host | awk '/^pubkeyacceptedkeytypes /{print $2}'`
+expect_result_present "$f" "ssh-ed25519" "ssh-ed25519-cert-v01.*"
+expect_result_absent "$f" "ssh-dss"
+# Explicit override
+f=`${SSH} -GF none -opubkeyacceptedkeytypes=ssh-ed25519 host | \
+    awk '/^pubkeyacceptedkeytypes /{print $2}'`
+expect_result_present "$f" "ssh-ed25519"
+expect_result_absent "$f" "ssh-ed25519-cert-v01.*" "ssh-dss"
+# Removal from default set
+f=`${SSH} -GF none -opubkeyacceptedkeytypes=-ssh-ed25519-cert* host | \
+    awk '/^pubkeyacceptedkeytypes /{print $2}'`
+expect_result_present "$f" "ssh-ed25519"
+expect_result_absent "$f" "ssh-ed25519-cert-v01.*" "ssh-dss"
+f=`${SSH} -GF none -opubkeyacceptedkeytypes=-ssh-ed25519 host | \
+    awk '/^pubkeyacceptedkeytypes /{print $2}'`
+expect_result_present "$f" "ssh-ed25519-cert-v01.*"
+expect_result_absent "$f" "ssh-ed25519" "ssh-dss"
+# Append to default set.
+# XXX this will break for !WITH_OPENSSL
+f=`${SSH} -GF none -opubkeyacceptedkeytypes=+ssh-dss-cert* host | \
+    awk '/^pubkeyacceptedkeytypes /{print $2}'`
+expect_result_present "$f" "ssh-ed25519" "ssh-dss-cert-v01.*"
+expect_result_absent "$f" "ssh-dss"
+f=`${SSH} -GF none -opubkeyacceptedkeytypes=+ssh-dss host | \
+    awk '/^pubkeyacceptedkeytypes /{print $2}'`
+expect_result_present "$f" "ssh-ed25519" "ssh-ed25519-cert-v01.*" "ssh-dss"
+expect_result_absent "$f" "ssh-dss-cert-v01.*"
+
 # cleanup
 rm -f $OBJ/ssh_config.[012]

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list