mirror of
git://anongit.mindrot.org/openssh.git
synced 2025-02-27 19:31:11 +00:00
upstream: exercise new expansion behaviour of
PubkeyAcceptedKeyTypes and, by proxy, test kex_assemble_names() ok markus@ OpenBSD-Regress-ID: 292978902e14d5729aa87e492dd166c842f72736
This commit is contained in:
parent
187633f24c
commit
89f54cdf6b
@ -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.
|
# Placed in the Public Domain.
|
||||||
|
|
||||||
tid="ssh config parse"
|
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"
|
verbose "reparse minimal config"
|
||||||
(${SSH} -G -F $OBJ/ssh_config somehost >$OBJ/ssh_config.1 &&
|
(${SSH} -G -F $OBJ/ssh_config somehost >$OBJ/ssh_config.1 &&
|
||||||
${SSH} -G -F $OBJ/ssh_config.1 somehost >$OBJ/ssh_config.2 &&
|
${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@host -o user=foo -l bar baz@host | awk '/^user /{print $2}'`
|
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'"
|
test "$f" = "baz" || fail "user first match user@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
|
# cleanup
|
||||||
rm -f $OBJ/ssh_config.[012]
|
rm -f $OBJ/ssh_config.[012]
|
||||||
|
Loading…
Reference in New Issue
Block a user