diff options
Diffstat (limited to 'regress')
-rw-r--r-- | regress/README.regress | 6 | ||||
-rw-r--r-- | regress/agent-getpeereid.sh | 4 | ||||
-rw-r--r-- | regress/forwarding.sh | 33 | ||||
-rw-r--r-- | regress/multiplex.sh | 2 | ||||
-rw-r--r-- | regress/reconfigure.sh | 5 | ||||
-rw-r--r-- | regress/scp-ssh-wrapper.sh | 11 | ||||
-rw-r--r-- | regress/scp.sh | 36 | ||||
-rw-r--r-- | regress/test-exec.sh | 7 | ||||
-rw-r--r-- | regress/try-ciphers.sh | 5 | ||||
-rw-r--r-- | regress/yes-head.sh | 2 |
10 files changed, 93 insertions, 18 deletions
diff --git a/regress/README.regress b/regress/README.regress index 0c07c9cf1..5aaf734bd 100644 --- a/regress/README.regress +++ b/regress/README.regress | |||
@@ -97,8 +97,12 @@ Known Issues. | |||
97 | unless ssh-rand-helper is in pre-installed (the path to | 97 | unless ssh-rand-helper is in pre-installed (the path to |
98 | ssh-rand-helper is hard coded). | 98 | ssh-rand-helper is hard coded). |
99 | 99 | ||
100 | - Similarly, if you do not have "scp" in your system's $PATH then the | ||
101 | multiplex scp tests will fail (since the system's shell startup scripts | ||
102 | will determine where the shell started by sshd will look for scp). | ||
103 | |||
100 | - Recent GNU coreutils deprecate "head -[n]": this will cause the yes-head | 104 | - Recent GNU coreutils deprecate "head -[n]": this will cause the yes-head |
101 | test to fail. The old behaviour can be restored by setting (and | 105 | test to fail. The old behaviour can be restored by setting (and |
102 | exporting) _POSIX2_VERSION=199209 before running the tests. | 106 | exporting) _POSIX2_VERSION=199209 before running the tests. |
103 | 107 | ||
104 | $Id: README.regress,v 1.9 2004/08/17 12:31:33 dtucker Exp $ | 108 | $Id: README.regress,v 1.10 2005/10/03 10:14:18 dtucker Exp $ |
diff --git a/regress/agent-getpeereid.sh b/regress/agent-getpeereid.sh index 46d20dc2b..6186a8d48 100644 --- a/regress/agent-getpeereid.sh +++ b/regress/agent-getpeereid.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: agent-getpeereid.sh,v 1.1 2002/12/09 16:05:02 markus Exp $ | 1 | # $OpenBSD: agent-getpeereid.sh,v 1.2 2005/11/14 21:25:56 grunk Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="disallow agent attach from other uid" | 4 | tid="disallow agent attach from other uid" |
@@ -27,7 +27,7 @@ else | |||
27 | fail "ssh-add failed with $r != 1" | 27 | fail "ssh-add failed with $r != 1" |
28 | fi | 28 | fi |
29 | 29 | ||
30 | < /dev/null sudo -S -u ${UNPRIV} ssh-add -l > /dev/null 2>&1 | 30 | < /dev/null ${SUDO} -S -u ${UNPRIV} ssh-add -l > /dev/null 2>&1 |
31 | r=$? | 31 | r=$? |
32 | if [ $r -lt 2 ]; then | 32 | if [ $r -lt 2 ]; then |
33 | fail "ssh-add did not fail for ${UNPRIV}: $r < 2" | 33 | fail "ssh-add did not fail for ${UNPRIV}: $r < 2" |
diff --git a/regress/forwarding.sh b/regress/forwarding.sh index dfe065dd6..3b171144f 100644 --- a/regress/forwarding.sh +++ b/regress/forwarding.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: forwarding.sh,v 1.4 2002/03/15 13:08:56 markus Exp $ | 1 | # $OpenBSD: forwarding.sh,v 1.5 2005/03/10 10:20:39 dtucker Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="local and remote forwarding" | 4 | tid="local and remote forwarding" |
@@ -32,3 +32,34 @@ for p in 1 2; do | |||
32 | 32 | ||
33 | sleep 10 | 33 | sleep 10 |
34 | done | 34 | done |
35 | |||
36 | for p in 1 2; do | ||
37 | trace "simple clear forwarding proto $p" | ||
38 | ${SSH} -$p -F $OBJ/ssh_config -oClearAllForwardings=yes somehost true | ||
39 | |||
40 | trace "clear local forward proto $p" | ||
41 | ${SSH} -$p -f -F $OBJ/ssh_config -L ${base}01:127.0.0.1:$PORT \ | ||
42 | -oClearAllForwardings=yes somehost sleep 10 | ||
43 | if [ $? != 0 ]; then | ||
44 | fail "connection failed with cleared local forwarding" | ||
45 | else | ||
46 | # this one should fail | ||
47 | ${SSH} -$p -F $OBJ/ssh_config -p ${base}01 true \ | ||
48 | 2>${TEST_SSH_LOGFILE} && \ | ||
49 | fail "local forwarding not cleared" | ||
50 | fi | ||
51 | sleep 10 | ||
52 | |||
53 | trace "clear remote forward proto $p" | ||
54 | ${SSH} -$p -f -F $OBJ/ssh_config -R ${base}01:127.0.0.1:$PORT \ | ||
55 | -oClearAllForwardings=yes somehost sleep 10 | ||
56 | if [ $? != 0 ]; then | ||
57 | fail "connection failed with cleared remote forwarding" | ||
58 | else | ||
59 | # this one should fail | ||
60 | ${SSH} -$p -F $OBJ/ssh_config -p ${base}01 true \ | ||
61 | 2>${TEST_SSH_LOGFILE} && \ | ||
62 | fail "remote forwarding not cleared" | ||
63 | fi | ||
64 | sleep 10 | ||
65 | done | ||
diff --git a/regress/multiplex.sh b/regress/multiplex.sh index a172e5790..4fba7b5ac 100644 --- a/regress/multiplex.sh +++ b/regress/multiplex.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: multiplex.sh,v 1.10 2005/02/27 11:33:30 dtucker Exp $ | 1 | # $OpenBSD: multiplex.sh,v 1.11 2005/04/25 09:54:09 dtucker Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | CTL=/tmp/openssh.regress.ctl-sock.$$ | 4 | CTL=/tmp/openssh.regress.ctl-sock.$$ |
diff --git a/regress/reconfigure.sh b/regress/reconfigure.sh index ba6dbc6f5..1daf29f9a 100644 --- a/regress/reconfigure.sh +++ b/regress/reconfigure.sh | |||
@@ -15,8 +15,9 @@ esac | |||
15 | 15 | ||
16 | start_sshd | 16 | start_sshd |
17 | 17 | ||
18 | $SUDO kill -HUP `cat $PIDFILE` | 18 | PID=`cat $PIDFILE` |
19 | sleep 1 | 19 | rm -f $PIDFILE |
20 | $SUDO kill -HUP $PID | ||
20 | 21 | ||
21 | trace "wait for sshd to restart" | 22 | trace "wait for sshd to restart" |
22 | i=0; | 23 | i=0; |
diff --git a/regress/scp-ssh-wrapper.sh b/regress/scp-ssh-wrapper.sh index 8e4314773..d1005a995 100644 --- a/regress/scp-ssh-wrapper.sh +++ b/regress/scp-ssh-wrapper.sh | |||
@@ -1,5 +1,5 @@ | |||
1 | #!/bin/sh | 1 | #!/bin/sh |
2 | # $OpenBSD: scp-ssh-wrapper.sh,v 1.1 2004/06/13 13:51:02 dtucker Exp $ | 2 | # $OpenBSD: scp-ssh-wrapper.sh,v 1.2 2005/12/14 04:36:39 dtucker Exp $ |
3 | # Placed in the Public Domain. | 3 | # Placed in the Public Domain. |
4 | 4 | ||
5 | printname () { | 5 | printname () { |
@@ -16,8 +16,11 @@ printname () { | |||
16 | done | 16 | done |
17 | } | 17 | } |
18 | 18 | ||
19 | # discard first 5 args | 19 | # Discard all but last argument. We use arg later. |
20 | shift; shift; shift; shift; shift | 20 | while test "$1" != ""; do |
21 | arg="$1" | ||
22 | shift | ||
23 | done | ||
21 | 24 | ||
22 | BAD="../../../../../../../../../../../../../${DIR}/dotpathdir" | 25 | BAD="../../../../../../../../../../../../../${DIR}/dotpathdir" |
23 | 26 | ||
@@ -49,6 +52,6 @@ badserver_4) | |||
49 | echo "X" | 52 | echo "X" |
50 | ;; | 53 | ;; |
51 | *) | 54 | *) |
52 | exec $1 | 55 | exec $arg |
53 | ;; | 56 | ;; |
54 | esac | 57 | esac |
diff --git a/regress/scp.sh b/regress/scp.sh index c3034b6e7..c5d412dd9 100644 --- a/regress/scp.sh +++ b/regress/scp.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: scp.sh,v 1.3 2004/07/08 12:59:35 dtucker Exp $ | 1 | # $OpenBSD: scp.sh,v 1.7 2006/01/31 10:36:33 djm Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="scp" | 4 | tid="scp" |
@@ -28,6 +28,11 @@ scpclean() { | |||
28 | mkdir ${DIR} ${DIR2} | 28 | mkdir ${DIR} ${DIR2} |
29 | } | 29 | } |
30 | 30 | ||
31 | verbose "$tid: simple copy local file to local file" | ||
32 | scpclean | ||
33 | $SCP $scpopts ${DATA} ${COPY} || fail "copy failed" | ||
34 | cmp ${DATA} ${COPY} || fail "corrupted copy" | ||
35 | |||
31 | verbose "$tid: simple copy local file to remote file" | 36 | verbose "$tid: simple copy local file to remote file" |
32 | scpclean | 37 | scpclean |
33 | $SCP $scpopts ${DATA} somehost:${COPY} || fail "copy failed" | 38 | $SCP $scpopts ${DATA} somehost:${COPY} || fail "copy failed" |
@@ -44,6 +49,12 @@ cp ${DATA} ${COPY} | |||
44 | $SCP $scpopts ${COPY} somehost:${DIR} || fail "copy failed" | 49 | $SCP $scpopts ${COPY} somehost:${DIR} || fail "copy failed" |
45 | cmp ${COPY} ${DIR}/copy || fail "corrupted copy" | 50 | cmp ${COPY} ${DIR}/copy || fail "corrupted copy" |
46 | 51 | ||
52 | verbose "$tid: simple copy local file to local dir" | ||
53 | scpclean | ||
54 | cp ${DATA} ${COPY} | ||
55 | $SCP $scpopts ${COPY} ${DIR} || fail "copy failed" | ||
56 | cmp ${COPY} ${DIR}/copy || fail "corrupted copy" | ||
57 | |||
47 | verbose "$tid: simple copy remote file to local dir" | 58 | verbose "$tid: simple copy remote file to local dir" |
48 | scpclean | 59 | scpclean |
49 | cp ${DATA} ${COPY} | 60 | cp ${DATA} ${COPY} |
@@ -57,6 +68,13 @@ cp ${DATA} ${DIR}/copy | |||
57 | $SCP $scpopts -r ${DIR} somehost:${DIR2} || fail "copy failed" | 68 | $SCP $scpopts -r ${DIR} somehost:${DIR2} || fail "copy failed" |
58 | diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy" | 69 | diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy" |
59 | 70 | ||
71 | verbose "$tid: recursive local dir to local dir" | ||
72 | scpclean | ||
73 | rm -rf ${DIR2} | ||
74 | cp ${DATA} ${DIR}/copy | ||
75 | $SCP $scpopts -r ${DIR} ${DIR2} || fail "copy failed" | ||
76 | diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy" | ||
77 | |||
60 | verbose "$tid: recursive remote dir to local dir" | 78 | verbose "$tid: recursive remote dir to local dir" |
61 | scpclean | 79 | scpclean |
62 | rm -rf ${DIR2} | 80 | rm -rf ${DIR2} |
@@ -64,6 +82,13 @@ cp ${DATA} ${DIR}/copy | |||
64 | $SCP $scpopts -r somehost:${DIR} ${DIR2} || fail "copy failed" | 82 | $SCP $scpopts -r somehost:${DIR} ${DIR2} || fail "copy failed" |
65 | diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy" | 83 | diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy" |
66 | 84 | ||
85 | verbose "$tid: shell metacharacters" | ||
86 | scpclean | ||
87 | (cd ${DIR} && \ | ||
88 | touch '`touch metachartest`' && \ | ||
89 | $SCP $scpopts *metachar* ${DIR2} 2>/dev/null; \ | ||
90 | [ ! -f metachartest ] ) || fail "shell metacharacters" | ||
91 | |||
67 | if [ ! -z "$SUDO" ]; then | 92 | if [ ! -z "$SUDO" ]; then |
68 | verbose "$tid: skipped file after scp -p with failed chown+utimes" | 93 | verbose "$tid: skipped file after scp -p with failed chown+utimes" |
69 | scpclean | 94 | scpclean |
@@ -73,7 +98,7 @@ if [ ! -z "$SUDO" ]; then | |||
73 | chmod 660 ${DIR2}/copy | 98 | chmod 660 ${DIR2}/copy |
74 | $SUDO chown root ${DIR2}/copy | 99 | $SUDO chown root ${DIR2}/copy |
75 | $SCP -p $scpopts somehost:${DIR}/\* ${DIR2} >/dev/null 2>&1 | 100 | $SCP -p $scpopts somehost:${DIR}/\* ${DIR2} >/dev/null 2>&1 |
76 | diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy" | 101 | $SUDO diff ${DIFFOPT} ${DIR} ${DIR2} || fail "corrupted copy" |
77 | $SUDO rm ${DIR2}/copy | 102 | $SUDO rm ${DIR2}/copy |
78 | fi | 103 | fi |
79 | 104 | ||
@@ -91,5 +116,12 @@ for i in 0 1 2 3 4; do | |||
91 | [ -d ${DIR}/dotpathdir ] && fail "allows dir creation outside of subdir" | 116 | [ -d ${DIR}/dotpathdir ] && fail "allows dir creation outside of subdir" |
92 | done | 117 | done |
93 | 118 | ||
119 | verbose "$tid: detect non-directory target" | ||
120 | scpclean | ||
121 | echo a > ${COPY} | ||
122 | echo b > ${COPY2} | ||
123 | $SCP $scpopts ${DATA} ${COPY} ${COPY2} | ||
124 | cmp ${COPY} ${COPY2} >/dev/null && fail "corrupt target" | ||
125 | |||
94 | scpclean | 126 | scpclean |
95 | rm -f ${OBJ}/scp-ssh-wrapper.scp | 127 | rm -f ${OBJ}/scp-ssh-wrapper.scp |
diff --git a/regress/test-exec.sh b/regress/test-exec.sh index 4b3a70eb3..59ae33c08 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh | |||
@@ -1,4 +1,4 @@ | |||
1 | # $OpenBSD: test-exec.sh,v 1.27 2005/02/27 11:33:30 dtucker Exp $ | 1 | # $OpenBSD: test-exec.sh,v 1.28 2005/05/20 23:14:15 djm Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | #SUDO=sudo | 4 | #SUDO=sudo |
@@ -24,6 +24,8 @@ if [ -x /usr/ucb/whoami ]; then | |||
24 | USER=`/usr/ucb/whoami` | 24 | USER=`/usr/ucb/whoami` |
25 | elif whoami >/dev/null 2>&1; then | 25 | elif whoami >/dev/null 2>&1; then |
26 | USER=`whoami` | 26 | USER=`whoami` |
27 | elif logname >/dev/null 2>&1; then | ||
28 | USER=`logname` | ||
27 | else | 29 | else |
28 | USER=`id -un` | 30 | USER=`id -un` |
29 | fi | 31 | fi |
@@ -194,6 +196,7 @@ trap fatal 3 2 | |||
194 | cat << EOF > $OBJ/sshd_config | 196 | cat << EOF > $OBJ/sshd_config |
195 | StrictModes no | 197 | StrictModes no |
196 | Port $PORT | 198 | Port $PORT |
199 | AddressFamily inet | ||
197 | ListenAddress 127.0.0.1 | 200 | ListenAddress 127.0.0.1 |
198 | #ListenAddress ::1 | 201 | #ListenAddress ::1 |
199 | PidFile $PIDFILE | 202 | PidFile $PIDFILE |
@@ -244,7 +247,7 @@ trace "generate keys" | |||
244 | for t in rsa rsa1; do | 247 | for t in rsa rsa1; do |
245 | # generate user key | 248 | # generate user key |
246 | rm -f $OBJ/$t | 249 | rm -f $OBJ/$t |
247 | ${SSHKEYGEN} -q -N '' -t $t -f $OBJ/$t ||\ | 250 | ${SSHKEYGEN} -b 1024 -q -N '' -t $t -f $OBJ/$t ||\ |
248 | fail "ssh-keygen for $t failed" | 251 | fail "ssh-keygen for $t failed" |
249 | 252 | ||
250 | # known hosts file for client | 253 | # known hosts file for client |
diff --git a/regress/try-ciphers.sh b/regress/try-ciphers.sh index c6e1b9152..379fe353a 100644 --- a/regress/try-ciphers.sh +++ b/regress/try-ciphers.sh | |||
@@ -1,9 +1,10 @@ | |||
1 | # $OpenBSD: try-ciphers.sh,v 1.9 2004/02/28 13:44:45 dtucker Exp $ | 1 | # $OpenBSD: try-ciphers.sh,v 1.10 2005/05/24 04:10:54 djm Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | tid="try ciphers" | 4 | tid="try ciphers" |
5 | 5 | ||
6 | ciphers="aes128-cbc 3des-cbc blowfish-cbc cast128-cbc arcfour | 6 | ciphers="aes128-cbc 3des-cbc blowfish-cbc cast128-cbc |
7 | arcfour128 arcfour256 arcfour | ||
7 | aes192-cbc aes256-cbc rijndael-cbc@lysator.liu.se | 8 | aes192-cbc aes256-cbc rijndael-cbc@lysator.liu.se |
8 | aes128-ctr aes192-ctr aes256-ctr" | 9 | aes128-ctr aes192-ctr aes256-ctr" |
9 | macs="hmac-sha1 hmac-md5 hmac-sha1-96 hmac-md5-96" | 10 | macs="hmac-sha1 hmac-md5 hmac-sha1-96 hmac-md5-96" |
diff --git a/regress/yes-head.sh b/regress/yes-head.sh index 17a4d0dd4..a8e6bc800 100644 --- a/regress/yes-head.sh +++ b/regress/yes-head.sh | |||
@@ -4,7 +4,7 @@ | |||
4 | tid="yes pipe head" | 4 | tid="yes pipe head" |
5 | 5 | ||
6 | for p in 1 2; do | 6 | for p in 1 2; do |
7 | lines=`${SSH} -$p -F $OBJ/ssh_proxy thishost 'sh -c "while true;do echo yes;done | head -2000"' | (sleep 3 ; wc -l)` | 7 | lines=`${SSH} -$p -F $OBJ/ssh_proxy thishost 'sh -c "while true;do echo yes;done | _POSIX2_VERSION=199209 head -2000"' | (sleep 3 ; wc -l)` |
8 | if [ $? -ne 0 ]; then | 8 | if [ $? -ne 0 ]; then |
9 | fail "yes|head test failed" | 9 | fail "yes|head test failed" |
10 | lines = 0; | 10 | lines = 0; |