summaryrefslogtreecommitdiff
path: root/regress
diff options
context:
space:
mode:
authorDamien Miller <djm@cvs.openbsd.org>2018-03-02 02:53:28 +0000
committerDamien Miller <djm@cvs.openbsd.org>2018-03-02 02:53:28 +0000
commita078c51c1645f251dbe3c9dc98b7d2b176cac87e (patch)
treef5672720c8d94e0993e0a15f959f8adb57e0d1db /regress
parentf089cc5093df774e6ac4756b43a8ec15e39a999c (diff)
fix testing of pty option, include positive test and testing of
restrict keyword
Diffstat (limited to 'regress')
-rw-r--r--regress/usr.bin/ssh/key-options.sh43
1 files changed, 36 insertions, 7 deletions
diff --git a/regress/usr.bin/ssh/key-options.sh b/regress/usr.bin/ssh/key-options.sh
index 2adee683347..aa5f8bf9770 100644
--- a/regress/usr.bin/ssh/key-options.sh
+++ b/regress/usr.bin/ssh/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