summaryrefslogtreecommitdiff
path: root/regress/reconfigure.sh
diff options
context:
space:
mode:
authordtucker@openbsd.org <dtucker@openbsd.org>2021-06-10 03:45:31 +0000
committerDarren Tucker <dtucker@dtucker.net>2021-06-10 19:49:13 +1000
commit9d0892153c005cc65897e9372b01fa66fcbe2842 (patch)
tree09dd9c32222025b2b4c6a67c4a025535a211c1c5 /regress/reconfigure.sh
parent73f6f191f44440ca3049b9d3c8e5401d10b55097 (diff)
upstream: Add regress test for SIGHUP restart
while handling active and unauthenticated clients. Should catch anything similar to the pselect bug just fixed in sshd.c. OpenBSD-Regress-ID: 3b3c19b5e75e43af1ebcb9586875b3ae3a4cac73
Diffstat (limited to 'regress/reconfigure.sh')
-rw-r--r--regress/reconfigure.sh24
1 files changed, 23 insertions, 1 deletions
diff --git a/regress/reconfigure.sh b/regress/reconfigure.sh
index dd15eddb..e0d60375 100644
--- a/regress/reconfigure.sh
+++ b/regress/reconfigure.sh
@@ -1,4 +1,4 @@
-# $OpenBSD: reconfigure.sh,v 1.6 2017/04/30 23:34:55 djm Exp $
+# $OpenBSD: reconfigure.sh,v 1.7 2021/06/10 03:45:31 dtucker Exp $
# Placed in the Public Domain.
tid="simple connect after reconfigure"
@@ -41,3 +41,25 @@ ${SSH} -F $OBJ/ssh_config somehost true
if [ $? -ne 0 ]; then
fail "ssh connect with failed after reconfigure"
fi
+
+trace "reconfigure with active clients"
+${SSH} -F $OBJ/ssh_config somehost sleep 10 # authenticated client
+${NC} -d 127.0.0.1 $PORT >/dev/null & # unauthenticated client
+PID=`cat $PIDFILE`
+rm -f $PIDFILE
+$SUDO kill -HUP $PID
+
+trace "wait for sshd to restart"
+i=0;
+while [ ! -f $PIDFILE -a $i -lt 10 ]; do
+ i=`expr $i + 1`
+ sleep $i
+done
+
+test -f $PIDFILE || fatal "sshd did not restart"
+
+trace "connect after restart with active clients"
+${SSH} -F $OBJ/ssh_config somehost true
+if [ $? -ne 0 ]; then
+ fail "ssh connect with failed after reconfigure"
+fi