]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Check serve-stale behavior with a cold cache
authorMichał Kępień <michal@isc.org>
Mon, 22 Oct 2018 13:26:45 +0000 (15:26 +0200)
committerMichał Kępień <michal@isc.org>
Wed, 31 Oct 2018 13:08:09 +0000 (14:08 +0100)
Ensure that serve-stale works as expected when returning stale answers
is enabled, the authoritative server does not respond, and there is no
cached answer available.

bin/tests/system/serve-stale/tests.sh

index 457922cc2b0ca7598efe85a0f43236b50bb8cacf..c3460b8fe37e18d0e51a4a8ffaa9abbd5329ac99 100755 (executable)
@@ -383,6 +383,17 @@ grep "syntax error" rndc.out.test$n > /dev/null || ret=1
 if [ $ret != 0 ]; then echo_i "failed"; fi
 status=`expr $status + $ret`
 
+n=`expr $n + 1`
+echo_i "flush cache, re-enable serve-stale and query again ($n)"
+ret=0
+$RNDCCMD 10.53.0.1 flushtree example > rndc.out.test$n.1 2>&1 || ret=1
+$RNDCCMD 10.53.0.1 serve-stale on > rndc.out.test$n.2 2>&1 || ret=1
+$DIG -p ${PORT} @10.53.0.1 data.example TXT > dig.out.test$n
+grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
+grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
+if [ $ret != 0 ]; then echo_i "failed"; fi
+status=`expr $status + $ret`
+
 n=`expr $n + 1`
 echo_i "enable responses from authoritative server ($n)"
 ret=0