summaryrefslogtreecommitdiffstats
path: root/debian/patches/0023-Wait-more-than-1-second-for-NSEC3-chain-changes.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/0023-Wait-more-than-1-second-for-NSEC3-chain-changes.patch')
-rw-r--r--debian/patches/0023-Wait-more-than-1-second-for-NSEC3-chain-changes.patch71
1 files changed, 71 insertions, 0 deletions
diff --git a/debian/patches/0023-Wait-more-than-1-second-for-NSEC3-chain-changes.patch b/debian/patches/0023-Wait-more-than-1-second-for-NSEC3-chain-changes.patch
new file mode 100644
index 0000000..6f2593c
--- /dev/null
+++ b/debian/patches/0023-Wait-more-than-1-second-for-NSEC3-chain-changes.patch
@@ -0,0 +1,71 @@
+From: =?utf-8?b?TWljaGHFgiBLxJlwaWXFhA==?= <michal@isc.org>
+Date: Tue, 23 Apr 2019 14:59:05 +0200
+Subject: Wait more than 1 second for NSEC3 chain changes
+
+Origin: https://gitlab.isc.org/isc-projects/bind9/commit/4e2cc911d2ceb90ec04605451fb1bb518ef75cd0
+
+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.
+
+(cherry picked from commit f8746cddbce838fec2a28f00617df6af1319fbc8)
+---
+ bin/tests/system/nsupdate/tests.sh | 30 +++++++++++++++++++++---------
+ 1 file changed, 21 insertions(+), 9 deletions(-)
+
+diff --git a/bin/tests/system/nsupdate/tests.sh b/bin/tests/system/nsupdate/tests.sh
+index 9f26572..c72753b 100755
+--- a/bin/tests/system/nsupdate/tests.sh
++++ b/bin/tests/system/nsupdate/tests.sh
+@@ -454,18 +454,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
+@@ -480,11 +486,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