Import OpenSSH-5.1p1.
[dragonfly.git] / crypto / openssh-3.9p1 / regress / reexec.sh
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