]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Test that delv +cookie and delv +nocookie work
authorMark Andrews <marka@isc.org>
Mon, 23 Mar 2026 07:06:16 +0000 (18:06 +1100)
committerMark Andrews <marka@isc.org>
Thu, 26 Mar 2026 00:18:26 +0000 (11:18 +1100)
bin/tests/system/digdelv/tests.sh

index 0c8b99d6567e4de14a6e60836af52d84cbd57218..e4e2482c3f3e12bdeb64a244753aa2fcee50e2c9 100644 (file)
@@ -1489,6 +1489,24 @@ if [ -x "$DELV" ]; then
   if [ $ret -ne 0 ]; then echo_i "failed"; fi
   status=$((status + ret))
 
+  n=$((n + 1))
+  echo_i "checking delv +cookie works ($n)"
+  ret=0
+  delv_with_opts @10.53.0.3 +cookie a a.example -d 10 >delv.out.test$n 2>&1 || ret=1
+  grep "; COOKIE:" delv.out.test$n >/dev/null || ret=1
+  grep "; answer not validated" delv.out.test$n >/dev/null || ret=1
+  if [ $ret -ne 0 ]; then echo_i "failed"; fi
+  status=$((status + ret))
+
+  n=$((n + 1))
+  echo_i "checking delv +nocookie works ($n)"
+  ret=0
+  delv_with_opts @10.53.0.3 +nocookie +strace a a.example -d 10 >delv.out.test$n 2>&1 || ret=1
+  grep "; COOKIE:" delv.out.test$n >/dev/null && ret=1
+  grep "; answer not validated" delv.out.test$n >/dev/null || ret=1
+  if [ $ret -ne 0 ]; then echo_i "failed"; fi
+  status=$((status + ret))
+
   n=$((n + 1))
   echo_i "checking delv split width works ($n)"
   ret=0
@@ -1836,6 +1854,24 @@ if [ -x "$DELV" ]; then
     status=$((status + ret))
   fi
 
+  n=$((n + 1))
+  echo_i "checking delv +ns +cookie adds DNS COOKIE options ($n)"
+  ret=0
+  delv_with_opts -a ns1/anchor.dnskey +root +ns +qmin +hint=root.hint +cookie -d 99 a a.example >delv.out.test$n 2>&1 || ret=1
+  grep -q '; COOKIE:' delv.out.test$n || ret=1
+  grep -q '; fully validated' delv.out.test$n || ret=1
+  if [ $ret -ne 0 ]; then echo_i "failed"; fi
+  status=$((status + ret))
+
+  n=$((n + 1))
+  echo_i "checking delv +ns +nocookie doesn't add DNS COOKIE options $n)"
+  ret=0
+  delv_with_opts -a ns1/anchor.dnskey +root +ns +qmin +hint=root.hint +nocookie -d 99 a a.example >delv.out.test$n 2>&1 || ret=1
+  grep -q '; COOKIE:' delv.out.test$n && ret=1
+  grep -q '; fully validated' delv.out.test$n || ret=1
+  if [ $ret -ne 0 ]; then echo_i "failed"; fi
+  status=$((status + ret))
+
 else
   echo_i "$DELV is needed, so skipping these delv tests"
 fi