diff options
Diffstat (limited to 'regress/test-exec.sh')
-rw-r--r-- | regress/test-exec.sh | 34 |
1 files changed, 28 insertions, 6 deletions
diff --git a/regress/test-exec.sh b/regress/test-exec.sh index 70250acd7..4e53449be 100644 --- a/regress/test-exec.sh +++ b/regress/test-exec.sh | |||
@@ -1,8 +1,19 @@ | |||
1 | # $OpenBSD: test-exec.sh,v 1.23 2004/06/25 01:25:12 djm Exp $ | 1 | # $OpenBSD: test-exec.sh,v 1.27 2005/02/27 11:33:30 dtucker Exp $ |
2 | # Placed in the Public Domain. | 2 | # Placed in the Public Domain. |
3 | 3 | ||
4 | #SUDO=sudo | 4 | #SUDO=sudo |
5 | 5 | ||
6 | # Unbreak GNU head(1) | ||
7 | _POSIX2_VERSION=199209 | ||
8 | export _POSIX2_VERSION | ||
9 | |||
10 | case `uname -s 2>/dev/null` in | ||
11 | OSF1*) | ||
12 | BIN_SH=xpg4 | ||
13 | export BIN_SH | ||
14 | ;; | ||
15 | esac | ||
16 | |||
6 | if [ ! -z "$TEST_SSH_PORT" ]; then | 17 | if [ ! -z "$TEST_SSH_PORT" ]; then |
7 | PORT="$TEST_SSH_PORT" | 18 | PORT="$TEST_SSH_PORT" |
8 | else | 19 | else |
@@ -43,6 +54,8 @@ else | |||
43 | fi | 54 | fi |
44 | unset SSH_AUTH_SOCK | 55 | unset SSH_AUTH_SOCK |
45 | 56 | ||
57 | SRC=`dirname ${SCRIPT}` | ||
58 | |||
46 | # defaults | 59 | # defaults |
47 | SSH=ssh | 60 | SSH=ssh |
48 | SSHD=sshd | 61 | SSHD=sshd |
@@ -83,7 +96,13 @@ if [ "x$TEST_SSH_SCP" != "x" ]; then | |||
83 | fi | 96 | fi |
84 | 97 | ||
85 | # Path to sshd must be absolute for rexec | 98 | # Path to sshd must be absolute for rexec |
86 | SSHD=`which sshd` | 99 | if [ ! -x /$SSHD ]; then |
100 | SSHD=`which sshd` | ||
101 | fi | ||
102 | |||
103 | if [ "x$TEST_SSH_LOGFILE" = "x" ]; then | ||
104 | TEST_SSH_LOGFILE=/dev/null | ||
105 | fi | ||
87 | 106 | ||
88 | # these should be used in tests | 107 | # these should be used in tests |
89 | export SSH SSHD SSHAGENT SSHADD SSHKEYGEN SSHKEYSCAN SFTP SFTPSERVER SCP | 108 | export SSH SSHD SSHAGENT SSHADD SSHKEYGEN SSHKEYSCAN SFTP SFTPSERVER SCP |
@@ -134,6 +153,7 @@ cleanup () | |||
134 | 153 | ||
135 | trace () | 154 | trace () |
136 | { | 155 | { |
156 | echo "trace: $@" >>$TEST_SSH_LOGFILE | ||
137 | if [ "X$TEST_SSH_TRACE" = "Xyes" ]; then | 157 | if [ "X$TEST_SSH_TRACE" = "Xyes" ]; then |
138 | echo "$@" | 158 | echo "$@" |
139 | fi | 159 | fi |
@@ -141,6 +161,7 @@ trace () | |||
141 | 161 | ||
142 | verbose () | 162 | verbose () |
143 | { | 163 | { |
164 | echo "verbose: $@" >>$TEST_SSH_LOGFILE | ||
144 | if [ "X$TEST_SSH_QUIET" != "Xyes" ]; then | 165 | if [ "X$TEST_SSH_QUIET" != "Xyes" ]; then |
145 | echo "$@" | 166 | echo "$@" |
146 | fi | 167 | fi |
@@ -149,12 +170,14 @@ verbose () | |||
149 | 170 | ||
150 | fail () | 171 | fail () |
151 | { | 172 | { |
173 | echo "FAIL: $@" >>$TEST_SSH_LOGFILE | ||
152 | RESULT=1 | 174 | RESULT=1 |
153 | echo "$@" | 175 | echo "$@" |
154 | } | 176 | } |
155 | 177 | ||
156 | fatal () | 178 | fatal () |
157 | { | 179 | { |
180 | echo "FATAL: $@" >>$TEST_SSH_LOGFILE | ||
158 | echon "FATAL: " | 181 | echon "FATAL: " |
159 | fail "$@" | 182 | fail "$@" |
160 | cleanup | 183 | cleanup |
@@ -174,7 +197,7 @@ cat << EOF > $OBJ/sshd_config | |||
174 | #ListenAddress ::1 | 197 | #ListenAddress ::1 |
175 | PidFile $PIDFILE | 198 | PidFile $PIDFILE |
176 | AuthorizedKeysFile $OBJ/authorized_keys_%u | 199 | AuthorizedKeysFile $OBJ/authorized_keys_%u |
177 | LogLevel QUIET | 200 | LogLevel DEBUG |
178 | AcceptEnv _XXX_TEST_* | 201 | AcceptEnv _XXX_TEST_* |
179 | AcceptEnv _XXX_TEST | 202 | AcceptEnv _XXX_TEST |
180 | Subsystem sftp $SFTPSERVER | 203 | Subsystem sftp $SFTPSERVER |
@@ -205,7 +228,6 @@ Host * | |||
205 | ChallengeResponseAuthentication no | 228 | ChallengeResponseAuthentication no |
206 | HostbasedAuthentication no | 229 | HostbasedAuthentication no |
207 | PasswordAuthentication no | 230 | PasswordAuthentication no |
208 | RhostsRSAAuthentication no | ||
209 | BatchMode yes | 231 | BatchMode yes |
210 | StrictHostKeyChecking yes | 232 | StrictHostKeyChecking yes |
211 | EOF | 233 | EOF |
@@ -246,7 +268,7 @@ chmod 644 $OBJ/authorized_keys_$USER | |||
246 | # create a proxy version of the client config | 268 | # create a proxy version of the client config |
247 | ( | 269 | ( |
248 | cat $OBJ/ssh_config | 270 | cat $OBJ/ssh_config |
249 | echo proxycommand ${SUDO} ${SSHD} -i -f $OBJ/sshd_proxy | 271 | echo proxycommand ${SUDO} sh ${SRC}/sshd-log-wrapper.sh ${SSHD} ${TEST_SSH_LOGFILE} -i -f $OBJ/sshd_proxy |
250 | ) > $OBJ/ssh_proxy | 272 | ) > $OBJ/ssh_proxy |
251 | 273 | ||
252 | # check proxy config | 274 | # check proxy config |
@@ -256,7 +278,7 @@ start_sshd () | |||
256 | { | 278 | { |
257 | # start sshd | 279 | # start sshd |
258 | $SUDO ${SSHD} -f $OBJ/sshd_config -t || fatal "sshd_config broken" | 280 | $SUDO ${SSHD} -f $OBJ/sshd_config -t || fatal "sshd_config broken" |
259 | $SUDO ${SSHD} -f $OBJ/sshd_config | 281 | $SUDO ${SSHD} -f $OBJ/sshd_config -e >>$TEST_SSH_LOGFILE 2>&1 |
260 | 282 | ||
261 | trace "wait for sshd" | 283 | trace "wait for sshd" |
262 | i=0; | 284 | i=0; |