$ORIGIN rpz2.example.com.
a TXT "local data 2nd zone"
d TXT "local data 2nd zone"
+e CNAME *.a.example.
+*.e CNAME *.b.example.
drop CNAME rpz-drop.
TEMPFILE_END
stub-zone:
name: "a."
stub-addr: 10.20.30.40
+stub-zone:
+ name: "example."
+ stub-addr: 10.20.30.50
CONFIG_END
SCENARIO_BEGIN Test all support RPZ action for QNAME trigger
-; c.
+; a.
RANGE_BEGIN 0 100
ADDRESS 10.20.30.40
ENTRY_BEGIN
RANGE_END
+; example.
+RANGE_BEGIN 0 100
+ ADDRESS 10.20.30.50
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR NOERROR
+SECTION QUESTION
+example. IN NS
+SECTION ANSWER
+example. IN NS ns.example.
+SECTION ADDITIONAL
+ns.example IN A 10.20.30.50
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR NOERROR
+SECTION QUESTION
+e.a.example. IN TXT
+SECTION ANSWER
+e.a.example. IN TXT "e.a.example. answer from upstream ns"
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR NOERROR
+SECTION QUESTION
+something.e.b.example. IN TXT
+SECTION ANSWER
+something.e.b.example. IN TXT "*.b.example. answer from upstream ns"
+ENTRY_END
+
+RANGE_END
+
STEP 10 QUERY
ENTRY_BEGIN
REPLY RD
d. IN TXT "local data 2nd zone"
ENTRY_END
+STEP 82 QUERY
+ENTRY_BEGIN
+REPLY RD
+SECTION QUESTION
+e. IN TXT
+ENTRY_END
+
+STEP 83 CHECK_ANSWER
+ENTRY_BEGIN
+MATCH all
+REPLY QR RD RA AA NOERROR
+SECTION QUESTION
+e. IN TXT
+SECTION ANSWER
+e. IN CNAME e.a.example.
+e.a.example. IN TXT "e.a.example. answer from upstream ns"
+ENTRY_END
+
+STEP 84 QUERY
+ENTRY_BEGIN
+REPLY RD
+SECTION QUESTION
+something.e. IN TXT
+ENTRY_END
+
+STEP 85 CHECK_ANSWER
+ENTRY_BEGIN
+MATCH all
+REPLY QR RD RA AA NOERROR
+SECTION QUESTION
+something.e. IN TXT
+SECTION ANSWER
+something.e. IN CNAME something.e.b.example.
+something.e.b.example. IN TXT "*.b.example. answer from upstream ns"
+ENTRY_END
+
; deny zone
STEP 90 QUERY
ENTRY_BEGIN