|
|
|
|
@@ -27,10 +27,19 @@ n=0
|
|
|
|
|
#$DIG -p ${PORT} @10.53.0.2 ns.example AAAA
|
|
|
|
|
#$DIG -p ${PORT} @10.53.0.2 txt enable
|
|
|
|
|
#$DIG -p ${PORT} @10.53.0.2 ns.example AAAA
|
|
|
|
|
##$DIG -p ${PORT} @10.53.0.2 data.example TXT
|
|
|
|
|
#$DIG -p ${PORT} @10.53.0.2 data.example TXT
|
|
|
|
|
#$DIG -p ${PORT} @10.53.0.2 nodata.example TXT
|
|
|
|
|
#$DIG -p ${PORT} @10.53.0.2 nxdomain.example TXT
|
|
|
|
|
|
|
|
|
|
n=`expr $n + 1`
|
|
|
|
|
echo_i "prime cache longttl.example ($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
|
|
|
|
|
grep "ANSWER: 1," 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 "prime cache data.example ($n)"
|
|
|
|
|
ret=0
|
|
|
|
|
@@ -73,7 +82,7 @@ n=`expr $n + 1`
|
|
|
|
|
echo_i "check 'rndc serve-stale status' ($n)"
|
|
|
|
|
ret=0
|
|
|
|
|
$RNDCCMD 10.53.0.1 serve-stale status > rndc.out.test$n 2>&1 || ret=1
|
|
|
|
|
grep '_default: on (stale-answer-ttl=1 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep '_default: on (stale-answer-ttl=2 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -83,7 +92,16 @@ 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
|
|
|
|
|
grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "data\.example\..*2.*IN.*TXT.*A text record with a 1 second ttl" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
# Run rndc dumpdb, test whether the stale data has correct comment printed.
|
|
|
|
|
# The max-stale-ttl is 3600 seconds, so the comment should say the data is
|
|
|
|
|
# stale for somewhere between 3500-3599 seconds.
|
|
|
|
|
$RNDCCMD 10.53.0.1 dumpdb > rndc.out.test$n 2>&1 || ret=1
|
|
|
|
|
awk '/; stale/ { x=$0; getline; print x, $0}' ns1/named_dump1.db |
|
|
|
|
|
grep "; stale (will be retained for 35.. more seconds) data\.example.*A text record with a 1 second ttl" > /dev/null 2>&1 || ret=1
|
|
|
|
|
# Also make sure the not expired data does not have a stale comment.
|
|
|
|
|
awk '/; answer/ { x=$0; getline; print x, $0}' ns1/named_dump1.db |
|
|
|
|
|
grep "; answer longttl\.example.*A text record with a 600 second ttl" > /dev/null 2>&1 || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -93,7 +111,7 @@ 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
|
|
|
|
|
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example\..*2.*IN.*SOA" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -103,7 +121,7 @@ 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
|
|
|
|
|
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example\..*2.*IN.*SOA" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -118,7 +136,7 @@ n=`expr $n + 1`
|
|
|
|
|
echo_i "check 'rndc serve-stale status' ($n)"
|
|
|
|
|
ret=0
|
|
|
|
|
$RNDCCMD 10.53.0.1 serve-stale status > rndc.out.test$n 2>&1 || ret=1
|
|
|
|
|
grep '_default: off (rndc) (stale-answer-ttl=1 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep '_default: off (rndc) (stale-answer-ttl=2 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -159,7 +177,7 @@ n=`expr $n + 1`
|
|
|
|
|
echo_i "check 'rndc serve-stale status' ($n)"
|
|
|
|
|
ret=0
|
|
|
|
|
$RNDCCMD 10.53.0.1 serve-stale status > rndc.out.test$n 2>&1 || ret=1
|
|
|
|
|
grep '_default: on (rndc) (stale-answer-ttl=1 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep '_default: on (rndc) (stale-answer-ttl=2 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -169,7 +187,7 @@ 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
|
|
|
|
|
grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "data\.example\..*2.*IN.*TXT.*A text record with a 1 second ttl" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -179,7 +197,7 @@ 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
|
|
|
|
|
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example\..*2.*IN.*SOA" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -189,7 +207,7 @@ 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
|
|
|
|
|
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example\..*2.*IN.*SOA" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -204,7 +222,7 @@ n=`expr $n + 1`
|
|
|
|
|
echo_i "check 'rndc serve-stale status' ($n)"
|
|
|
|
|
ret=0
|
|
|
|
|
$RNDCCMD 10.53.0.1 serve-stale status > rndc.out.test$n 2>&1 || ret=1
|
|
|
|
|
grep '_default: off (rndc) (stale-answer-ttl=1 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep '_default: off (rndc) (stale-answer-ttl=2 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -243,7 +261,7 @@ n=`expr $n + 1`
|
|
|
|
|
echo_i "check 'rndc serve-stale status' ($n)"
|
|
|
|
|
ret=0
|
|
|
|
|
$RNDCCMD 10.53.0.1 serve-stale status > rndc.out.test$n 2>&1 || ret=1
|
|
|
|
|
grep '_default: on (rndc) (stale-answer-ttl=1 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep '_default: on (rndc) (stale-answer-ttl=2 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -253,7 +271,7 @@ 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
|
|
|
|
|
grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "data\.example\..*2.*IN.*TXT.*A text record with a 1 second ttl" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -263,7 +281,7 @@ 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
|
|
|
|
|
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example\..*2.*IN.*SOA" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -273,7 +291,7 @@ 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
|
|
|
|
|
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example\..*2.*IN.*SOA" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -295,7 +313,7 @@ n=`expr $n + 1`
|
|
|
|
|
echo_i "check 'rndc serve-stale status' ($n)"
|
|
|
|
|
ret=0
|
|
|
|
|
$RNDCCMD 10.53.0.1 serve-stale status > rndc.out.test$n 2>&1 || ret=1
|
|
|
|
|
grep '_default: on (stale-answer-ttl=1 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep '_default: on (stale-answer-ttl=2 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -305,7 +323,7 @@ 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
|
|
|
|
|
grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "data\.example\..*2.*IN.*TXT.*A text record with a 1 second ttl" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -315,7 +333,7 @@ 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
|
|
|
|
|
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example\..*2.*IN.*SOA" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -325,7 +343,7 @@ 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
|
|
|
|
|
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example\..*2.*IN.*SOA" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -340,7 +358,7 @@ n=`expr $n + 1`
|
|
|
|
|
echo_i "check 'rndc serve-stale status' ($n)"
|
|
|
|
|
ret=0
|
|
|
|
|
$RNDCCMD 10.53.0.1 serve-stale status > rndc.out.test$n 2>&1 || ret=1
|
|
|
|
|
grep '_default: off (rndc) (stale-answer-ttl=1 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep '_default: off (rndc) (stale-answer-ttl=2 max-stale-ttl=3600)' rndc.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -362,7 +380,7 @@ n=`expr $n + 1`
|
|
|
|
|
echo_i "check 'rndc serve-stale status' ($n)"
|
|
|
|
|
ret=0
|
|
|
|
|
$RNDCCMD 10.53.0.1 serve-stale status > rndc.out.test$n 2>&1 || ret=1
|
|
|
|
|
grep '_default: off (rndc) (stale-answer-ttl=2 max-stale-ttl=7200)' rndc.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep '_default: off (rndc) (stale-answer-ttl=3 max-stale-ttl=7200)' rndc.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -408,7 +426,7 @@ 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
|
|
|
|
|
grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "data\.example\..*1.*IN.*TXT.*A text record with a 1 second ttl" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -418,7 +436,7 @@ 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
|
|
|
|
|
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example\..*1.*IN.*SOA" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -428,7 +446,7 @@ 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
|
|
|
|
|
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example\..*1.*IN.*SOA" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -499,7 +517,7 @@ 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
|
|
|
|
|
grep "ANSWER: 1," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "data\.example\..*1.*IN.*TXT.*A text record with a 1 second ttl" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -509,7 +527,7 @@ 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
|
|
|
|
|
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example\..*1.*IN.*SOA" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
@@ -519,7 +537,7 @@ 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
|
|
|
|
|
grep "ANSWER: 0," dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example.*1.*IN" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
grep "example\..*1.*IN.*SOA" dig.out.test$n > /dev/null || ret=1
|
|
|
|
|
if [ $ret != 0 ]; then echo_i "failed"; fi
|
|
|
|
|
status=`expr $status + $ret`
|
|
|
|
|
|
|
|
|
|
|