1#	$OpenBSD: reconfigure.sh,v 1.9 2021/06/10 09:46:28 dtucker Exp $
2#	Placed in the Public Domain.
3
4tid="simple connect after reconfigure"
5
6# we need the full path to sshd for -HUP
7if test "x$USE_VALGRIND" = "x" ; then
8	case $SSHD in
9	/*)
10		# full path is OK
11		;;
12	*)
13		# otherwise make fully qualified
14		SSHD=$OBJ/$SSHD
15	esac
16fi
17
18start_sshd
19
20trace "connect before restart"
21${SSH} -F $OBJ/ssh_config somehost true
22if [ $? -ne 0 ]; then
23	fail "ssh connect with failed before reconfigure"
24fi
25
26PID=`$SUDO cat $PIDFILE`
27rm -f $PIDFILE
28$SUDO kill -HUP $PID
29
30trace "wait for sshd to restart"
31i=0;
32while [ ! -f $PIDFILE -a $i -lt 10 ]; do
33	i=`expr $i + 1`
34	sleep $i
35done
36
37test -f $PIDFILE || fatal "sshd did not restart"
38
39trace "connect after restart"
40${SSH} -F $OBJ/ssh_config somehost true
41if [ $? -ne 0 ]; then
42	fail "ssh connect with failed after reconfigure"
43fi
44
45trace "reconfigure with active clients"
46${SSH} -F $OBJ/ssh_config somehost sleep 10  # authenticated client
47${NC} -d 127.0.0.1 $PORT >/dev/null &  # unauthenticated client
48PID=`$SUDO cat $PIDFILE`
49rm -f $PIDFILE
50$SUDO kill -HUP $PID
51
52trace "wait for sshd to restart"
53i=0;
54while [ ! -f $PIDFILE -a $i -lt 10 ]; do
55	i=`expr $i + 1`
56	sleep $i
57done
58
59test -f $PIDFILE || fatal "sshd did not restart"
60
61trace "connect after restart with active clients"
62${SSH} -F $OBJ/ssh_config somehost true
63if [ $? -ne 0 ]; then
64	fail "ssh connect with failed after reconfigure"
65fi
66