summaryrefslogtreecommitdiff
path: root/regress/key-options.sh
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2018-03-02 02:53:27 +0000
committerDamien Miller <djm@mindrot.org>2018-03-03 14:38:26 +1100
commitdc3e92df17556dc5b0ab19cee8dcb2a6ba348717 (patch)
tree7474da42946c828243167de22e1c48eeb7f81476 /regress/key-options.sh
parent3d1edd1ebbc0aabea8bbe61903060f37137f7c61 (diff)
upstream: fix testing of pty option, include positive test and
testing of restrict keyword OpenBSD-Regress-ID: 4268f27c2706a0a95e725d9518c5bcbec9814c6d
Diffstat (limited to 'regress/key-options.sh')
-rw-r--r--regress/key-options.sh43
1 files changed, 36 insertions, 7 deletions
diff --git a/regress/key-options.sh b/regress/key-options.sh
index 2adee683..aa5f8bf9 100644
--- a/regress/key-options.sh
+++ b/regress/key-options.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: key-options.sh,v 1.4 2017/04/30 23:34:55 djm Exp $
+# $OpenBSD: key-options.sh,v 1.5 2018/03/02 02:53:27 djm Exp $
# Placed in the Public Domain.
tid="key options"
@@ -21,12 +21,41 @@ for c in 'command="echo bar"' 'no-pty,command="echo bar"'; do
done
# Test no-pty
-sed 's/.*/no-pty &/' $origkeys >$authkeys
-verbose "key option proto no-pty"
-r=`${SSH} -q -F $OBJ/ssh_proxy somehost tty`
-if [ -f "$r" ]; then
- fail "key option failed no-pty (pty $r)"
-fi
+expect_pty_succeed() {
+ which=$1
+ opts=$2
+ rm -f $OBJ/data
+ sed "s/.*/$opts &/" $origkeys >$authkeys
+ verbose "key option pty $which"
+ ${SSH} -ttq -F $OBJ/ssh_proxy somehost "tty > $OBJ/data; exit 0"
+ if [ $? -ne 0 ] ; then
+ fail "key option failed $which"
+ else
+ r=`cat $OBJ/data`
+ if [ ! -e "$r" ]; then
+ fail "key option failed $which (pty $r)"
+ fi
+ fi
+}
+expect_pty_fail() {
+ which=$1
+ opts=$2
+ rm -f $OBJ/data
+ sed "s/.*/$opts &/" $origkeys >$authkeys
+ verbose "key option pty $which"
+ ${SSH} -ttq -F $OBJ/ssh_proxy somehost "tty > $OBJ/data; exit 0"
+ if [ $? -eq 0 ]; then
+ r=`cat $OBJ/data`
+ if [ -e "$r" ]; then
+ fail "key option failed $which (pty $r)"
+ fi
+ fi
+}
+# First ensure that we can allocate a pty by default.
+expect_pty_succeed "default" ""
+expect_pty_fail "no-pty" "no-pty"
+expect_pty_fail "restrict" "restrict"
+expect_pty_succeed "restrict,pty" "restrict,pty"
# Test environment=
echo 'PermitUserEnvironment yes' >> $OBJ/sshd_proxy