]> git.ipfire.org Git - thirdparty/openssh-portable.git/commitdiff
upstream: Add regress test for SIGHUP restart
authordtucker@openbsd.org <dtucker@openbsd.org>
Thu, 10 Jun 2021 03:45:31 +0000 (03:45 +0000)
committerDarren Tucker <dtucker@dtucker.net>
Thu, 10 Jun 2021 09:49:13 +0000 (19:49 +1000)
while handling active and unauthenticated clients.  Should catch anything
similar to the pselect bug just fixed in sshd.c.

OpenBSD-Regress-ID: 3b3c19b5e75e43af1ebcb9586875b3ae3a4cac73

regress/reconfigure.sh

index dd15eddb2a241b1d1e53f129e5bd064fcbf3ab9a..e0d60375284bdb43e7e66e747b9f1251a7e436b1 100644 (file)
@@ -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