- Fix #1477: respip + dns64: dns64 uses A records modified by

respip instead of original A records. Adds local-zone types
  block_a_wdata and block_aaaa_wdata, that are like block_a
  and block_aaaa, and uses local-data if present.
This commit is contained in:
W.C.A. Wijngaards
2026-07-24 09:29:17 +02:00
parent a65d3d7283
commit 79e100a7fb
7 changed files with 234 additions and 5 deletions
+191 -1
View File
@@ -4,6 +4,12 @@ server:
qname-minimisation: no
local-zone: "example1.com." block_a
local-zone: "example2.com." block_aaaa
local-zone: "example3.com." block_a_wdata
local-data: "b.example3.com. A 1.2.3.5"
local-data: "b.example3.com. AAAA 1:2:3::5"
local-zone: "example4.com." block_aaaa_wdata
local-data: "b.example4.com. A 1.2.3.5"
local-data: "b.example4.com. AAAA 1:2:3::5"
stub-zone:
name: "."
@@ -13,7 +19,7 @@ CONFIG_END
SCENARIO_BEGIN test local data with block_a and block_aaaa
; K.ROOT-SERVERS.NET.
RANGE_BEGIN 0 100
RANGE_BEGIN 0 400
ADDRESS 193.0.14.129
ENTRY_BEGIN
MATCH opcode qtype qname
@@ -66,6 +72,46 @@ a.example2.com. IN AAAA
SECTION ANSWER
a.example2.com. IN AAAA 1:2:3::4
ENTRY_END
ENTRY_BEGIN
MATCH opcode qtype qname
ADJUST copy_id
REPLY QR AA NOERROR
SECTION QUESTION
a.example3.com. IN A
SECTION ANSWER
a.example3.com. IN A 1.2.3.4
ENTRY_END
ENTRY_BEGIN
MATCH opcode qtype qname
ADJUST copy_id
REPLY QR AA NOERROR
SECTION QUESTION
a.example3.com. IN AAAA
SECTION ANSWER
a.example3.com. IN AAAA 1:2:3::4
ENTRY_END
ENTRY_BEGIN
MATCH opcode qtype qname
ADJUST copy_id
REPLY QR AA NOERROR
SECTION QUESTION
a.example4.com. IN A
SECTION ANSWER
a.example4.com. IN A 1.2.3.4
ENTRY_END
ENTRY_BEGIN
MATCH opcode qtype qname
ADJUST copy_id
REPLY QR AA NOERROR
SECTION QUESTION
a.example4.com. IN AAAA
SECTION ANSWER
a.example4.com. IN AAAA 1:2:3::4
ENTRY_END
RANGE_END
; block_a for example1.com
@@ -141,4 +187,148 @@ a.example2.com. IN AAAA
SECTION ANSWER
ENTRY_END
; block_a_wdata for example3.com
STEP 80 QUERY
ENTRY_BEGIN
REPLY RD DO
SECTION QUESTION
a.example3.com. IN A
ENTRY_END
; block_a_wdata blocks A
STEP 90 CHECK_ANSWER
ENTRY_BEGIN
MATCH all
REPLY QR AA RD RA DO NOERROR
SECTION QUESTION
a.example3.com. IN A
SECTION ANSWER
ENTRY_END
STEP 100 QUERY
ENTRY_BEGIN
REPLY RD DO
SECTION QUESTION
a.example3.com. IN AAAA
ENTRY_END
; block_a_wdata allows AAAA from upstream
STEP 110 CHECK_ANSWER
ENTRY_BEGIN
MATCH all
REPLY QR RD RA DO NOERROR
SECTION QUESTION
a.example3.com. IN AAAA
SECTION ANSWER
a.example3.com. IN AAAA 1:2:3::4
ENTRY_END
STEP 120 QUERY
ENTRY_BEGIN
REPLY RD DO
SECTION QUESTION
b.example3.com. IN A
ENTRY_END
; block_a_wdata allows local-data A
STEP 130 CHECK_ANSWER
ENTRY_BEGIN
MATCH all
REPLY QR AA RD RA DO NOERROR
SECTION QUESTION
b.example3.com. IN A
SECTION ANSWER
b.example3.com. A 1.2.3.5
ENTRY_END
STEP 140 QUERY
ENTRY_BEGIN
REPLY RD DO
SECTION QUESTION
b.example3.com. IN AAAA
ENTRY_END
; block_a_wdata allows local-data AAAA
STEP 150 CHECK_ANSWER
ENTRY_BEGIN
MATCH all
REPLY QR AA RD RA DO NOERROR
SECTION QUESTION
b.example3.com. IN AAAA
SECTION ANSWER
b.example3.com. AAAA 1:2:3::5
ENTRY_END
; block_aaaa_wdata for example4.com
STEP 160 QUERY
ENTRY_BEGIN
REPLY RD DO
SECTION QUESTION
a.example4.com. IN A
ENTRY_END
; block_aaaa_wdata allows A from upstream
STEP 170 CHECK_ANSWER
ENTRY_BEGIN
MATCH all
REPLY QR RD RA DO NOERROR
SECTION QUESTION
a.example4.com. IN A
SECTION ANSWER
a.example4.com. IN A 1.2.3.4
ENTRY_END
STEP 180 QUERY
ENTRY_BEGIN
REPLY RD DO
SECTION QUESTION
a.example4.com. IN AAAA
ENTRY_END
; block_aaaa_wdata blocks AAAA
STEP 190 CHECK_ANSWER
ENTRY_BEGIN
MATCH all
REPLY QR AA RD RA DO NOERROR
SECTION QUESTION
a.example4.com. IN AAAA
SECTION ANSWER
ENTRY_END
STEP 200 QUERY
ENTRY_BEGIN
REPLY RD DO
SECTION QUESTION
b.example4.com. IN A
ENTRY_END
; block_aaaa_wdata allows local-data A
STEP 210 CHECK_ANSWER
ENTRY_BEGIN
MATCH all
REPLY QR AA RD RA DO NOERROR
SECTION QUESTION
b.example4.com. IN A
SECTION ANSWER
b.example4.com. A 1.2.3.5
ENTRY_END
STEP 220 QUERY
ENTRY_BEGIN
REPLY RD DO
SECTION QUESTION
b.example4.com. IN AAAA
ENTRY_END
; block_aaaa_wdata allows local-data AAAA
STEP 230 CHECK_ANSWER
ENTRY_BEGIN
MATCH all
REPLY QR AA RD RA DO NOERROR
SECTION QUESTION
b.example4.com. IN AAAA
SECTION ANSWER
b.example4.com. AAAA 1:2:3::5
ENTRY_END
SCENARIO_END