summaryrefslogtreecommitdiff
path: root/regress
diff options
context:
space:
mode:
authorDamien Miller <djm@cvs.openbsd.org>2004-04-27 09:47:31 +0000
committerDamien Miller <djm@cvs.openbsd.org>2004-04-27 09:47:31 +0000
commit586026f6f141894d5dd87842e73b93a63c962e48 (patch)
treea95af753d66b41aa8c7c0ab7dee81a7a42cc031a /regress
parent958dcf038c05f370c9077b63a2f717585f316329 (diff)
regress test for environment passing, SendEnv & AcceptEnv options; ok markus@
Diffstat (limited to 'regress')
-rw-r--r--regress/usr.bin/ssh/Makefile3
-rw-r--r--regress/usr.bin/ssh/envpass.sh44
-rw-r--r--regress/usr.bin/ssh/test-exec.sh4
3 files changed, 49 insertions, 2 deletions
diff --git a/regress/usr.bin/ssh/Makefile b/regress/usr.bin/ssh/Makefile
index f6e9f9a7c73..f42b0014dc7 100644
--- a/regress/usr.bin/ssh/Makefile
+++ b/regress/usr.bin/ssh/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.27 2004/02/17 08:23:20 dtucker Exp $
+# $OpenBSD: Makefile,v 1.28 2004/04/27 09:47:30 djm Exp $
REGRESS_TARGETS= t1 t2 t3 t4 t5 t6 t7
@@ -10,6 +10,7 @@ LTESTS= connect \
proto-version \
proto-mismatch \
exit-status \
+ envpass \
transfer \
banner \
rekey \
diff --git a/regress/usr.bin/ssh/envpass.sh b/regress/usr.bin/ssh/envpass.sh
new file mode 100644
index 00000000000..67044d421cd
--- /dev/null
+++ b/regress/usr.bin/ssh/envpass.sh
@@ -0,0 +1,44 @@
+# $OpenBSD: envpass.sh,v 1.1 2004/04/27 09:47:30 djm Exp $
+# Placed in the Public Domain.
+
+tid="environment passing"
+
+# NB accepted env vars are in test-exec.sh (_XXX_TEST_* and _XXX_TEST)
+
+trace "pass env, don't accept"
+verbose "test $tid: pass env, don't accept"
+_TEST_ENV=blah ${SSH} -oSendEnv="*" -F $OBJ/ssh_proxy otherhost \
+ '[ -z "$_TEST_ENV" ]'
+r=$?
+if [ $r -ne 0 ]; then
+ fail "environment found"
+fi
+
+trace "don't pass env, accept"
+verbose "test $tid: don't pass env, accept"
+${SSH} -F $OBJ/ssh_proxy otherhost \
+ '[ -z "$_XXX_TEST_A" -a -z "$_XXX_TEST_B" ]'
+r=$?
+if [ $r -ne 0 ]; then
+ fail "environment found"
+fi
+
+trace "pass single env, accept single env"
+verbose "test $tid: pass single env, accept single env"
+_XXX_TEST=blah ${SSH} -oSendEnv="_XXX_TEST" -F $OBJ/ssh_proxy otherhost \
+ '[ "x$_XXX_TEST" = "xblah" ]'
+r=$?
+if [ $r -ne 0 ]; then
+ fail "environment not found"
+fi
+
+trace "pass multiple env, accept multiple env"
+verbose "test $tid: pass multiple env, accept multiple env"
+_XXX_TEST_A=1 _XXX_TEST_B=2 ${SSH} -oSendEnv="_XXX_TEST_*" \
+ -F $OBJ/ssh_proxy otherhost \
+ '[ "x$_XXX_TEST_A" = "x1" -a "x$_XXX_TEST_B" = "x2" ]'
+r=$?
+if [ $r -ne 0 ]; then
+ fail "environment not found"
+fi
+
diff --git a/regress/usr.bin/ssh/test-exec.sh b/regress/usr.bin/ssh/test-exec.sh
index 166e0e2faee..b9498a7cfca 100644
--- a/regress/usr.bin/ssh/test-exec.sh
+++ b/regress/usr.bin/ssh/test-exec.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: test-exec.sh,v 1.15 2004/02/24 16:56:30 markus Exp $
+# $OpenBSD: test-exec.sh,v 1.16 2004/04/27 09:47:30 djm Exp $
# Placed in the Public Domain.
PORT=4242
@@ -130,6 +130,8 @@ cat << EOF > $OBJ/sshd_config
PidFile $PIDFILE
AuthorizedKeysFile $OBJ/authorized_keys_%u
LogLevel QUIET
+ AcceptEnv _XXX_TEST_*
+ AcceptEnv _XXX_TEST
EOF
# server config for proxy connects