echo_i "test server with serve-stale options set"
n=$((n+1))
-echo_i "prime cache longttl.example ($n)"
+echo_i "prime cache longttl.example TXT ($n)"
ret=0
$DIG -p ${PORT} @10.53.0.1 longttl.example TXT > dig.out.test$n
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache data.example ($n)"
+echo_i "prime cache data.example TXT ($n)"
ret=0
$DIG -p ${PORT} @10.53.0.1 data.example TXT > dig.out.test$n
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache othertype.example ($n)"
+echo_i "prime cache othertype.example CAA ($n)"
ret=0
$DIG -p ${PORT} @10.53.0.1 othertype.example CAA > dig.out.test$n
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache nodata.example ($n)"
+echo_i "prime cache nodata.example TXT ($n)"
ret=0
$DIG -p ${PORT} @10.53.0.1 nodata.example TXT > dig.out.test$n
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache nxdomain.example ($n)"
+echo_i "prime cache nxdomain.example TXT ($n)"
ret=0
$DIG -p ${PORT} @10.53.0.1 nxdomain.example TXT > dig.out.test$n
grep "status: NXDOMAIN" dig.out.test$n > /dev/null || ret=1
wait
n=$((n+1))
-echo_i "check stale data.example ($n)"
+echo_i "check stale data.example TXT ($n)"
ret=0
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check non-stale longttl.example ($n)"
+echo_i "check non-stale longttl.example TXT ($n)"
ret=0
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check stale othertype.example ($n)"
+echo_i "check stale othertype.example CAA ($n)"
ret=0
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check stale nodata.example ($n)"
+echo_i "check stale nodata.example TXT ($n)"
ret=0
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check stale nxdomain.example ($n)"
+echo_i "check stale nxdomain.example TXT ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
$DIG -p ${PORT} @10.53.0.1 data.example TXT > dig.out.test$n
# Step 5.
-echo_i "check stale data.example (stale-refresh-time) ($n)"
+echo_i "check stale data.example TXT (stale-refresh-time) ($n)"
ret=0
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
# Step 8.
n=$((n+1))
-echo_i "check stale data.example comes from cache (stale-refresh-time) ($n)"
+echo_i "check stale data.example TXT comes from cache (stale-refresh-time) ($n)"
ret=0
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
wait
n=$((n+1))
-echo_i "check stale data.example (serve-stale off) ($n)"
+echo_i "check stale data.example TXT (serve-stale off) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check stale othertype.example (serve-stale off) ($n)"
+echo_i "check stale othertype.example CAA (serve-stale off) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check stale nodata.example (serve-stale off) ($n)"
+echo_i "check stale nodata.example TXT (serve-stale off) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check stale nxdomain.example (serve-stale off) ($n)"
+echo_i "check stale nxdomain.example TXT (serve-stale off) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
wait
n=$((n+1))
-echo_i "check stale data.example (serve-stale on) ($n)"
+echo_i "check stale data.example TXT (serve-stale on) ($n)"
ret=0
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
status=$((status+ret))
n=$((n+1))
-echo_i "check stale othertype.example (serve-stale on) ($n)"
+echo_i "check stale othertype.example CAA (serve-stale on) ($n)"
ret=0
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
status=$((status+ret))
n=$((n+1))
-echo_i "check stale nodata.example (serve-stale on) ($n)"
+echo_i "check stale nodata.example TXT (serve-stale on) ($n)"
ret=0
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
status=$((status+ret))
n=$((n+1))
-echo_i "check stale nxdomain.example (serve-stale on) ($n)"
+echo_i "check stale nxdomain.example TXT (serve-stale on) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
wait
n=$((n+1))
-echo_i "check stale data.example (serve-stale reset) ($n)"
+echo_i "check stale data.example TXT (serve-stale reset) ($n)"
ret=0
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
status=$((status+ret))
n=$((n+1))
-echo_i "check stale othertype.example (serve-stale reset) ($n)"
+echo_i "check stale othertype.example CAA (serve-stale reset) ($n)"
ret=0
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
status=$((status+ret))
n=$((n+1))
-echo_i "check stale nodata.example (serve-stale reset) ($n)"
+echo_i "check stale nodata.example TXT (serve-stale reset) ($n)"
ret=0
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
status=$((status+ret))
n=$((n+1))
-echo_i "check stale nxdomain.example (serve-stale reset) ($n)"
+echo_i "check stale nxdomain.example TXT (serve-stale reset) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache longttl.example (low max-stale-ttl) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache data.example (low max-stale-ttl) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache othertype.example (low max-stale-ttl) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache nodata.example (low max-stale-ttl) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache nxdomain.example (low max-stale-ttl) ($n)"
+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
grep "status: NXDOMAIN" dig.out.test$n > /dev/null || ret=1
wait
n=$((n+1))
-echo_i "check stale data.example (low max-stale-ttl) ($n)"
+echo_i "check stale data.example TXT (low max-stale-ttl) ($n)"
ret=0
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
status=$((status+ret))
n=$((n+1))
-echo_i "check stale othertype.example (low max-stale-ttl) ($n)"
+echo_i "check stale othertype.example CAA (low max-stale-ttl) ($n)"
ret=0
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
status=$((status+ret))
n=$((n+1))
-echo_i "check stale nodata.example (low max-stale-ttl) ($n)"
+echo_i "check stale nodata.example TXT (low max-stale-ttl) ($n)"
ret=0
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
status=$((status+ret))
n=$((n+1))
-echo_i "check stale nxdomain.example (low max-stale-ttl) ($n)"
+echo_i "check stale nxdomain.example TXT (low max-stale-ttl) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
wait
n=$((n+1))
-echo_i "check ancient data.example (low max-stale-ttl) ($n)"
+echo_i "check ancient data.example TXT (low max-stale-ttl) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check ancient othertype.example (low max-stale-ttl) ($n)"
+echo_i "check ancient othertype.example CAA (low max-stale-ttl) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check ancient nodata.example (low max-stale-ttl) ($n)"
+echo_i "check ancient nodata.example TXT (low max-stale-ttl) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check ancient nxdomain.example (low max-stale-ttl) ($n)"
+echo_i "check ancient nxdomain.example TXT (low max-stale-ttl) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
# Step 1.
n=$((n+1))
-echo_i "prime cache data.example (stale-refresh-time rndc) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
$DIG -p ${PORT} @10.53.0.1 data.example TXT > dig.out.test$n
# Step 5.
-echo_i "check stale data.example (stale-refresh-time rndc) ($n)"
+echo_i "check stale data.example TXT (stale-refresh-time rndc) ($n)"
ret=0
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
# Step 8.
n=$((n+1))
-echo_i "check stale data.example comes from cache (stale-refresh-time rndc) ($n)"
+echo_i "check stale data.example TXT comes from cache (stale-refresh-time rndc) ($n)"
ret=0
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
# Step 1.
n=$((n+1))
-echo_i "prime cache data.example (stale-refresh-time disabled) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
$DIG -p ${PORT} @10.53.0.1 data.example TXT > dig.out.test$n
# Step 5.
-echo_i "check stale data.example (stale-refresh-time disabled) ($n)"
+echo_i "check stale data.example TXT (stale-refresh-time disabled) ($n)"
ret=0
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
# Step 8.
n=$((n+1))
-echo_i "check data.example comes from authoritative (stale-refresh-time disabled) ($n)"
+echo_i "check data.example TXT comes from authoritative (stale-refresh-time disabled) ($n)"
ret=0
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache longttl.example (max-stale-ttl default) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache data.example (max-stale-ttl default) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache othertype.example (max-stale-ttl default) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache nodata.example (max-stale-ttl default) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache nxdomain.example (max-stale-ttl default) ($n)"
+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
grep "status: NXDOMAIN" dig.out.test$n > /dev/null || ret=1
wait
n=$((n+1))
-echo_i "check fail of data.example (max-stale-ttl default) ($n)"
+echo_i "check fail of data.example TXT (max-stale-ttl default) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check fail of othertype.example (max-stale-ttl default) ($n)"
+echo_i "check fail of othertype.example CAA (max-stale-ttl default) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check fail of nodata.example (max-stale-ttl default) ($n)"
+echo_i "check fail of nodata.example TXT (max-stale-ttl default) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check fail of nxdomain.example (max-stale-ttl default) ($n)"
+echo_i "check fail of nxdomain.example TXT (max-stale-ttl default) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
# Check that if we don't have stale data for a domain name, we will
# not answer anything until the resolver query timeout.
n=$((n+1))
-echo_i "check notincache.example times out (max-stale-ttl default) ($n)"
+echo_i "check notincache.example TXT times out (max-stale-ttl default) ($n)"
ret=0
$DIG -p ${PORT} +tries=1 +timeout=3 @10.53.0.3 notfound.example TXT > dig.out.test$n 2>&1
grep "timed out" dig.out.test$n > /dev/null || ret=1
wait
n=$((n+1))
-echo_i "check data.example (max-stale-ttl default) ($n)"
+echo_i "check data.example TXT (max-stale-ttl default) ($n)"
ret=0
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
status=$((status+ret))
n=$((n+1))
-echo_i "check othertype.example (max-stale-ttl default) ($n)"
+echo_i "check othertype.example CAA (max-stale-ttl default) ($n)"
ret=0
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
status=$((status+ret))
n=$((n+1))
-echo_i "check nodata.example (max-stale-ttl default) ($n)"
+echo_i "check nodata.example TXT (max-stale-ttl default) ($n)"
ret=0
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
status=$((status+ret))
n=$((n+1))
-echo_i "check nxdomain.example (max-stale-ttl default) ($n)"
+echo_i "check nxdomain.example TXT (max-stale-ttl default) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
# The notfound.example check is different than nxdomain.example because
# we didn't send a prime query to add notfound.example to the cache.
n=$((n+1))
-echo_i "check notfound.example (max-stale-ttl default) ($n)"
+echo_i "check notfound.example TXT (max-stale-ttl default) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache longttl.example (serve-stale answers disabled) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache data.example (serve-stale answers disabled) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache othertype.example (serve-stale answers disabled) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache nodata.example (serve-stale answers disabled) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache nxdomain.example (serve-stale answers disabled) ($n)"
+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
grep "status: NXDOMAIN" dig.out.test$n > /dev/null || ret=1
wait
n=$((n+1))
-echo_i "check fail of data.example (serve-stale answers disabled) ($n)"
+echo_i "check fail of data.example TXT (serve-stale answers disabled) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check fail of othertype.example (serve-stale answers disabled) ($n)"
+echo_i "check fail of othertype.example TXT (serve-stale answers disabled) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check fail of nodata.example (serve-stale answers disabled) ($n)"
+echo_i "check fail of nodata.example TXT (serve-stale answers disabled) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check fail of nxdomain.example (serve-stale answers disabled) ($n)"
+echo_i "check fail of nxdomain.example TXT (serve-stale answers disabled) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache longttl.example (serve-stale cache disabled) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache data.example (serve-stale cache disabled) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache othertype.example (serve-stale cache disabled) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache nodata.example (serve-stale cache disabled) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache nxdomain.example (serve-stale cache disabled) ($n)"
+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
grep "status: NXDOMAIN" dig.out.test$n > /dev/null || ret=1
wait
n=$((n+1))
-echo_i "check fail of data.example (serve-stale cache disabled) ($n)"
+echo_i "check fail of data.example TXT (serve-stale cache disabled) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check fail of othertype.example (serve-stale cache disabled) ($n)"
+echo_i "check fail of othertype.example CAA (serve-stale cache disabled) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check fail of nodata.example (serve-stale cache disabled) ($n)"
+echo_i "check fail of nodata.example TXT (serve-stale cache disabled) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check fail of nxdomain.example (serve-stale cache disabled) ($n)"
+echo_i "check fail of nxdomain.example TXT (serve-stale cache disabled) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache data.example (stale-answer-client-timeout) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache nodata.example (stale-answer-client-timeout) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
# That should give us enough time to receive an stale answer from cache
# after stale-answer-client-timeout timer of 1.8 sec triggers.
n=$((n+1))
-echo_i "check stale data.example comes from cache (stale-answer-client-timeout 1.8) ($n)"
+echo_i "check stale data.example TXT comes from cache (stale-answer-client-timeout 1.8) ($n)"
ret=0
wait_for_log 5 "data.example client timeout, stale answer used" ns3/named.run || ret=1
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check stale nodata.example comes from cache (stale-answer-client-timeout 1.8) ($n)"
+echo_i "check stale nodata.example TXT comes from cache (stale-answer-client-timeout 1.8) ($n)"
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
grep "EDE: 3 (Stale Answer): (client timeout)" dig.out.test$n > /dev/null || ret=1
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "check not in cache longttl.example times out (stale-answer-client-timeout 1.8) ($n)"
+echo_i "check not in cache longttl.example TXT times out (stale-answer-client-timeout 1.8) ($n)"
ret=0
wait_for_log 4 "longttl.example client timeout, stale answer unavailable" ns3/named.run || ret=1
grep "timed out" dig.out.test$n > /dev/null || ret=1
wait
n=$((n+1))
-echo_i "check not in cache longttl.example comes from authoritative (stale-answer-client-timeout 1.8) ($n)"
+echo_i "check not in cache longttl.example TXT comes from authoritative (stale-answer-client-timeout 1.8) ($n)"
ret=0
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
wait
n=$((n+1))
-echo_i "check data.example comes from authoritative server (stale-answer-client-timeout off) ($n)"
+echo_i "check data.example TXT comes from authoritative server (stale-answer-client-timeout off) ($n)"
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
start_server --noclean --restart --port ${PORT} ns3
n=$((n+1))
-echo_i "prime cache data.example (stale-answer-client-timeout 0)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache nodata.example (stale-answer-client-timeout 0)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
n=$((n+1))
ret=0
-echo_i "check stale nodata.example comes from cache (stale-answer-client-timeout 0) ($n)"
+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
wait_for_log 5 "nodata.example stale answer used, an attempt to refresh the RRset" ns3/named.run || ret=1
n=$((n+1))
ret=0
-echo_i "check stale data.example comes from cache (stale-answer-client-timeout 0) ($n)"
+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
wait_for_log 5 "data.example stale answer used, an attempt to refresh the RRset" ns3/named.run || ret=1
# the RRset to be updated.
n=$((n+1))
ret=0
-echo_i "check stale data.example was refreshed (stale-answer-client-timeout 0) ($n)"
+echo_i "check stale data.example TXT was refreshed (stale-answer-client-timeout 0) ($n)"
retry_quiet 10 wait_for_rrset_refresh || ret=1
$DIG -p ${PORT} @10.53.0.3 data.example TXT > dig.out.test$n
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
n=$((n+1))
ret=0
-echo_i "check stale nodata.example was refreshed (stale-answer-client-timeout 0) ($n)"
+echo_i "check stale nodata.example TXT was refreshed (stale-answer-client-timeout 0) ($n)"
retry_quiet 10 wait_for_nodata_refresh || ret=1
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status+ret))
echo_i "test stale-answer-client-timeout (0) and CNAME record"
n=$((n+1))
-echo_i "prime cache cname1.stale.test (stale-answer-client-timeout 0) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
n=$((n+1))
ret=0
-echo_i "check stale cname1.stale.test comes from cache (stale-answer-client-timeout 0) ($n)"
+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
wait_for_log 5 "cname1.stale.test stale answer used, an attempt to refresh the RRset" ns3/named.run || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache cname2.stale.test (stale-answer-client-timeout 0) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
n=$((n+1))
ret=0
-echo_i "check stale cname2.stale.test comes from cache (stale-answer-client-timeout 0) ($n)"
+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
wait_for_log 5 "cname2.stale.test stale answer used, an attempt to refresh the RRset" ns3/named.run || ret=1
status=$((status+ret))
n=$((n+1))
-echo_i "prime cache data.example (stale-answer-client-timeout 0, stale-refresh-time 4) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
n=$((n+1))
ret=0
-echo_i "check stale data.example comes from cache (stale-answer-client-timeout 0 stale-refresh-time 4) ($n)"
+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
wait_for_log 5 "data.example stale answer used, an attempt to refresh the RRset" ns3/named.run || ret=1
# the RRset to be updated.
n=$((n+1))
ret=0
-echo_i "check stale data.example was refreshed (stale-answer-client-timeout 0 stale-refresh-time 4) ($n)"
+echo_i "check stale data.example TXT was refreshed (stale-answer-client-timeout 0 stale-refresh-time 4) ($n)"
retry_quiet 10 wait_for_rrset_refresh || ret=1
$DIG -p ${PORT} @10.53.0.3 data.example TXT > dig.out.test$n
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
n=$((n+1))
ret=0
-echo_i "check stale data.example comes from cache (stale-answer-client-timeout 0 stale-refresh-time 4) ($n)"
+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
wait_for_log 5 "data.example stale answer used, an attempt to refresh the RRset" ns3/named.run || ret=1
n=$((n+1))
ret=0
-echo_i "check stale data.example comes from cache within stale-refresh-time (stale-answer-client-timeout 0 stale-refresh-time 4) ($n)"
+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
wait_for_log 5 "data.example query within stale refresh time" ns3/named.run || ret=1
n=$((n+1))
ret=0
-echo_i "check stale data.example was not refreshed (stale-answer-client-timeout 0 stale-refresh-time 4) ($n)"
+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
wait_for_log 5 "data.example query within stale refresh time" ns3/named.run || ret=1
n=$((n+1))
ret=0
-echo_i "check stale data.example comes from cache (stale-answer-client-timeout 0 stale-refresh-time 4) ($n)"
+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
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
n=$((n+1))
ret=0
-echo_i "check stale data.example was refreshed (stale-answer-client-timeout 0 stale-refresh-time 4) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
grep "EDE" dig.out.test$n > /dev/null && ret=1
# 'data.example/TXT' that can be used.
n=$((n+1))
ret=0
-echo_i "check stale data.example comes from cache (fetch-limits) ($n)"
+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
wait_for_log 5 "data.example resolver failure, stale answer used" ns3/named.run || ret=1
# The previous query should not have started the stale-refresh-time window.
n=$((n+1))
ret=0
-echo_i "check stale data.example comes from cache again (fetch-limits) ($n)"
+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
wait_for_log 5 "data.example resolver failure, stale answer used" ns3/named.run || ret=1
# Expect SERVFAIL for the entries not in cache.
n=$((n+1))
-echo_i "check stale data.example (fetch-limits dual-mode) ($n)"
+echo_i "check stale data.example TXT (fetch-limits dual-mode) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status+ret))
n=$((n+1))
-echo_i "check stale othertype.example (fetch-limits dual-mode) ($n)"
+echo_i "check stale othertype.example CAA (fetch-limits dual-mode) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status+ret))
n=$((n+1))
-echo_i "check stale nodata.example (fetch-limits dual-mode) ($n)"
+echo_i "check stale nodata.example TXT (fetch-limits dual-mode) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
if [ $ret != 0 ]; then echo_i "failed"; fi
status=$((status+ret))
n=$((n+1))
-echo_i "check stale nxdomain.example (fetch-limits dual-mode) ($n)"
+echo_i "check stale nxdomain.example TXT (fetch-limits dual-mode) ($n)"
ret=0
grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
if [ $ret != 0 ]; then echo_i "failed"; fi
# prime the cache with CNAME and A; CNAME expires sooner
n=$((n+1))
-echo_i "prime cache cname.example (stale-answer-client-timeout 1.8) ($n)"
+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
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1