]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Wait more than 1 second for NSEC3 chain changes
authorMichał Kępień <michal@isc.org>
Tue, 23 Apr 2019 12:59:05 +0000 (14:59 +0200)
committerMichał Kępień <michal@isc.org>
Tue, 23 Apr 2019 12:59:05 +0000 (14:59 +0200)
One second may not be enough for an NSEC3 chain change triggered by an
UPDATE message to complete.  Wait up to 10 seconds when checking whether
a given NSEC3 chain change is complete in the "nsupdate" system test.

bin/tests/system/nsupdate/tests.sh

index 78e76d951338b2fc74ae098e537963624fe14a52..b73d1785bbcf836272da2dea2f88007521019407 100755 (executable)
@@ -450,18 +450,24 @@ grep "flags:[^;]* aa[ ;]" dig.out.ns3.$n > /dev/null || ret=1
 
 n=`expr $n + 1`
 ret=0
-echo_i "add a new the NSEC3PARAM via update ($n)"
+echo_i "add a new NSEC3PARAM via update ($n)"
 $NSUPDATE << EOF
 server 10.53.0.3 ${PORT}
 update add nsec3param.test 3600 NSEC3PARAM 1 0 4 -
 send
 EOF
 
-sleep 1
+_ret=1
+for i in 0 1 2 3 4 5 6 7 8 9; do
+       $DIG $DIGOPTS +tcp +norec +time=1 +tries=1 @10.53.0.3 nsec3param.test. NSEC3PARAM > dig.out.ns3.$n || _ret=1
+       if grep "ANSWER: 2" dig.out.ns3.$n > /dev/null; then
+               _ret=0
+               break
+       fi
+       sleep 1
+done
 
-$DIG $DIGOPTS +tcp +noadd +nosea +nostat +noquest +nocmd +norec nsec3param.test.\
-        @10.53.0.3 nsec3param > dig.out.ns3.$n || ret=1
-grep "ANSWER: 2" dig.out.ns3.$n > /dev/null || ret=1
+if [ $_ret -ne 0 ]; then ret=1; fi
 grep "NSEC3PARAM 1 0 4 -" dig.out.ns3.$n > /dev/null || ret=1
 grep "flags:[^;]* aa[ ;]" dig.out.ns3.$n > /dev/null || ret=1
 if [ $ret != 0 ] ; then echo_i "failed"; status=`expr $ret + $status`; fi
@@ -476,11 +482,17 @@ update add nsec3param.test 7200 NSEC3PARAM 1 0 5 -
 send
 EOF
 
-sleep 1
+_ret=1
+for i in 0 1 2 3 4 5 6 7 8 9; do
+       $DIG $DIGOPTS +tcp +norec +time=1 +tries=1 @10.53.0.3 nsec3param.test. NSEC3PARAM > dig.out.ns3.$n || _ret=1
+       if grep "ANSWER: 1" dig.out.ns3.$n > /dev/null; then
+               _ret=0
+               break
+       fi
+       sleep 1
+done
 
-$DIG $DIGOPTS +tcp +noadd +nosea +nostat +noquest +nocmd +norec nsec3param.test.\
-        @10.53.0.3 nsec3param > dig.out.ns3.$n || ret=1
-grep "ANSWER: 1" dig.out.ns3.$n > /dev/null || ret=1
+if [ $_ret -ne 0 ]; then ret=1; fi
 grep "7200.*NSEC3PARAM 1 0 5 -" dig.out.ns3.$n > /dev/null || ret=1
 grep "flags:[^;]* aa[ ;]" dig.out.ns3.$n > /dev/null || ret=1
 $JOURNALPRINT ns3/nsec3param.test.db.signed.jnl > jp.out.ns3.$n