From 14919b17c895ad544446c187b00a20189882f788 Mon Sep 17 00:00:00 2001 From: Remi Gacogne Date: Fri, 6 Jan 2017 13:16:35 +0100 Subject: [PATCH] rec: Add a regression test for `NXDOMAIN` from `presolve()` --- regression-tests.recursor/config.sh | 5 +++++ regression-tests.recursor/preresolve-nxdomain/command | 1 + regression-tests.recursor/preresolve-nxdomain/description | 2 ++ .../preresolve-nxdomain/expected_result | 2 ++ 4 files changed, 10 insertions(+) create mode 100755 regression-tests.recursor/preresolve-nxdomain/command create mode 100644 regression-tests.recursor/preresolve-nxdomain/description create mode 100644 regression-tests.recursor/preresolve-nxdomain/expected_result diff --git a/regression-tests.recursor/config.sh b/regression-tests.recursor/config.sh index 6cacd01492..d7713360d0 100755 --- a/regression-tests.recursor/config.sh +++ b/regression-tests.recursor/config.sh @@ -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 index 0000000000..05330c6f15 --- /dev/null +++ b/regression-tests.recursor/preresolve-nxdomain/command @@ -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 index 0000000000..38e5bfd5db --- /dev/null +++ b/regression-tests.recursor/preresolve-nxdomain/description @@ -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 index 0000000000..8d1d879759 --- /dev/null +++ b/regression-tests.recursor/preresolve-nxdomain/expected_result @@ -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 -- 2.47.2