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