]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Check fallback on FORMERR to EDNS options
authorMark Andrews <marka@isc.org>
Mon, 8 May 2023 06:26:29 +0000 (16:26 +1000)
committerOndřej Surý <ondrej@isc.org>
Mon, 26 Jun 2023 14:36:11 +0000 (16:36 +0200)
(cherry picked from commit 9d95cd427d7f0a4b77511ac89a9d51195ba9035c)

bin/tests/system/resolver/ns4/root.db
bin/tests/system/resolver/tests.sh

index df6c29b926d77deb3026705f6df58e3d8846153f..4e4418b6138ec2d965aa969a0d1dcc1f91a55292 100644 (file)
@@ -35,3 +35,5 @@ ns.targetns.          A       10.53.0.6
 partial-formerr.       NS      ns.partial-formerr.
 ns.partial-formerr.    A       10.53.0.2
 ns.partial-formerr.    A       10.53.0.3
+options-formerr.       NS      ns.options-formerr.
+ns.options-formerr.    A       10.53.0.10
index c96726ae8a97c43ef09146867383ed1b91f8ccd4..5f8bd01bda058c478c948e8846e6e59d5516c8e3 100755 (executable)
@@ -1002,6 +1002,18 @@ grep "ANSWER: [12]," dig.out.2.${n} > /dev/null || ret=1
 lines=$(awk '$1 == "mixedttl.tld." && $2 > 30 { print }' dig.out.2.${n} | wc -l)
 test ${lines:-1} -ne 0 && ret=1
 if [ $ret != 0 ]; then echo_i "failed"; fi
+
+n=$((n+1))
+echo_i "check resolver behavior when FORMERR for EDNS options happens (${n})"
+ret=0
+msg="resolving options-formerr/A .* server sent FORMERR with echoed DNS COOKIE"
+if [ $ret != 0 ]; then echo_i "failed"; fi
+nextpart ns5/named.run >/dev/null
+dig_with_opts +tcp @10.53.0.5 options-formerr A > dig.out.${n} || ret=1
+grep "status: NOERROR" dig.out.${n} > /dev/null || ret=1
+nextpart ns5/named.run | grep "$msg" > /dev/null || ret=1
+if [ $ret != 0 ]; then echo_i "failed"; fi
+
 status=$((status + ret))
 
 echo_i "exit status: $status"