]> granicus.if.org Git - pdns/commitdiff
rec: Add a regression test for `NXDOMAIN` from `presolve()`
authorRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 6 Jan 2017 12:16:35 +0000 (13:16 +0100)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 6 Jan 2017 12:44:54 +0000 (13:44 +0100)
regression-tests.recursor/config.sh
regression-tests.recursor/preresolve-nxdomain/command [new file with mode: 0755]
regression-tests.recursor/preresolve-nxdomain/description [new file with mode: 0644]
regression-tests.recursor/preresolve-nxdomain/expected_result [new file with mode: 0644]

index 6cacd01492ddd8c77c03980d4e7ab565f7947b44..d7713360d0979495738a10a592b3fe623265d6c2 100755 (executable)
@@ -118,6 +118,7 @@ not-auth-zone.example.net. 3600 IN NS ns.not-auth-zone.example.net.
 ns.not-auth-zone.example.net. 3600 IN A $PREFIX.23
 lowercase-outgoing.example.net. 3600 IN NS ns.lowercase-outgoing.example.net.
 ns.lowercase-outgoing.example.net. 3600 IN A $PREFIX.24
+nxdomainme.example.net.            3600 IN A $PREFIX.25
 EOF
 
 mkdir $PREFIX.11
@@ -598,6 +599,10 @@ function prerpz(dq)
 end
 
 function preresolve(dq)
+  if dq.qname:equal("nxdomainme.example.net") then
+    dq.rcode = pdns.NXDOMAIN
+    return true
+  end
   if dq.qname:equal("android.marvin.example.net") then
     dq.wantsRPZ = false -- disable RPZ
   end
diff --git a/regression-tests.recursor/preresolve-nxdomain/command b/regression-tests.recursor/preresolve-nxdomain/command
new file mode 100755 (executable)
index 0000000..05330c6
--- /dev/null
@@ -0,0 +1 @@
+$SDIG $nameserver 5301 nxdomainme.example.net a recurse hidettl 2>&1
diff --git a/regression-tests.recursor/preresolve-nxdomain/description b/regression-tests.recursor/preresolve-nxdomain/description
new file mode 100644 (file)
index 0000000..38e5bfd
--- /dev/null
@@ -0,0 +1,2 @@
+Test if we can correctly fake a NXDOMAIN answer from Lua preresolve
+
diff --git a/regression-tests.recursor/preresolve-nxdomain/expected_result b/regression-tests.recursor/preresolve-nxdomain/expected_result
new file mode 100644 (file)
index 0000000..8d1d879
--- /dev/null
@@ -0,0 +1,2 @@
+Reply to question for qname='nxdomainme.example.net.', qtype=A
+Rcode: 3 (Non-Existent domain), RD: 1, QR: 1, TC: 0, AA: 0, opcode: 0