Handle dig timing out gracefully in serve-stale
(cherry picked from commit 4351076d48)
This commit is contained in:
@@ -32,7 +32,7 @@ echo_i "test server with serve-stale options set"
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache longttl.example TXT ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.1 longttl.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.1 longttl.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -41,7 +41,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache data.example TXT ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -50,7 +50,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache othertype.example CAA ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.1 othertype.example CAA >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.1 othertype.example CAA >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -59,7 +59,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache nodata.example TXT ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.1 nodata.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.1 nodata.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" 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
|
||||
@@ -68,7 +68,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache nxdomain.example TXT ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.1 nxdomain.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.1 nxdomain.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NXDOMAIN" 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
|
||||
@@ -94,7 +94,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "disable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"0\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -222,7 +222,7 @@ status=$((status + ret))
|
||||
# Step 4.
|
||||
n=$((n + 1))
|
||||
echo_i "sending query for test ($n)"
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$n || ret=1
|
||||
|
||||
# Step 5.
|
||||
echo_i "check stale data.example TXT (stale-refresh-time) ($n)"
|
||||
@@ -238,7 +238,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "enable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -246,7 +246,7 @@ status=$((status + ret))
|
||||
|
||||
# Step 7.
|
||||
echo_i "sending query for test $((n + 1))"
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$((n + 1))
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$((n + 1)) || true
|
||||
|
||||
# Step 8.
|
||||
n=$((n + 1))
|
||||
@@ -272,7 +272,7 @@ threshold=10
|
||||
while [ $num -lt $threshold ]; do
|
||||
|
||||
echo_i "dig test.serve.stale TXT ($n)"
|
||||
$DIG -p ${PORT} @10.53.0.3 test.serve.stale TXT >dig.out.test$n.$num
|
||||
$DIG -p ${PORT} @10.53.0.3 test.serve.stale TXT >dig.out.test$n.$num || ret=1
|
||||
grep "status: SERVFAIL" dig.out.test$n.$num >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then num=$threshold; fi
|
||||
|
||||
@@ -311,7 +311,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "disable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"0\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -552,7 +552,7 @@ 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
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$n || ret=1
|
||||
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
|
||||
@@ -569,7 +569,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "enable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -578,7 +578,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache longttl.example TXT (low max-stale-ttl) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.1 longttl.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.1 longttl.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -587,7 +587,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache data.example TXT (low max-stale-ttl) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -596,7 +596,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache othertype.example CAA (low max-stale-ttl) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.1 othertype.example CAA >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.1 othertype.example CAA >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -605,7 +605,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache nodata.example TXT (low max-stale-ttl) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.1 nodata.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.1 nodata.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" 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
|
||||
@@ -614,7 +614,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache nxdomain.example TXT (low max-stale-ttl) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.1 nxdomain.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.1 nxdomain.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NXDOMAIN" 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
|
||||
@@ -644,7 +644,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
n=$((n + 1))
|
||||
echo_i "disable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"0\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -790,7 +790,7 @@ n=$((n + 1))
|
||||
echo_i "flush cache, enable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$RNDCCMD 10.53.0.1 flushtree example >rndc.out.test$n.1 2>&1 || ret=1
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -808,7 +808,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache data.example TXT (stale-refresh-time rndc) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "data\.example\..*2.*IN.*TXT.*A text record with a 2 second ttl" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -819,7 +819,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "disable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"0\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -831,7 +831,7 @@ sleep 2
|
||||
# Step 4.
|
||||
n=$((n + 1))
|
||||
echo_i "sending query for test ($n)"
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$n || ret=1
|
||||
|
||||
# Step 5.
|
||||
echo_i "check stale data.example TXT (stale-refresh-time rndc) ($n)"
|
||||
@@ -847,7 +847,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "enable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -855,7 +855,7 @@ status=$((status + ret))
|
||||
|
||||
# Step 7.
|
||||
echo_i "sending query for test $((n + 1))"
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$((n + 1))
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$((n + 1)) || true
|
||||
|
||||
# Step 8.
|
||||
n=$((n + 1))
|
||||
@@ -904,7 +904,7 @@ n=$((n + 1))
|
||||
echo_i "flush cache, enable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$RNDCCMD 10.53.0.1 flushtree example >rndc.out.test$n.1 2>&1 || ret=1
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -914,7 +914,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache data.example TXT (stale-refresh-time disabled) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "EDE" dig.out.test$n >/dev/null && ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
@@ -926,7 +926,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "disable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"0\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -938,7 +938,7 @@ sleep 2
|
||||
# Step 4.
|
||||
n=$((n + 1))
|
||||
echo_i "sending query for test ($n)"
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$n || ret=1
|
||||
|
||||
# Step 5.
|
||||
echo_i "check stale data.example TXT (stale-refresh-time disabled) ($n)"
|
||||
@@ -954,7 +954,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "enable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -962,7 +962,7 @@ status=$((status + ret))
|
||||
|
||||
# Step 7.
|
||||
echo_i "sending query for test $((n + 1))"
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$((n + 1))
|
||||
$DIG -p ${PORT} @10.53.0.1 data.example TXT >dig.out.test$((n + 1)) || true
|
||||
|
||||
# Step 8.
|
||||
n=$((n + 1))
|
||||
@@ -994,7 +994,7 @@ start_server --noclean --restart --port ${PORT} ns3
|
||||
n=$((n + 1))
|
||||
echo_i "enable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -1003,7 +1003,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache longttl.example TXT (max-stale-ttl default) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.3 longttl.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 longttl.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -1012,7 +1012,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache data.example TXT (max-stale-ttl default) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "data\.example\..*2.*IN.*TXT.*A text record with a 2 second ttl" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -1022,7 +1022,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache othertype.example CAA (max-stale-ttl default) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.3 othertype.example CAA >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 othertype.example CAA >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "othertype\.example\..*2.*IN.*CAA.*0.*issue" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -1032,7 +1032,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache nodata.example TXT (max-stale-ttl default) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.3 nodata.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 nodata.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 0," dig.out.test$n >/dev/null || ret=1
|
||||
grep "example\..*2.*IN.*SOA" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -1042,7 +1042,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache nxdomain.example TXT (max-stale-ttl default) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.3 nxdomain.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 nxdomain.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NXDOMAIN" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 0," dig.out.test$n >/dev/null || ret=1
|
||||
grep "example\..*2.*IN.*SOA" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -1069,7 +1069,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
n=$((n + 1))
|
||||
echo_i "disable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"0\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -1242,7 +1242,7 @@ echo_i "test server with serve-stale disabled"
|
||||
n=$((n + 1))
|
||||
echo_i "enable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -1251,7 +1251,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache longttl.example TTL (serve-stale answers disabled) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.4 longttl.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.4 longttl.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -1260,7 +1260,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache data.example TTL (serve-stale answers disabled) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.4 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.4 data.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "data\.example\..*2.*IN.*TXT.*A text record with a 2 second ttl" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -1270,7 +1270,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache othertype.example CAA (serve-stale answers disabled) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.4 othertype.example CAA >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.4 othertype.example CAA >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "othertype\.example\..*2.*IN.*CAA.*0.*issue" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -1280,7 +1280,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache nodata.example TXT (serve-stale answers disabled) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.4 nodata.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.4 nodata.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 0," dig.out.test$n >/dev/null || ret=1
|
||||
grep "example\..*2.*IN.*SOA" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -1290,7 +1290,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache nxdomain.example TXT (serve-stale answers disabled) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.4 nxdomain.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.4 nxdomain.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NXDOMAIN" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 0," dig.out.test$n >/dev/null || ret=1
|
||||
grep "example\..*2.*IN.*SOA" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -1317,7 +1317,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
n=$((n + 1))
|
||||
echo_i "disable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"0\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -1450,7 +1450,7 @@ echo_i "test server with serve-stale cache disabled"
|
||||
n=$((n + 1))
|
||||
echo_i "enable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -1459,7 +1459,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache longttl.example TXT (serve-stale cache disabled) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.5 longttl.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.5 longttl.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -1468,7 +1468,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache data.example TXT (serve-stale cache disabled) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.5 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.5 data.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "data\.example\..*2.*IN.*TXT.*A text record with a 2 second ttl" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -1478,7 +1478,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache othertype.example CAA (serve-stale cache disabled) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.5 othertype.example CAA >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.5 othertype.example CAA >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "othertype\.example\..*2.*IN.*CAA.*0.*issue" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -1488,7 +1488,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache nodata.example TXT (serve-stale cache disabled) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.5 nodata.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.5 nodata.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 0," dig.out.test$n >/dev/null || ret=1
|
||||
grep "example\..*2.*IN.*SOA" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -1498,7 +1498,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache nxdomain.example TXT (serve-stale cache disabled) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.5 nxdomain.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.5 nxdomain.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NXDOMAIN" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 0," dig.out.test$n >/dev/null || ret=1
|
||||
grep "example\..*2.*IN.*SOA" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -1525,7 +1525,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
n=$((n + 1))
|
||||
echo_i "disable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"0\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -1705,7 +1705,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "enable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -1714,7 +1714,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache data.example TXT (stale-answer-client-timeout) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -1723,7 +1723,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache nodata.example TXT (stale-answer-client-timeout) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.3 nodata.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 nodata.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" 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
|
||||
@@ -1732,7 +1732,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "delay responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt slowdown >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt slowdown >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -1741,7 +1741,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache data.slow TXT (stale-answer-client-timeout) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.3 data.slow TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 data.slow TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -1750,7 +1750,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "disable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"0\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -1827,7 +1827,7 @@ $DIG -p ${PORT} +tries=1 +timeout=3 @10.53.0.3 longttl.example TXT >dig.out.test
|
||||
n=$((n + 1))
|
||||
echo_i "enable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -1910,7 +1910,7 @@ sleep 3
|
||||
n=$((n + 1))
|
||||
echo_i "enable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -1936,7 +1936,7 @@ echo_i "test stale-answer-client-timeout (0) and CNAME record"
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache shortttl.cname.example (stale-answer-client-timeout off) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.3 shortttl.cname.example A >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 shortttl.cname.example A >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 2," dig.out.test$n >/dev/null || ret=1
|
||||
grep "shortttl\.cname\.example\..*1.*IN.*CNAME.*longttl\.target\.example\." dig.out.test$n >/dev/null || ret=1
|
||||
@@ -1950,7 +1950,7 @@ sleep 1
|
||||
n=$((n + 1))
|
||||
echo_i "disable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"0\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -1960,7 +1960,7 @@ n=$((n + 1))
|
||||
ret=0
|
||||
echo_i "check stale shortttl.cname.example comes from cache (stale-answer-client-timeout off) ($n)"
|
||||
nextpart ns3/named.run >/dev/null
|
||||
$DIG -p ${PORT} @10.53.0.3 shortttl.cname.example A >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 shortttl.cname.example A >dig.out.test$n || ret=1
|
||||
wait_for_log 5 "shortttl.cname.example resolver failure, stale answer used" ns3/named.run || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "EDE: 3 (Stale Answer): (resolver failure)" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -1974,7 +1974,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "enable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -2021,7 +2021,7 @@ start_server --noclean --restart --port ${PORT} ns3
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache data.example TXT (stale-answer-client-timeout 0)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -2030,7 +2030,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache nodata.example TXT (stale-answer-client-timeout 0)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.3 nodata.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 nodata.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" 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
|
||||
@@ -2039,7 +2039,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "disable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"0\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -2052,7 +2052,7 @@ n=$((n + 1))
|
||||
ret=0
|
||||
echo_i "check stale nodata.example TXT comes from cache (stale-answer-client-timeout 0) ($n)"
|
||||
nextpart ns3/named.run >/dev/null
|
||||
$DIG -p ${PORT} @10.53.0.3 nodata.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 nodata.example TXT >dig.out.test$n || ret=1
|
||||
wait_for_log 5 "nodata.example stale answer used, an attempt to refresh the RRset" ns3/named.run || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "EDE: 3 (Stale Answer): (stale data prioritized over lookup)" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -2065,7 +2065,7 @@ n=$((n + 1))
|
||||
ret=0
|
||||
echo_i "check stale data.example TXT comes from cache (stale-answer-client-timeout 0) ($n)"
|
||||
nextpart ns3/named.run >/dev/null
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n || ret=1
|
||||
wait_for_log 5 "data.example stale answer used, an attempt to refresh the RRset" ns3/named.run || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "EDE: 3 (Stale Answer): (stale data prioritized over lookup)" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -2077,14 +2077,14 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "enable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
status=$((status + ret))
|
||||
|
||||
wait_for_rrset_refresh() {
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n || return 1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || return 1
|
||||
grep "EDE" dig.out.test$n >/dev/null && return 1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || return 1
|
||||
@@ -2102,7 +2102,7 @@ if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
status=$((status + ret))
|
||||
|
||||
wait_for_nodata_refresh() {
|
||||
$DIG -p ${PORT} @10.53.0.3 nodata.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 nodata.example TXT >dig.out.test$n || return 1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || return 1
|
||||
grep "ANSWER: 0," dig.out.test$n >/dev/null || return 1
|
||||
grep "example\..*[12].*IN.*SOA" dig.out.test$n >/dev/null || return 1
|
||||
@@ -2125,7 +2125,7 @@ echo_i "test stale-answer-client-timeout (0) and recursive-clients 10"
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache data.slow TXT (stale-answer-client-timeout 0) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.3 data.slow TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 data.slow TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -2138,7 +2138,7 @@ while [ $ret -eq 0 ] && [ $attempt -lt 2 ]; do
|
||||
n=$((n + 1))
|
||||
echo_i "slow down response from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 slowdown TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 slowdown TXT >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -2180,7 +2180,7 @@ echo_i "test stale-answer-client-timeout (0) and CNAME record"
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache cname1.stale.test A (stale-answer-client-timeout 0) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.3 cname1.stale.test A >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 cname1.stale.test A >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 2," dig.out.test$n >/dev/null || ret=1
|
||||
grep "cname1\.stale\.test\..*1.*IN.*CNAME.*a1\.stale\.test\." dig.out.test$n >/dev/null || ret=1
|
||||
@@ -2195,7 +2195,7 @@ n=$((n + 1))
|
||||
ret=0
|
||||
echo_i "check stale cname1.stale.test A comes from cache (stale-answer-client-timeout 0) ($n)"
|
||||
nextpart ns3/named.run >/dev/null
|
||||
$DIG -p ${PORT} @10.53.0.3 cname1.stale.test A >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 cname1.stale.test A >dig.out.test$n || ret=1
|
||||
wait_for_log 5 "cname1.stale.test stale answer used, an attempt to refresh the RRset" ns3/named.run || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "EDE: 3 (Stale Answer): (stale data prioritized over lookup)" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -2219,7 +2219,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache cname2.stale.test A (stale-answer-client-timeout 0) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.3 cname2.stale.test A >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 cname2.stale.test A >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 2," dig.out.test$n >/dev/null || ret=1
|
||||
grep "cname2\.stale\.test\..*1.*IN.*CNAME.*a2\.stale\.test\." dig.out.test$n >/dev/null || ret=1
|
||||
@@ -2234,7 +2234,7 @@ n=$((n + 1))
|
||||
ret=0
|
||||
echo_i "check stale cname2.stale.test A comes from cache (stale-answer-client-timeout 0) ($n)"
|
||||
nextpart ns3/named.run >/dev/null
|
||||
$DIG -p ${PORT} @10.53.0.3 cname2.stale.test A >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 cname2.stale.test A >dig.out.test$n || ret=1
|
||||
wait_for_log 5 "cname2.stale.test stale answer used, an attempt to refresh the RRset" ns3/named.run || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "EDE: 3 (Stale Answer): (stale data prioritized over lookup)" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -2279,7 +2279,7 @@ n=$((n + 1))
|
||||
echo_i "flush cache, enable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$RNDCCMD 10.53.0.3 flushtree example >rndc.out.test$n.1 2>&1 || ret=1
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -2288,7 +2288,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache data.example TXT (stale-answer-client-timeout 0, stale-refresh-time 4) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "data\.example\..*2.*IN.*TXT.*A text record with a 2 second ttl" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -2301,7 +2301,7 @@ sleep 2
|
||||
n=$((n + 1))
|
||||
echo_i "disable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"0\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -2311,7 +2311,7 @@ n=$((n + 1))
|
||||
ret=0
|
||||
echo_i "check stale data.example TXT comes from cache (stale-answer-client-timeout 0 stale-refresh-time 4) ($n)"
|
||||
nextpart ns3/named.run >/dev/null
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n || ret=1
|
||||
wait_for_log 5 "data.example stale answer used, an attempt to refresh the RRset" ns3/named.run || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "EDE: 3 (Stale Answer): (stale data prioritized over lookup)" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -2323,7 +2323,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "enable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -2345,7 +2345,7 @@ sleep 2
|
||||
n=$((n + 1))
|
||||
echo_i "disable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"0\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -2355,7 +2355,7 @@ n=$((n + 1))
|
||||
ret=0
|
||||
echo_i "check stale data.example TXT comes from cache (stale-answer-client-timeout 0 stale-refresh-time 4) ($n)"
|
||||
nextpart ns3/named.run >/dev/null
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n || ret=1
|
||||
wait_for_log 5 "data.example stale answer used, an attempt to refresh the RRset" ns3/named.run || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "EDE: 3 (Stale Answer): (stale data prioritized over lookup)" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -2376,7 +2376,7 @@ n=$((n + 1))
|
||||
ret=0
|
||||
echo_i "check stale data.example TXT comes from cache within stale-refresh-time (stale-answer-client-timeout 0 stale-refresh-time 4) ($n)"
|
||||
nextpart ns3/named.run >/dev/null
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n || ret=1
|
||||
wait_for_log 5 "data.example query within stale refresh time" ns3/named.run || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "EDE: 3 (Stale Answer): (query within stale refresh time window)" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -2388,7 +2388,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "enable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -2403,7 +2403,7 @@ n=$((n + 1))
|
||||
ret=0
|
||||
echo_i "check stale data.example TXT was not refreshed (stale-answer-client-timeout 0 stale-refresh-time 4) ($n)"
|
||||
nextpart ns3/named.run >/dev/null
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n || ret=1
|
||||
wait_for_log 5 "data.example query within stale refresh time" ns3/named.run || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "EDE: 3 (Stale Answer): (query within stale refresh time window)" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -2418,7 +2418,7 @@ sleep 4
|
||||
n=$((n + 1))
|
||||
ret=0
|
||||
echo_i "check stale data.example TXT comes from cache (stale-answer-client-timeout 0 stale-refresh-time 4) ($n)"
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n || ret=1
|
||||
wait_for_log 5 "data.example stale answer used, an attempt to refresh the RRset" ns3/named.run || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "EDE: 3 (Stale Answer): (stale data prioritized over lookup)" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -2430,7 +2430,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
ret=0
|
||||
echo_i "check stale data.example TXT was refreshed (stale-answer-client-timeout 0 stale-refresh-time 4) ($n)"
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "EDE" dig.out.test$n >/dev/null && ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
@@ -2465,7 +2465,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "disable responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"0\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
@@ -2508,7 +2508,7 @@ wait_for_fetchlimits() {
|
||||
burst 2
|
||||
# We expect a query for nx.example to fail because fetch-limits for
|
||||
# the domain 'example.' (and everything below) has been reached.
|
||||
$DIG -p ${PORT} +tries=1 +timeout=1 @10.53.0.3 nx.example >dig.out.test$n
|
||||
$DIG -p ${PORT} +tries=1 +timeout=1 @10.53.0.3 nx.example >dig.out.test$n || return 1
|
||||
grep "status: SERVFAIL" dig.out.test$n >/dev/null || return 1
|
||||
}
|
||||
|
||||
@@ -2526,7 +2526,7 @@ n=$((n + 1))
|
||||
ret=0
|
||||
echo_i "check stale data.example TXT comes from cache (fetch-limits) ($n)"
|
||||
nextpart ns3/named.run >/dev/null
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n || ret=1
|
||||
wait_for_log 5 "data.example resolver failure, stale answer used" ns3/named.run || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "EDE: 3 (Stale Answer): (resolver failure" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -2540,7 +2540,7 @@ n=$((n + 1))
|
||||
ret=0
|
||||
echo_i "check stale data.example TXT comes from cache again (fetch-limits) ($n)"
|
||||
nextpart ns3/named.run >/dev/null
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 data.example TXT >dig.out.test$n || ret=1
|
||||
wait_for_log 5 "data.example resolver failure, stale answer used" ns3/named.run || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "EDE: 3 (Stale Answer): (resolver failure" dig.out.test$n >/dev/null || ret=1
|
||||
@@ -2645,21 +2645,21 @@ copy_setports ns3/named8.conf.in ns3/named.conf
|
||||
rndc_reload ns3 10.53.0.3
|
||||
# flush cache, enable ans2 responses, make sure serve-stale is on
|
||||
$RNDCCMD 10.53.0.3 flush >rndc.out.test$n.1 2>&1 || ret=1
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >/dev/null
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >/dev/null || ret=1
|
||||
$RNDCCMD 10.53.0.3 serve-stale on >rndc.out.test$n.2 2>&1 || ret=1
|
||||
# prime the cache with an AAAA NXRRSET response
|
||||
$DIG -p ${PORT} @10.53.0.3 a-only.example AAAA >dig.out.1.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 a-only.example AAAA >dig.out.1.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.1.test$n >/dev/null || ret=1
|
||||
grep "2001:aaaa" dig.out.1.test$n >/dev/null || ret=1
|
||||
# disable responses from the auth server
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >/dev/null
|
||||
$DIG -p ${PORT} @10.53.0.2 txt disable >/dev/null || ret=1
|
||||
# wait two seconds for the previous answer to become stale
|
||||
sleep 2
|
||||
# resend the query and wait in the background; we should get a stale answer
|
||||
$DIG -p ${PORT} @10.53.0.3 a-only.example AAAA >dig.out.2.test$n &
|
||||
# re-enable queries after a pause, so the server gets a real answer too
|
||||
sleep 2
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >/dev/null
|
||||
$DIG -p ${PORT} @10.53.0.2 txt enable >/dev/null || ret=1
|
||||
wait
|
||||
grep "status: NOERROR" dig.out.2.test$n >/dev/null || ret=1
|
||||
grep "2001:aaaa" dig.out.2.test$n >/dev/null || ret=1
|
||||
@@ -2702,7 +2702,7 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "prime cache cname.example A (stale-answer-client-timeout 1.8) ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.3 cname.example A >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.3 cname.example A >dig.out.test$n || ret=1
|
||||
grep "status: NOERROR" dig.out.test$n >/dev/null || ret=1
|
||||
grep "ANSWER: 2," dig.out.test$n >/dev/null || ret=1
|
||||
grep "cname\.example\..*7.*IN.*CNAME.*target\.example\." dig.out.test$n >/dev/null || ret=1
|
||||
@@ -2718,7 +2718,7 @@ sleep 7
|
||||
n=$((n + 1))
|
||||
echo_i "delay responses from authoritative server ($n)"
|
||||
ret=0
|
||||
$DIG -p ${PORT} @10.53.0.2 txt slowdown >dig.out.test$n
|
||||
$DIG -p ${PORT} @10.53.0.2 txt slowdown >dig.out.test$n || ret=1
|
||||
grep "ANSWER: 1," dig.out.test$n >/dev/null || ret=1
|
||||
grep "TXT.\"1\"" dig.out.test$n >/dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
|
||||
Reference in New Issue
Block a user