diff options
author | djm@openbsd.org <djm@openbsd.org> | 2020-05-27 22:35:19 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2020-05-28 08:42:01 +1000 |
commit | 47adfdc07f4f8ea0064a1495500244de08d311ed (patch) | |
tree | 343ff6c57b4bf6934beb55d71078682990f149f9 /regress/servcfginclude.sh | |
parent | 47faad8f794516c33864d866aa1b55d88416f94c (diff) | |
download | openssh-git-47adfdc07f4f8ea0064a1495500244de08d311ed.tar.gz |
upstream: two new tests for Include in sshd_config, checking whether
Port directives are processed correctly and handling of Include directives
that appear before Match. Both tests currently fail. bz#3122 and bz#3169 -
patch from Jakub Jelen
OpenBSD-Regress-ID: 8ad5a4a385a63f0a1c59c59c763ff029b45715df
Diffstat (limited to 'regress/servcfginclude.sh')
-rw-r--r-- | regress/servcfginclude.sh | 36 |
1 files changed, 35 insertions, 1 deletions
diff --git a/regress/servcfginclude.sh b/regress/servcfginclude.sh index b25c8faa..b6a9a248 100644 --- a/regress/servcfginclude.sh +++ b/regress/servcfginclude.sh @@ -146,9 +146,43 @@ Include _EOF trace "disallow invalid with no argument" -${SUDO} ${REAL_SSHD} -f $OBJ/sshd_config.i.x \ +${SUDO} ${REAL_SSHD} -f $OBJ/sshd_config.i.x -T \ -C "host=x,user=test,addr=127.0.0.1" 2>/dev/null && \ fail "sshd allowed Include with no argument" +# Ensure the Include before any Match block works as expected (bug #3122) +cat > $OBJ/sshd_config.i << _EOF +Banner /xx +HostKey $OBJ/host.ssh-ed25519 +Include $OBJ/sshd_config.i.2 +Match host a + Banner /aaaa +_EOF +cat > $OBJ/sshd_config.i.2 << _EOF +Match host a + Banner /aa +_EOF + +trace "Include before match blocks" +trial a /aa "included file before match blocks is properly evaluated" + +# Port in included file is correctly interpretted (bug #3169) +cat > $OBJ/sshd_config.i << _EOF +Include $OBJ/sshd_config.i.2 +Port 7722 +_EOF +cat > $OBJ/sshd_config.i.2 << _EOF +HostKey $OBJ/host.ssh-ed25519 +_EOF + +trace "Port after included files" +${SUDO} ${REAL_SSHD} -f $OBJ/sshd_config.i -T \ + -C "host=x,user=test,addr=127.0.0.1" > $OBJ/sshd_config.out || \ + fail "failed to parse Port after included files" +_port=`grep -i '^port ' $OBJ/sshd_config.out | awk '{print $2}'` +if test "x7722" != "x$_port" ; then + fail "The Port in included file was intertepretted wrongly. Expected 7722, got $_port" +fi + # cleanup rm -f $OBJ/sshd_config.i $OBJ/sshd_config.i.* $OBJ/sshd_config.out |