11305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood# $OpenBSD: reexec.sh,v 1.5 2004/10/08 02:01:50 djm Exp $ 21305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood# Placed in the Public Domain. 31305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 41305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodtid="reexec tests" 51305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 61305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodDATA=/bin/ls${EXEEXT} 71305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodCOPY=${OBJ}/copy 81305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodSSHD_ORIG=$SSHD${EXEEXT} 91305e95ba6ff9fa202d0818caf10405df4b0f648Mike LockwoodSSHD_COPY=$OBJ/sshd${EXEEXT} 101305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 111305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood# Start a sshd and then delete it 121305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodstart_sshd_copy () 131305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood{ 141305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood cp $SSHD_ORIG $SSHD_COPY 151305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood SSHD=$SSHD_COPY 161305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood start_sshd 171305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood SSHD=$SSHD_ORIG 181305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood} 191305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 201305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood# Do basic copy tests 211305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodcopy_tests () 221305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood{ 231305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood rm -f ${COPY} 241305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood for p in 1 2; do 251305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood verbose "$tid: proto $p" 261305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood ${SSH} -nqo "Protocol=$p" -F $OBJ/ssh_config somehost \ 271305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood cat ${DATA} > ${COPY} 281305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood if [ $? -ne 0 ]; then 291305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood fail "ssh cat $DATA failed" 301305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood fi 311305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood cmp ${DATA} ${COPY} || fail "corrupted copy" 321305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood rm -f ${COPY} 331305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood done 341305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood} 351305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 361305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodverbose "test config passing" 371305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 381305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodcp $OBJ/sshd_config $OBJ/sshd_config.orig 391305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodstart_sshd 401305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodecho "InvalidXXX=no" >> $OBJ/sshd_config 411305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 421305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodcopy_tests 431305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 441305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood$SUDO kill `$SUDO cat $PIDFILE` 451305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodrm -f $PIDFILE 461305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 471305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodcp $OBJ/sshd_config.orig $OBJ/sshd_config 481305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 491305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodverbose "test reexec fallback" 501305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 511305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodstart_sshd_copy 521305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodrm -f $SSHD_COPY 531305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 541305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodcopy_tests 551305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 561305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood$SUDO kill `$SUDO cat $PIDFILE` 571305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodrm -f $PIDFILE 581305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 591305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodverbose "test reexec fallback without privsep" 601305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 611305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodcp $OBJ/sshd_config.orig $OBJ/sshd_config 621305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodecho "UsePrivilegeSeparation=no" >> $OBJ/sshd_config 631305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 641305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodstart_sshd_copy 651305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodrm -f $SSHD_COPY 661305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 671305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodcopy_tests 681305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 691305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood$SUDO kill `$SUDO cat $PIDFILE` 701305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwoodrm -f $PIDFILE 711305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 721305e95ba6ff9fa202d0818caf10405df4b0f648Mike Lockwood 73