diff options
Diffstat (limited to 'regress/reexec.sh')
-rw-r--r-- | regress/reexec.sh | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/regress/reexec.sh b/regress/reexec.sh new file mode 100644 index 000000000..39fffefbc --- /dev/null +++ b/regress/reexec.sh | |||
@@ -0,0 +1,87 @@ | |||
1 | # $OpenBSD: reexec.sh,v 1.3 2004/06/25 01:32:44 djm Exp $ | ||
2 | # Placed in the Public Domain. | ||
3 | |||
4 | tid="reexec tests" | ||
5 | |||
6 | DATA=/bin/ls | ||
7 | COPY=${OBJ}/copy | ||
8 | SSHD_ORIG=$SSHD | ||
9 | SSHD_COPY=$OBJ/sshd.copy | ||
10 | |||
11 | # Start a sshd and then delete it | ||
12 | start_sshd_copy_zap () | ||
13 | { | ||
14 | cp $SSHD_ORIG $SSHD_COPY | ||
15 | SSHD=$SSHD_COPY | ||
16 | start_sshd | ||
17 | rm -f $SSHD_COPY | ||
18 | SSHD=$SSHD_ORIG | ||
19 | } | ||
20 | |||
21 | verbose "test config passing" | ||
22 | cp $OBJ/sshd_config $OBJ/sshd_config.orig | ||
23 | |||
24 | start_sshd | ||
25 | |||
26 | echo "InvalidXXX=no" >> $OBJ/sshd_config | ||
27 | |||
28 | rm -f ${COPY} | ||
29 | for p in 1 2; do | ||
30 | verbose "$tid: proto $p" | ||
31 | ${SSH} -nqo "Protocol=$p" -F $OBJ/ssh_config somehost \ | ||
32 | cat ${DATA} > ${COPY} | ||
33 | if [ $? -ne 0 ]; then | ||
34 | fail "ssh cat $DATA failed" | ||
35 | fi | ||
36 | cmp ${DATA} ${COPY} || fail "corrupted copy" | ||
37 | rm -f ${COPY} | ||
38 | done | ||
39 | |||
40 | $SUDO kill `cat $PIDFILE` | ||
41 | rm -f $PIDFILE | ||
42 | |||
43 | cp $OBJ/sshd_config.orig $OBJ/sshd_config | ||
44 | |||
45 | verbose "test reexec fallback" | ||
46 | |||
47 | start_sshd_copy_zap | ||
48 | |||
49 | rm -f ${COPY} | ||
50 | for p in 1 2; do | ||
51 | verbose "$tid: proto $p" | ||
52 | ${SSH} -nqo "Protocol=$p" -F $OBJ/ssh_config somehost \ | ||
53 | cat ${DATA} > ${COPY} | ||
54 | if [ $? -ne 0 ]; then | ||
55 | fail "ssh cat $DATA failed" | ||
56 | fi | ||
57 | cmp ${DATA} ${COPY} || fail "corrupted copy" | ||
58 | rm -f ${COPY} | ||
59 | done | ||
60 | |||
61 | $SUDO kill `cat $PIDFILE` | ||
62 | rm -f $PIDFILE | ||
63 | |||
64 | verbose "test reexec fallback without privsep" | ||
65 | |||
66 | cp $OBJ/sshd_config.orig $OBJ/sshd_config | ||
67 | echo "UsePrivilegeSeparation=no" >> $OBJ/sshd_config | ||
68 | |||
69 | start_sshd_copy_zap | ||
70 | |||
71 | rm -f ${COPY} | ||
72 | for p in 1 2; do | ||
73 | verbose "$tid: proto $p" | ||
74 | ${SSH} -nqo "Protocol=$p" -F $OBJ/ssh_config somehost \ | ||
75 | cat ${DATA} > ${COPY} | ||
76 | if [ $? -ne 0 ]; then | ||
77 | fail "ssh cat $DATA failed" | ||
78 | fi | ||
79 | cmp ${DATA} ${COPY} || fail "corrupted copy" | ||
80 | rm -f ${COPY} | ||
81 | done | ||
82 | |||
83 | $SUDO kill `cat $PIDFILE` | ||
84 | rm -f $PIDFILE | ||
85 | |||
86 | cp $OBJ/sshd_config.orig $OBJ/sshd_config | ||
87 | |||