xref: /freebsd/crypto/openssh/regress/reexec.sh (revision 1e413cf93298b5b97441a21d9a50fdcd0ee9945e)
1#	$OpenBSD: reexec.sh,v 1.5 2004/10/08 02:01:50 djm Exp $
2#	Placed in the Public Domain.
3
4tid="reexec tests"
5
6DATA=/bin/ls${EXEEXT}
7COPY=${OBJ}/copy
8SSHD_ORIG=$SSHD${EXEEXT}
9SSHD_COPY=$OBJ/sshd${EXEEXT}
10
11# Start a sshd and then delete it
12start_sshd_copy ()
13{
14	cp $SSHD_ORIG $SSHD_COPY
15	SSHD=$SSHD_COPY
16	start_sshd
17	SSHD=$SSHD_ORIG
18}
19
20# Do basic copy tests
21copy_tests ()
22{
23	rm -f ${COPY}
24	for p in 1 2; do
25		verbose "$tid: proto $p"
26		${SSH} -nqo "Protocol=$p" -F $OBJ/ssh_config somehost \
27		    cat ${DATA} > ${COPY}
28		if [ $? -ne 0 ]; then
29			fail "ssh cat $DATA failed"
30		fi
31		cmp ${DATA} ${COPY}		|| fail "corrupted copy"
32		rm -f ${COPY}
33	done
34}
35
36verbose "test config passing"
37
38cp $OBJ/sshd_config $OBJ/sshd_config.orig
39start_sshd
40echo "InvalidXXX=no" >> $OBJ/sshd_config
41
42copy_tests
43
44$SUDO kill `cat $PIDFILE`
45rm -f $PIDFILE
46
47cp $OBJ/sshd_config.orig $OBJ/sshd_config
48
49verbose "test reexec fallback"
50
51start_sshd_copy
52rm -f $SSHD_COPY
53
54copy_tests
55
56$SUDO kill `cat $PIDFILE`
57rm -f $PIDFILE
58
59verbose "test reexec fallback without privsep"
60
61cp $OBJ/sshd_config.orig $OBJ/sshd_config
62echo "UsePrivilegeSeparation=no" >> $OBJ/sshd_config
63
64start_sshd_copy
65rm -f $SSHD_COPY
66
67copy_tests
68
69$SUDO kill `cat $PIDFILE`
70rm -f $PIDFILE
71
72
73