1 # $OpenBSD: envpass.sh,v 1.4 2005/03/04 08:48:46 djm Exp $ 2 # Placed in the Public Domain. 3 4 tid="environment passing" 5 6 # NB accepted env vars are in test-exec.sh (_XXX_TEST_* and _XXX_TEST) 7 8 # Prepare a custom config to test for a configuration parsing bug fixed in 4.0 9 cat << EOF > $OBJ/ssh_proxy_envpass 10 Host test-sendenv-confparse-bug 11 SendEnv * 12 EOF 13 cat $OBJ/ssh_proxy >> $OBJ/ssh_proxy_envpass 14 15 trace "pass env, don't accept" 16 verbose "test $tid: pass env, don't accept" 17 _TEST_ENV=blah ${SSH} -oSendEnv="*" -F $OBJ/ssh_proxy_envpass otherhost \ 18 sh << 'EOF' 19 test -z "$_TEST_ENV" 20 EOF 21 r=$? 22 if [ $r -ne 0 ]; then 23 fail "environment found" 24 fi 25 26 trace "don't pass env, accept" 27 verbose "test $tid: don't pass env, accept" 28 _XXX_TEST_A=1 _XXX_TEST_B=2 ${SSH} -F $OBJ/ssh_proxy_envpass otherhost \ 29 sh << 'EOF' 30 test -z "$_XXX_TEST_A" && test -z "$_XXX_TEST_B" 31 EOF 32 r=$? 33 if [ $r -ne 0 ]; then 34 fail "environment found" 35 fi 36 37 trace "pass single env, accept single env" 38 verbose "test $tid: pass single env, accept single env" 39 _XXX_TEST=blah ${SSH} -oSendEnv="_XXX_TEST" -F $OBJ/ssh_proxy_envpass \ 40 otherhost sh << 'EOF' 41 test X"$_XXX_TEST" = X"blah" 42 EOF 43 r=$? 44 if [ $r -ne 0 ]; then 45 fail "environment not found" 46 fi 47 48 trace "pass multiple env, accept multiple env" 49 verbose "test $tid: pass multiple env, accept multiple env" 50 _XXX_TEST_A=1 _XXX_TEST_B=2 ${SSH} -oSendEnv="_XXX_TEST_*" \ 51 -F $OBJ/ssh_proxy_envpass otherhost \ 52 sh << 'EOF' 53 test X"$_XXX_TEST_A" = X"1" -a X"$_XXX_TEST_B" = X"2" 54 EOF 55 r=$? 56 if [ $r -ne 0 ]; then 57 fail "environment not found" 58 fi 59 60 rm -f $OBJ/ssh_proxy_envpass 61