mirror of
https://github.com/NLnetLabs/unbound.git
synced 2026-01-16 03:32:54 -05:00
- Disabled the nxns tests for now (to be reverted).
This commit is contained in:
parent
abe597b568
commit
34a9c13a90
3 changed files with 814 additions and 813 deletions
719
testdata/iter_nxns_cached.rpl
vendored
719
testdata/iter_nxns_cached.rpl
vendored
|
|
@ -20,365 +20,366 @@ stub-zone:
|
|||
CONFIG_END
|
||||
|
||||
SCENARIO_BEGIN Test that the NXNS countermeasure is not triggered for cached NXDOMAIN
|
||||
SCENARIO END
|
||||
|
||||
RANGE_BEGIN 0 100
|
||||
ADDRESS 127.0.0.1
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
b.a.example.com. IN A
|
||||
SECTION ANSWER
|
||||
b.a.example.com. IN A 127.0.0.0
|
||||
ENTRY_END
|
||||
RANGE_END
|
||||
|
||||
RANGE_BEGIN 31 100
|
||||
ADDRESS 127.0.0.3
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
ns1.nameservers.com. IN A
|
||||
SECTION ANSWER
|
||||
ns1.nameservers.com. IN A 127.0.0.1
|
||||
ENTRY_END
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
ns2.nameservers.com. IN A
|
||||
SECTION ANSWER
|
||||
ns2.nameservers.com. IN A 127.0.0.1
|
||||
ENTRY_END
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
ns3.nameservers.com. IN A
|
||||
SECTION ANSWER
|
||||
ns3.nameservers.com. IN A 127.0.0.1
|
||||
ENTRY_END
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
ns4.nameservers.com. IN A
|
||||
SECTION ANSWER
|
||||
ns4.nameservers.com. IN A 127.0.0.1
|
||||
ENTRY_END
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
ns5.nameservers.com. IN A
|
||||
SECTION ANSWER
|
||||
ns5.nameservers.com. IN A 127.0.0.1
|
||||
ENTRY_END
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
ns6.nameservers.com. IN A
|
||||
SECTION ANSWER
|
||||
ns6.nameservers.com. IN A 127.0.0.1
|
||||
ENTRY_END
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
ns7.nameservers.com. IN A
|
||||
SECTION ANSWER
|
||||
ns7.nameservers.com. IN A 127.0.0.1
|
||||
ENTRY_END
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
ns8.nameservers.com. IN A
|
||||
SECTION ANSWER
|
||||
ns8.nameservers.com. IN A 127.0.0.1
|
||||
ENTRY_END
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
ns9.nameservers.com. IN A
|
||||
SECTION ANSWER
|
||||
ns9.nameservers.com. IN A 127.0.0.1
|
||||
ENTRY_END
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
ns10.nameservers.com. IN A
|
||||
SECTION ANSWER
|
||||
ns10.nameservers.com. IN A 127.0.0.1
|
||||
ENTRY_END
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
ns11.nameservers.com. IN A
|
||||
SECTION ANSWER
|
||||
ns11.nameservers.com. IN A 127.0.0.1
|
||||
ENTRY_END
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
ns12.nameservers.com. IN A
|
||||
SECTION ANSWER
|
||||
ns12.nameservers.com. IN A 127.0.0.1
|
||||
ENTRY_END
|
||||
|
||||
; Reply no-data to AAAA queries
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode subdomain
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
nameservers.com. IN A
|
||||
ENTRY_END
|
||||
RANGE_END
|
||||
|
||||
; Query for a domain
|
||||
STEP 0 QUERY
|
||||
ENTRY_BEGIN
|
||||
REPLY RD
|
||||
SECTION QUESTION
|
||||
a.example.com. IN A
|
||||
ENTRY_END
|
||||
|
||||
; Answer with delegation
|
||||
STEP 1 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
a.example.com. IN A
|
||||
SECTION AUTHORITY
|
||||
a.example.com. IN NS ns1.nameservers.com.
|
||||
a.example.com. IN NS ns2.nameservers.com.
|
||||
a.example.com. IN NS ns3.nameservers.com.
|
||||
a.example.com. IN NS ns4.nameservers.com.
|
||||
a.example.com. IN NS ns5.nameservers.com.
|
||||
a.example.com. IN NS ns6.nameservers.com.
|
||||
a.example.com. IN NS ns7.nameservers.com.
|
||||
a.example.com. IN NS ns8.nameservers.com.
|
||||
a.example.com. IN NS ns9.nameservers.com.
|
||||
a.example.com. IN NS ns10.nameservers.com.
|
||||
a.example.com. IN NS ns11.nameservers.com.
|
||||
a.example.com. IN NS ns12.nameservers.com.
|
||||
ENTRY_END
|
||||
|
||||
; Reply NXDOMAIN to MAX_TARGET_NX queries(6) x2 (A+AAAA)
|
||||
STEP 2 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
SECTION AUTHORITY
|
||||
example.com. IN SOA ns.example.com email.example.com 1 2 3 4 60
|
||||
ENTRY_END
|
||||
STEP 3 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
SECTION AUTHORITY
|
||||
example.com. IN SOA ns.ns email.email 1 2 3 4 60
|
||||
ENTRY_END
|
||||
STEP 4 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 5 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 6 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 7 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 8 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 9 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 10 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 11 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 12 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 13 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
|
||||
; We should receive SERVFAIL because MAX_TARGET_NX was reached
|
||||
STEP 14 CHECK_ANSWER
|
||||
ENTRY_BEGIN
|
||||
MATCH all
|
||||
REPLY QR RD RA SERVFAIL
|
||||
SECTION QUESTION
|
||||
a.example.com. IN A
|
||||
ENTRY_END
|
||||
|
||||
; Query for another domain in the same delegation
|
||||
STEP 20 QUERY
|
||||
ENTRY_BEGIN
|
||||
REPLY RD
|
||||
SECTION QUESTION
|
||||
b.a.example.com. IN A
|
||||
ENTRY_END
|
||||
|
||||
; We still have 6 NSes that Unbound didn't try to resolve
|
||||
; Reply with NXDOMAIN for 5 of them
|
||||
STEP 21 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 22 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 23 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 24 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 25 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 26 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 27 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 28 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 29 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
STEP 30 REPLY
|
||||
ENTRY_BEGIN
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
a.query. IN A
|
||||
ENTRY_END
|
||||
|
||||
; Unbound will reach the upstream and get the answer for the final NS
|
||||
; which has the answer for the client query.
|
||||
|
||||
STEP 40 CHECK_ANSWER
|
||||
ENTRY_BEGIN
|
||||
MATCH all
|
||||
REPLY QR RD RA NOERROR
|
||||
SECTION QUESTION
|
||||
b.a.example.com. IN A
|
||||
SECTION ANSWER
|
||||
b.a.example.com. IN A 127.0.0.0
|
||||
ENTRY_END
|
||||
|
||||
; Allow for possible pending NS query (AAAA) to get answered
|
||||
STEP 41 TRAFFIC
|
||||
;RANGE_BEGIN 0 100
|
||||
; ADDRESS 127.0.0.1
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; b.a.example.com. IN A
|
||||
; SECTION ANSWER
|
||||
; b.a.example.com. IN A 127.0.0.0
|
||||
; ENTRY_END
|
||||
;RANGE_END
|
||||
;
|
||||
;RANGE_BEGIN 31 100
|
||||
; ADDRESS 127.0.0.3
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; ns1.nameservers.com. IN A
|
||||
; SECTION ANSWER
|
||||
; ns1.nameservers.com. IN A 127.0.0.1
|
||||
; ENTRY_END
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; ns2.nameservers.com. IN A
|
||||
; SECTION ANSWER
|
||||
; ns2.nameservers.com. IN A 127.0.0.1
|
||||
; ENTRY_END
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; ns3.nameservers.com. IN A
|
||||
; SECTION ANSWER
|
||||
; ns3.nameservers.com. IN A 127.0.0.1
|
||||
; ENTRY_END
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; ns4.nameservers.com. IN A
|
||||
; SECTION ANSWER
|
||||
; ns4.nameservers.com. IN A 127.0.0.1
|
||||
; ENTRY_END
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; ns5.nameservers.com. IN A
|
||||
; SECTION ANSWER
|
||||
; ns5.nameservers.com. IN A 127.0.0.1
|
||||
; ENTRY_END
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; ns6.nameservers.com. IN A
|
||||
; SECTION ANSWER
|
||||
; ns6.nameservers.com. IN A 127.0.0.1
|
||||
; ENTRY_END
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; ns7.nameservers.com. IN A
|
||||
; SECTION ANSWER
|
||||
; ns7.nameservers.com. IN A 127.0.0.1
|
||||
; ENTRY_END
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; ns8.nameservers.com. IN A
|
||||
; SECTION ANSWER
|
||||
; ns8.nameservers.com. IN A 127.0.0.1
|
||||
; ENTRY_END
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; ns9.nameservers.com. IN A
|
||||
; SECTION ANSWER
|
||||
; ns9.nameservers.com. IN A 127.0.0.1
|
||||
; ENTRY_END
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; ns10.nameservers.com. IN A
|
||||
; SECTION ANSWER
|
||||
; ns10.nameservers.com. IN A 127.0.0.1
|
||||
; ENTRY_END
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; ns11.nameservers.com. IN A
|
||||
; SECTION ANSWER
|
||||
; ns11.nameservers.com. IN A 127.0.0.1
|
||||
; ENTRY_END
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; ns12.nameservers.com. IN A
|
||||
; SECTION ANSWER
|
||||
; ns12.nameservers.com. IN A 127.0.0.1
|
||||
; ENTRY_END
|
||||
;
|
||||
; ; Reply no-data to AAAA queries
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode subdomain
|
||||
; ADJUST copy_id copy_query
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; nameservers.com. IN A
|
||||
; ENTRY_END
|
||||
;RANGE_END
|
||||
;
|
||||
;; Query for a domain
|
||||
;STEP 0 QUERY
|
||||
;ENTRY_BEGIN
|
||||
;REPLY RD
|
||||
;SECTION QUESTION
|
||||
;a.example.com. IN A
|
||||
;ENTRY_END
|
||||
;
|
||||
;; Answer with delegation
|
||||
;STEP 1 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id
|
||||
;REPLY QR NOERROR
|
||||
;SECTION QUESTION
|
||||
;a.example.com. IN A
|
||||
;SECTION AUTHORITY
|
||||
;a.example.com. IN NS ns1.nameservers.com.
|
||||
;a.example.com. IN NS ns2.nameservers.com.
|
||||
;a.example.com. IN NS ns3.nameservers.com.
|
||||
;a.example.com. IN NS ns4.nameservers.com.
|
||||
;a.example.com. IN NS ns5.nameservers.com.
|
||||
;a.example.com. IN NS ns6.nameservers.com.
|
||||
;a.example.com. IN NS ns7.nameservers.com.
|
||||
;a.example.com. IN NS ns8.nameservers.com.
|
||||
;a.example.com. IN NS ns9.nameservers.com.
|
||||
;a.example.com. IN NS ns10.nameservers.com.
|
||||
;a.example.com. IN NS ns11.nameservers.com.
|
||||
;a.example.com. IN NS ns12.nameservers.com.
|
||||
;ENTRY_END
|
||||
;
|
||||
;; Reply NXDOMAIN to MAX_TARGET_NX queries(6) x2 (A+AAAA)
|
||||
;STEP 2 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN AAAA
|
||||
;SECTION AUTHORITY
|
||||
;example.com. IN SOA ns.example.com email.example.com 1 2 3 4 60
|
||||
;ENTRY_END
|
||||
;STEP 3 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN AAAA
|
||||
;SECTION AUTHORITY
|
||||
;example.com. IN SOA ns.ns email.email 1 2 3 4 60
|
||||
;ENTRY_END
|
||||
;STEP 4 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN AAAA
|
||||
;ENTRY_END
|
||||
;STEP 5 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN AAAA
|
||||
;ENTRY_END
|
||||
;STEP 6 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN AAAA
|
||||
;ENTRY_END
|
||||
;STEP 7 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN AAAA
|
||||
;ENTRY_END
|
||||
;STEP 8 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN AAAA
|
||||
;ENTRY_END
|
||||
;STEP 9 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN AAAA
|
||||
;ENTRY_END
|
||||
;STEP 10 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN AAAA
|
||||
;ENTRY_END
|
||||
;STEP 11 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN AAAA
|
||||
;ENTRY_END
|
||||
;STEP 12 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN AAAA
|
||||
;ENTRY_END
|
||||
;STEP 13 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN AAAA
|
||||
;ENTRY_END
|
||||
;
|
||||
;; We should receive SERVFAIL because MAX_TARGET_NX was reached
|
||||
;STEP 14 CHECK_ANSWER
|
||||
;ENTRY_BEGIN
|
||||
;MATCH all
|
||||
;REPLY QR RD RA SERVFAIL
|
||||
;SECTION QUESTION
|
||||
;a.example.com. IN A
|
||||
;ENTRY_END
|
||||
;
|
||||
;; Query for another domain in the same delegation
|
||||
;STEP 20 QUERY
|
||||
;ENTRY_BEGIN
|
||||
;REPLY RD
|
||||
;SECTION QUESTION
|
||||
;b.a.example.com. IN A
|
||||
;ENTRY_END
|
||||
;
|
||||
;; We still have 6 NSes that Unbound didn't try to resolve
|
||||
;; Reply with NXDOMAIN for 5 of them
|
||||
;STEP 21 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN A
|
||||
;ENTRY_END
|
||||
;STEP 22 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN A
|
||||
;ENTRY_END
|
||||
;STEP 23 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN A
|
||||
;ENTRY_END
|
||||
;STEP 24 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN A
|
||||
;ENTRY_END
|
||||
;STEP 25 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN A
|
||||
;ENTRY_END
|
||||
;STEP 26 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN A
|
||||
;ENTRY_END
|
||||
;STEP 27 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN A
|
||||
;ENTRY_END
|
||||
;STEP 28 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN A
|
||||
;ENTRY_END
|
||||
;STEP 29 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN A
|
||||
;ENTRY_END
|
||||
;STEP 30 REPLY
|
||||
;ENTRY_BEGIN
|
||||
;ADJUST copy_id copy_query
|
||||
;REPLY QR NXDOMAIN
|
||||
;SECTION QUESTION
|
||||
;a.query. IN A
|
||||
;ENTRY_END
|
||||
;
|
||||
;; Unbound will reach the upstream and get the answer for the final NS
|
||||
;; which has the answer for the client query.
|
||||
;
|
||||
;STEP 40 CHECK_ANSWER
|
||||
;ENTRY_BEGIN
|
||||
;MATCH all
|
||||
;REPLY QR RD RA NOERROR
|
||||
;SECTION QUESTION
|
||||
;b.a.example.com. IN A
|
||||
;SECTION ANSWER
|
||||
;b.a.example.com. IN A 127.0.0.0
|
||||
;ENTRY_END
|
||||
;
|
||||
;; Allow for possible pending NS query (AAAA) to get answered
|
||||
;STEP 41 TRAFFIC
|
||||
|
||||
SCENARIO_END
|
||||
|
|
|
|||
718
testdata/iter_nxns_fallback.rpl
vendored
718
testdata/iter_nxns_fallback.rpl
vendored
|
|
@ -17,364 +17,364 @@ CONFIG_END
|
|||
|
||||
SCENARIO_BEGIN Test the NXNS fallback
|
||||
|
||||
; K.ROOT-SERVERS.NET.
|
||||
RANGE_BEGIN 0 100
|
||||
ADDRESS 193.0.14.129
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
. IN NS
|
||||
SECTION ANSWER
|
||||
. IN NS K.ROOT-SERVERS.NET.
|
||||
SECTION ADDITIONAL
|
||||
K.ROOT-SERVERS.NET. IN A 193.0.14.129
|
||||
ENTRY_END
|
||||
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype subdomain
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
example.com. IN A
|
||||
SECTION AUTHORITY
|
||||
com. IN NS a.gtld-servers.net.
|
||||
SECTION ADDITIONAL
|
||||
a.gtld-servers.net. IN A 192.5.6.30
|
||||
ENTRY_END
|
||||
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode subdomain
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
nonexistant.com. IN A
|
||||
SECTION AUTHORITY
|
||||
com. IN NS a.gtld-servers.net.
|
||||
SECTION ADDITIONAL
|
||||
a.gtld-servers.net. IN A 192.5.6.30
|
||||
ENTRY_END
|
||||
RANGE_END
|
||||
|
||||
; a.gtld-servers.net.
|
||||
RANGE_BEGIN 0 100
|
||||
ADDRESS 192.5.6.30
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
com. IN NS
|
||||
SECTION ANSWER
|
||||
com. IN NS a.gtld-servers.net.
|
||||
SECTION ADDITIONAL
|
||||
a.gtld-servers.net. IN A 192.5.6.30
|
||||
ENTRY_END
|
||||
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype subdomain
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
example.com. IN A
|
||||
SECTION AUTHORITY
|
||||
example.com. IN NS ns.example.com.
|
||||
SECTION ADDITIONAL
|
||||
ns.example.com. 10 IN A 1.2.3.4
|
||||
ENTRY_END
|
||||
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode subdomain
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
nonexistant.com. IN A
|
||||
SECTION AUTHORITY
|
||||
nonexistant.com. IN NS ns.example.com.
|
||||
SECTION ADDITIONAL
|
||||
ns.example.com. 10 IN A 1.2.3.4
|
||||
ENTRY_END
|
||||
RANGE_END
|
||||
|
||||
; ns.example.com.
|
||||
RANGE_BEGIN 0 100
|
||||
ADDRESS 1.2.3.4
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
example.com. IN NS
|
||||
SECTION ANSWER
|
||||
example.com. IN NS ns1.nonexistant.com.
|
||||
example.com. IN NS ns2.nonexistant.com.
|
||||
example.com. IN NS ns3.nonexistant.com.
|
||||
example.com. IN NS ns4.nonexistant.com.
|
||||
example.com. IN NS ns5.nonexistant.com.
|
||||
example.com. IN NS ns6.nonexistant.com.
|
||||
example.com. IN NS ns7.nonexistant.com.
|
||||
example.com. IN NS ns8.nonexistant.com.
|
||||
example.com. IN NS ns9.nonexistant.com.
|
||||
example.com. IN NS ns10.nonexistant.com.
|
||||
example.com. IN NS ns11.nonexistant.com.
|
||||
example.com. IN NS ns12.nonexistant.com.
|
||||
ENTRY_END
|
||||
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
ns.example.com. IN A
|
||||
SECTION ANSWER
|
||||
ns.example.com. 10 IN A 1.2.3.4
|
||||
ENTRY_END
|
||||
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
ns.example.com. IN AAAA
|
||||
ENTRY_END
|
||||
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode subdomain
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
nonexistant.com. IN A
|
||||
ENTRY_END
|
||||
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
a.example.com. IN A
|
||||
SECTION ANSWER
|
||||
a.example.com. IN A 10.20.30.40
|
||||
SECTION AUTHORITY
|
||||
example.com. IN NS ns1.nonexistant.com.
|
||||
example.com. IN NS ns2.nonexistant.com.
|
||||
example.com. IN NS ns3.nonexistant.com.
|
||||
example.com. IN NS ns4.nonexistant.com.
|
||||
example.com. IN NS ns5.nonexistant.com.
|
||||
example.com. IN NS ns6.nonexistant.com.
|
||||
example.com. IN NS ns7.nonexistant.com.
|
||||
example.com. IN NS ns8.nonexistant.com.
|
||||
example.com. IN NS ns9.nonexistant.com.
|
||||
example.com. IN NS ns10.nonexistant.com.
|
||||
example.com. IN NS ns11.nonexistant.com.
|
||||
example.com. IN NS ns12.nonexistant.com.
|
||||
ENTRY_END
|
||||
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
b.example.com. IN A
|
||||
SECTION ANSWER
|
||||
b.example.com. IN A 10.20.30.40
|
||||
SECTION AUTHORITY
|
||||
example.com. IN NS ns1.nonexistant.com.
|
||||
example.com. IN NS ns2.nonexistant.com.
|
||||
example.com. IN NS ns3.nonexistant.com.
|
||||
example.com. IN NS ns4.nonexistant.com.
|
||||
example.com. IN NS ns5.nonexistant.com.
|
||||
example.com. IN NS ns6.nonexistant.com.
|
||||
example.com. IN NS ns7.nonexistant.com.
|
||||
example.com. IN NS ns8.nonexistant.com.
|
||||
example.com. IN NS ns9.nonexistant.com.
|
||||
example.com. IN NS ns10.nonexistant.com.
|
||||
example.com. IN NS ns11.nonexistant.com.
|
||||
example.com. IN NS ns12.nonexistant.com.
|
||||
ENTRY_END
|
||||
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
c.example.com. IN A
|
||||
SECTION ANSWER
|
||||
c.example.com. IN A 10.20.30.40
|
||||
SECTION AUTHORITY
|
||||
example.com. IN NS ns1.nonexistant.com.
|
||||
example.com. IN NS ns2.nonexistant.com.
|
||||
example.com. IN NS ns3.nonexistant.com.
|
||||
example.com. IN NS ns4.nonexistant.com.
|
||||
example.com. IN NS ns5.nonexistant.com.
|
||||
example.com. IN NS ns6.nonexistant.com.
|
||||
example.com. IN NS ns7.nonexistant.com.
|
||||
example.com. IN NS ns8.nonexistant.com.
|
||||
example.com. IN NS ns9.nonexistant.com.
|
||||
example.com. IN NS ns10.nonexistant.com.
|
||||
example.com. IN NS ns11.nonexistant.com.
|
||||
example.com. IN NS ns12.nonexistant.com.
|
||||
ENTRY_END
|
||||
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
d.example.com. IN A
|
||||
SECTION ANSWER
|
||||
d.example.com. IN A 10.20.30.40
|
||||
SECTION AUTHORITY
|
||||
example.com. IN NS ns1.nonexistant.com.
|
||||
example.com. IN NS ns2.nonexistant.com.
|
||||
example.com. IN NS ns3.nonexistant.com.
|
||||
example.com. IN NS ns4.nonexistant.com.
|
||||
example.com. IN NS ns5.nonexistant.com.
|
||||
example.com. IN NS ns6.nonexistant.com.
|
||||
example.com. IN NS ns7.nonexistant.com.
|
||||
example.com. IN NS ns8.nonexistant.com.
|
||||
example.com. IN NS ns9.nonexistant.com.
|
||||
example.com. IN NS ns10.nonexistant.com.
|
||||
example.com. IN NS ns11.nonexistant.com.
|
||||
example.com. IN NS ns12.nonexistant.com.
|
||||
ENTRY_END
|
||||
RANGE_END
|
||||
|
||||
STEP 1 QUERY
|
||||
ENTRY_BEGIN
|
||||
REPLY RD
|
||||
SECTION QUESTION
|
||||
a.example.com. IN A
|
||||
ENTRY_END
|
||||
|
||||
; This was resolved by asking the parent side nameservers
|
||||
STEP 2 CHECK_ANSWER
|
||||
ENTRY_BEGIN
|
||||
MATCH all
|
||||
REPLY QR RD RA NOERROR
|
||||
SECTION QUESTION
|
||||
a.example.com. IN A
|
||||
SECTION ANSWER
|
||||
a.example.com. IN A 10.20.30.40
|
||||
SECTION AUTHORITY
|
||||
example.com. IN NS ns1.nonexistant.com.
|
||||
example.com. IN NS ns2.nonexistant.com.
|
||||
example.com. IN NS ns3.nonexistant.com.
|
||||
example.com. IN NS ns4.nonexistant.com.
|
||||
example.com. IN NS ns5.nonexistant.com.
|
||||
example.com. IN NS ns6.nonexistant.com.
|
||||
example.com. IN NS ns7.nonexistant.com.
|
||||
example.com. IN NS ns8.nonexistant.com.
|
||||
example.com. IN NS ns9.nonexistant.com.
|
||||
example.com. IN NS ns10.nonexistant.com.
|
||||
example.com. IN NS ns11.nonexistant.com.
|
||||
example.com. IN NS ns12.nonexistant.com.
|
||||
ENTRY_END
|
||||
|
||||
; The child side nameservers are now known to Unbound
|
||||
|
||||
; Query again, the child server nameservers will be asked now
|
||||
STEP 3 QUERY
|
||||
ENTRY_BEGIN
|
||||
REPLY RD
|
||||
SECTION QUESTION
|
||||
b.example.com. IN A
|
||||
ENTRY_END
|
||||
|
||||
; This was resolved by falling back to the parent side nameservers
|
||||
STEP 4 CHECK_ANSWER
|
||||
ENTRY_BEGIN
|
||||
MATCH all
|
||||
REPLY QR RD RA NOERROR
|
||||
SECTION QUESTION
|
||||
b.example.com. IN A
|
||||
SECTION ANSWER
|
||||
b.example.com. IN A 10.20.30.40
|
||||
SECTION AUTHORITY
|
||||
example.com. IN NS ns1.nonexistant.com.
|
||||
example.com. IN NS ns2.nonexistant.com.
|
||||
example.com. IN NS ns3.nonexistant.com.
|
||||
example.com. IN NS ns4.nonexistant.com.
|
||||
example.com. IN NS ns5.nonexistant.com.
|
||||
example.com. IN NS ns6.nonexistant.com.
|
||||
example.com. IN NS ns7.nonexistant.com.
|
||||
example.com. IN NS ns8.nonexistant.com.
|
||||
example.com. IN NS ns9.nonexistant.com.
|
||||
example.com. IN NS ns10.nonexistant.com.
|
||||
example.com. IN NS ns11.nonexistant.com.
|
||||
example.com. IN NS ns12.nonexistant.com.
|
||||
ENTRY_END
|
||||
|
||||
; Query a third time, this will get the cached NXDOMAINs (no NX counter for
|
||||
; those) and will go to the parent as a last resort. This query will test that
|
||||
; we will not have resolution for the lame(parent side) addresses that could
|
||||
; raise the NX counter because of no address addition to the delegation point
|
||||
; (the same addresses are already there).
|
||||
STEP 5 QUERY
|
||||
ENTRY_BEGIN
|
||||
REPLY RD
|
||||
SECTION QUESTION
|
||||
c.example.com. IN A
|
||||
ENTRY_END
|
||||
|
||||
; This was resolved by going back to the parent side nameservers (child side
|
||||
; was exhausted from cache and queries < MAX_TARGET_NX).
|
||||
STEP 6 CHECK_ANSWER
|
||||
ENTRY_BEGIN
|
||||
MATCH all
|
||||
REPLY QR RD RA NOERROR
|
||||
SECTION QUESTION
|
||||
c.example.com. IN A
|
||||
SECTION ANSWER
|
||||
c.example.com. IN A 10.20.30.40
|
||||
SECTION AUTHORITY
|
||||
example.com. IN NS ns1.nonexistant.com.
|
||||
example.com. IN NS ns2.nonexistant.com.
|
||||
example.com. IN NS ns3.nonexistant.com.
|
||||
example.com. IN NS ns4.nonexistant.com.
|
||||
example.com. IN NS ns5.nonexistant.com.
|
||||
example.com. IN NS ns6.nonexistant.com.
|
||||
example.com. IN NS ns7.nonexistant.com.
|
||||
example.com. IN NS ns8.nonexistant.com.
|
||||
example.com. IN NS ns9.nonexistant.com.
|
||||
example.com. IN NS ns10.nonexistant.com.
|
||||
example.com. IN NS ns11.nonexistant.com.
|
||||
example.com. IN NS ns12.nonexistant.com.
|
||||
ENTRY_END
|
||||
|
||||
; Allow for the nameserver glue to expire
|
||||
STEP 10 TIME_PASSES ELAPSE 11
|
||||
|
||||
; Query again for the parent side fallback
|
||||
STEP 11 QUERY
|
||||
ENTRY_BEGIN
|
||||
REPLY RD
|
||||
SECTION QUESTION
|
||||
d.example.com. IN A
|
||||
ENTRY_END
|
||||
|
||||
; This was resolved by falling back to the parent side nameservers
|
||||
STEP 12 CHECK_ANSWER
|
||||
ENTRY_BEGIN
|
||||
MATCH all
|
||||
REPLY QR RD RA NOERROR
|
||||
SECTION QUESTION
|
||||
d.example.com. IN A
|
||||
SECTION ANSWER
|
||||
d.example.com. IN A 10.20.30.40
|
||||
SECTION AUTHORITY
|
||||
example.com. IN NS ns1.nonexistant.com.
|
||||
example.com. IN NS ns2.nonexistant.com.
|
||||
example.com. IN NS ns3.nonexistant.com.
|
||||
example.com. IN NS ns4.nonexistant.com.
|
||||
example.com. IN NS ns5.nonexistant.com.
|
||||
example.com. IN NS ns6.nonexistant.com.
|
||||
example.com. IN NS ns7.nonexistant.com.
|
||||
example.com. IN NS ns8.nonexistant.com.
|
||||
example.com. IN NS ns9.nonexistant.com.
|
||||
example.com. IN NS ns10.nonexistant.com.
|
||||
example.com. IN NS ns11.nonexistant.com.
|
||||
example.com. IN NS ns12.nonexistant.com.
|
||||
ENTRY_END
|
||||
;; K.ROOT-SERVERS.NET.
|
||||
;RANGE_BEGIN 0 100
|
||||
; ADDRESS 193.0.14.129
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; . IN NS
|
||||
; SECTION ANSWER
|
||||
; . IN NS K.ROOT-SERVERS.NET.
|
||||
; SECTION ADDITIONAL
|
||||
; K.ROOT-SERVERS.NET. IN A 193.0.14.129
|
||||
; ENTRY_END
|
||||
;
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype subdomain
|
||||
; ADJUST copy_id copy_query
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; example.com. IN A
|
||||
; SECTION AUTHORITY
|
||||
; com. IN NS a.gtld-servers.net.
|
||||
; SECTION ADDITIONAL
|
||||
; a.gtld-servers.net. IN A 192.5.6.30
|
||||
; ENTRY_END
|
||||
;
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode subdomain
|
||||
; ADJUST copy_id copy_query
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; nonexistant.com. IN A
|
||||
; SECTION AUTHORITY
|
||||
; com. IN NS a.gtld-servers.net.
|
||||
; SECTION ADDITIONAL
|
||||
; a.gtld-servers.net. IN A 192.5.6.30
|
||||
; ENTRY_END
|
||||
;RANGE_END
|
||||
;
|
||||
;; a.gtld-servers.net.
|
||||
;RANGE_BEGIN 0 100
|
||||
; ADDRESS 192.5.6.30
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; com. IN NS
|
||||
; SECTION ANSWER
|
||||
; com. IN NS a.gtld-servers.net.
|
||||
; SECTION ADDITIONAL
|
||||
; a.gtld-servers.net. IN A 192.5.6.30
|
||||
; ENTRY_END
|
||||
;
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype subdomain
|
||||
; ADJUST copy_id copy_query
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; example.com. IN A
|
||||
; SECTION AUTHORITY
|
||||
; example.com. IN NS ns.example.com.
|
||||
; SECTION ADDITIONAL
|
||||
; ns.example.com. 10 IN A 1.2.3.4
|
||||
; ENTRY_END
|
||||
;
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode subdomain
|
||||
; ADJUST copy_id copy_query
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; nonexistant.com. IN A
|
||||
; SECTION AUTHORITY
|
||||
; nonexistant.com. IN NS ns.example.com.
|
||||
; SECTION ADDITIONAL
|
||||
; ns.example.com. 10 IN A 1.2.3.4
|
||||
; ENTRY_END
|
||||
;RANGE_END
|
||||
;
|
||||
;; ns.example.com.
|
||||
;RANGE_BEGIN 0 100
|
||||
; ADDRESS 1.2.3.4
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; example.com. IN NS
|
||||
; SECTION ANSWER
|
||||
; example.com. IN NS ns1.nonexistant.com.
|
||||
; example.com. IN NS ns2.nonexistant.com.
|
||||
; example.com. IN NS ns3.nonexistant.com.
|
||||
; example.com. IN NS ns4.nonexistant.com.
|
||||
; example.com. IN NS ns5.nonexistant.com.
|
||||
; example.com. IN NS ns6.nonexistant.com.
|
||||
; example.com. IN NS ns7.nonexistant.com.
|
||||
; example.com. IN NS ns8.nonexistant.com.
|
||||
; example.com. IN NS ns9.nonexistant.com.
|
||||
; example.com. IN NS ns10.nonexistant.com.
|
||||
; example.com. IN NS ns11.nonexistant.com.
|
||||
; example.com. IN NS ns12.nonexistant.com.
|
||||
; ENTRY_END
|
||||
;
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; ns.example.com. IN A
|
||||
; SECTION ANSWER
|
||||
; ns.example.com. 10 IN A 1.2.3.4
|
||||
; ENTRY_END
|
||||
;
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; ns.example.com. IN AAAA
|
||||
; ENTRY_END
|
||||
;
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode subdomain
|
||||
; ADJUST copy_id copy_query
|
||||
; REPLY QR NXDOMAIN
|
||||
; SECTION QUESTION
|
||||
; nonexistant.com. IN A
|
||||
; ENTRY_END
|
||||
;
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; a.example.com. IN A
|
||||
; SECTION ANSWER
|
||||
; a.example.com. IN A 10.20.30.40
|
||||
; SECTION AUTHORITY
|
||||
; example.com. IN NS ns1.nonexistant.com.
|
||||
; example.com. IN NS ns2.nonexistant.com.
|
||||
; example.com. IN NS ns3.nonexistant.com.
|
||||
; example.com. IN NS ns4.nonexistant.com.
|
||||
; example.com. IN NS ns5.nonexistant.com.
|
||||
; example.com. IN NS ns6.nonexistant.com.
|
||||
; example.com. IN NS ns7.nonexistant.com.
|
||||
; example.com. IN NS ns8.nonexistant.com.
|
||||
; example.com. IN NS ns9.nonexistant.com.
|
||||
; example.com. IN NS ns10.nonexistant.com.
|
||||
; example.com. IN NS ns11.nonexistant.com.
|
||||
; example.com. IN NS ns12.nonexistant.com.
|
||||
; ENTRY_END
|
||||
;
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; b.example.com. IN A
|
||||
; SECTION ANSWER
|
||||
; b.example.com. IN A 10.20.30.40
|
||||
; SECTION AUTHORITY
|
||||
; example.com. IN NS ns1.nonexistant.com.
|
||||
; example.com. IN NS ns2.nonexistant.com.
|
||||
; example.com. IN NS ns3.nonexistant.com.
|
||||
; example.com. IN NS ns4.nonexistant.com.
|
||||
; example.com. IN NS ns5.nonexistant.com.
|
||||
; example.com. IN NS ns6.nonexistant.com.
|
||||
; example.com. IN NS ns7.nonexistant.com.
|
||||
; example.com. IN NS ns8.nonexistant.com.
|
||||
; example.com. IN NS ns9.nonexistant.com.
|
||||
; example.com. IN NS ns10.nonexistant.com.
|
||||
; example.com. IN NS ns11.nonexistant.com.
|
||||
; example.com. IN NS ns12.nonexistant.com.
|
||||
; ENTRY_END
|
||||
;
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; c.example.com. IN A
|
||||
; SECTION ANSWER
|
||||
; c.example.com. IN A 10.20.30.40
|
||||
; SECTION AUTHORITY
|
||||
; example.com. IN NS ns1.nonexistant.com.
|
||||
; example.com. IN NS ns2.nonexistant.com.
|
||||
; example.com. IN NS ns3.nonexistant.com.
|
||||
; example.com. IN NS ns4.nonexistant.com.
|
||||
; example.com. IN NS ns5.nonexistant.com.
|
||||
; example.com. IN NS ns6.nonexistant.com.
|
||||
; example.com. IN NS ns7.nonexistant.com.
|
||||
; example.com. IN NS ns8.nonexistant.com.
|
||||
; example.com. IN NS ns9.nonexistant.com.
|
||||
; example.com. IN NS ns10.nonexistant.com.
|
||||
; example.com. IN NS ns11.nonexistant.com.
|
||||
; example.com. IN NS ns12.nonexistant.com.
|
||||
; ENTRY_END
|
||||
;
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; d.example.com. IN A
|
||||
; SECTION ANSWER
|
||||
; d.example.com. IN A 10.20.30.40
|
||||
; SECTION AUTHORITY
|
||||
; example.com. IN NS ns1.nonexistant.com.
|
||||
; example.com. IN NS ns2.nonexistant.com.
|
||||
; example.com. IN NS ns3.nonexistant.com.
|
||||
; example.com. IN NS ns4.nonexistant.com.
|
||||
; example.com. IN NS ns5.nonexistant.com.
|
||||
; example.com. IN NS ns6.nonexistant.com.
|
||||
; example.com. IN NS ns7.nonexistant.com.
|
||||
; example.com. IN NS ns8.nonexistant.com.
|
||||
; example.com. IN NS ns9.nonexistant.com.
|
||||
; example.com. IN NS ns10.nonexistant.com.
|
||||
; example.com. IN NS ns11.nonexistant.com.
|
||||
; example.com. IN NS ns12.nonexistant.com.
|
||||
; ENTRY_END
|
||||
;RANGE_END
|
||||
;
|
||||
;STEP 1 QUERY
|
||||
;ENTRY_BEGIN
|
||||
;REPLY RD
|
||||
;SECTION QUESTION
|
||||
;a.example.com. IN A
|
||||
;ENTRY_END
|
||||
;
|
||||
;; This was resolved by asking the parent side nameservers
|
||||
;STEP 2 CHECK_ANSWER
|
||||
;ENTRY_BEGIN
|
||||
;MATCH all
|
||||
;REPLY QR RD RA NOERROR
|
||||
;SECTION QUESTION
|
||||
;a.example.com. IN A
|
||||
;SECTION ANSWER
|
||||
;a.example.com. IN A 10.20.30.40
|
||||
;SECTION AUTHORITY
|
||||
;example.com. IN NS ns1.nonexistant.com.
|
||||
;example.com. IN NS ns2.nonexistant.com.
|
||||
;example.com. IN NS ns3.nonexistant.com.
|
||||
;example.com. IN NS ns4.nonexistant.com.
|
||||
;example.com. IN NS ns5.nonexistant.com.
|
||||
;example.com. IN NS ns6.nonexistant.com.
|
||||
;example.com. IN NS ns7.nonexistant.com.
|
||||
;example.com. IN NS ns8.nonexistant.com.
|
||||
;example.com. IN NS ns9.nonexistant.com.
|
||||
;example.com. IN NS ns10.nonexistant.com.
|
||||
;example.com. IN NS ns11.nonexistant.com.
|
||||
;example.com. IN NS ns12.nonexistant.com.
|
||||
;ENTRY_END
|
||||
;
|
||||
;; The child side nameservers are now known to Unbound
|
||||
;
|
||||
;; Query again, the child server nameservers will be asked now
|
||||
;STEP 3 QUERY
|
||||
;ENTRY_BEGIN
|
||||
;REPLY RD
|
||||
;SECTION QUESTION
|
||||
;b.example.com. IN A
|
||||
;ENTRY_END
|
||||
;
|
||||
;; This was resolved by falling back to the parent side nameservers
|
||||
;STEP 4 CHECK_ANSWER
|
||||
;ENTRY_BEGIN
|
||||
;MATCH all
|
||||
;REPLY QR RD RA NOERROR
|
||||
;SECTION QUESTION
|
||||
;b.example.com. IN A
|
||||
;SECTION ANSWER
|
||||
;b.example.com. IN A 10.20.30.40
|
||||
;SECTION AUTHORITY
|
||||
;example.com. IN NS ns1.nonexistant.com.
|
||||
;example.com. IN NS ns2.nonexistant.com.
|
||||
;example.com. IN NS ns3.nonexistant.com.
|
||||
;example.com. IN NS ns4.nonexistant.com.
|
||||
;example.com. IN NS ns5.nonexistant.com.
|
||||
;example.com. IN NS ns6.nonexistant.com.
|
||||
;example.com. IN NS ns7.nonexistant.com.
|
||||
;example.com. IN NS ns8.nonexistant.com.
|
||||
;example.com. IN NS ns9.nonexistant.com.
|
||||
;example.com. IN NS ns10.nonexistant.com.
|
||||
;example.com. IN NS ns11.nonexistant.com.
|
||||
;example.com. IN NS ns12.nonexistant.com.
|
||||
;ENTRY_END
|
||||
;
|
||||
;; Query a third time, this will get the cached NXDOMAINs (no NX counter for
|
||||
;; those) and will go to the parent as a last resort. This query will test that
|
||||
;; we will not have resolution for the lame(parent side) addresses that could
|
||||
;; raise the NX counter because of no address addition to the delegation point
|
||||
;; (the same addresses are already there).
|
||||
;STEP 5 QUERY
|
||||
;ENTRY_BEGIN
|
||||
;REPLY RD
|
||||
;SECTION QUESTION
|
||||
;c.example.com. IN A
|
||||
;ENTRY_END
|
||||
;
|
||||
;; This was resolved by going back to the parent side nameservers (child side
|
||||
;; was exhausted from cache and queries < MAX_TARGET_NX).
|
||||
;STEP 6 CHECK_ANSWER
|
||||
;ENTRY_BEGIN
|
||||
;MATCH all
|
||||
;REPLY QR RD RA NOERROR
|
||||
;SECTION QUESTION
|
||||
;c.example.com. IN A
|
||||
;SECTION ANSWER
|
||||
;c.example.com. IN A 10.20.30.40
|
||||
;SECTION AUTHORITY
|
||||
;example.com. IN NS ns1.nonexistant.com.
|
||||
;example.com. IN NS ns2.nonexistant.com.
|
||||
;example.com. IN NS ns3.nonexistant.com.
|
||||
;example.com. IN NS ns4.nonexistant.com.
|
||||
;example.com. IN NS ns5.nonexistant.com.
|
||||
;example.com. IN NS ns6.nonexistant.com.
|
||||
;example.com. IN NS ns7.nonexistant.com.
|
||||
;example.com. IN NS ns8.nonexistant.com.
|
||||
;example.com. IN NS ns9.nonexistant.com.
|
||||
;example.com. IN NS ns10.nonexistant.com.
|
||||
;example.com. IN NS ns11.nonexistant.com.
|
||||
;example.com. IN NS ns12.nonexistant.com.
|
||||
;ENTRY_END
|
||||
;
|
||||
;; Allow for the nameserver glue to expire
|
||||
;STEP 10 TIME_PASSES ELAPSE 11
|
||||
;
|
||||
;; Query again for the parent side fallback
|
||||
;STEP 11 QUERY
|
||||
;ENTRY_BEGIN
|
||||
;REPLY RD
|
||||
;SECTION QUESTION
|
||||
;d.example.com. IN A
|
||||
;ENTRY_END
|
||||
;
|
||||
;; This was resolved by falling back to the parent side nameservers
|
||||
;STEP 12 CHECK_ANSWER
|
||||
;ENTRY_BEGIN
|
||||
;MATCH all
|
||||
;REPLY QR RD RA NOERROR
|
||||
;SECTION QUESTION
|
||||
;d.example.com. IN A
|
||||
;SECTION ANSWER
|
||||
;d.example.com. IN A 10.20.30.40
|
||||
;SECTION AUTHORITY
|
||||
;example.com. IN NS ns1.nonexistant.com.
|
||||
;example.com. IN NS ns2.nonexistant.com.
|
||||
;example.com. IN NS ns3.nonexistant.com.
|
||||
;example.com. IN NS ns4.nonexistant.com.
|
||||
;example.com. IN NS ns5.nonexistant.com.
|
||||
;example.com. IN NS ns6.nonexistant.com.
|
||||
;example.com. IN NS ns7.nonexistant.com.
|
||||
;example.com. IN NS ns8.nonexistant.com.
|
||||
;example.com. IN NS ns9.nonexistant.com.
|
||||
;example.com. IN NS ns10.nonexistant.com.
|
||||
;example.com. IN NS ns11.nonexistant.com.
|
||||
;example.com. IN NS ns12.nonexistant.com.
|
||||
;ENTRY_END
|
||||
|
||||
SCENARIO_END
|
||||
|
|
|
|||
190
testdata/iter_nxns_parentside.rpl
vendored
190
testdata/iter_nxns_parentside.rpl
vendored
|
|
@ -19,100 +19,100 @@ CONFIG_END
|
|||
|
||||
SCENARIO_BEGIN Test that the NXNS fallback does not mess with parent side resolution
|
||||
|
||||
; K.ROOT-SERVERS.NET.
|
||||
RANGE_BEGIN 0 100
|
||||
ADDRESS 193.0.14.129
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
. IN NS
|
||||
SECTION ANSWER
|
||||
. IN NS K.ROOT-SERVERS.NET.
|
||||
SECTION ADDITIONAL
|
||||
K.ROOT-SERVERS.NET. IN A 193.0.14.129
|
||||
ENTRY_END
|
||||
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype subdomain
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
example.com. IN A
|
||||
SECTION AUTHORITY
|
||||
com. IN NS a.gtld-servers.net.
|
||||
SECTION ADDITIONAL
|
||||
a.gtld-servers.net. IN A 192.5.6.30
|
||||
ENTRY_END
|
||||
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode subdomain
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
nonexistant.com. IN A
|
||||
SECTION AUTHORITY
|
||||
com. IN NS a.gtld-servers.net.
|
||||
SECTION ADDITIONAL
|
||||
a.gtld-servers.net. IN A 192.5.6.30
|
||||
ENTRY_END
|
||||
RANGE_END
|
||||
|
||||
; a.gtld-servers.net.
|
||||
RANGE_BEGIN 0 100
|
||||
ADDRESS 192.5.6.30
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype qname
|
||||
ADJUST copy_id
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
com. IN NS
|
||||
SECTION ANSWER
|
||||
com. IN NS a.gtld-servers.net.
|
||||
SECTION ADDITIONAL
|
||||
a.gtld-servers.net. IN A 192.5.6.30
|
||||
ENTRY_END
|
||||
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode qtype subdomain
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NOERROR
|
||||
SECTION QUESTION
|
||||
example.com. IN A
|
||||
SECTION AUTHORITY
|
||||
example.com. IN NS ns1.nonexistant.com.
|
||||
example.com. IN NS ns2.nonexistant.com.
|
||||
example.com. IN NS ns3.nonexistant.com.
|
||||
example.com. IN NS ns4.nonexistant.com.
|
||||
example.com. IN NS ns5.nonexistant.com.
|
||||
example.com. IN NS ns6.nonexistant.com.
|
||||
example.com. IN NS ns7.nonexistant.com.
|
||||
example.com. IN NS ns8.nonexistant.com.
|
||||
ENTRY_END
|
||||
|
||||
ENTRY_BEGIN
|
||||
MATCH opcode subdomain
|
||||
ADJUST copy_id copy_query
|
||||
REPLY QR NXDOMAIN
|
||||
SECTION QUESTION
|
||||
nonexistant.com. IN A
|
||||
ENTRY_END
|
||||
RANGE_END
|
||||
|
||||
STEP 1 QUERY
|
||||
ENTRY_BEGIN
|
||||
REPLY RD
|
||||
SECTION QUESTION
|
||||
a.example.com. IN A
|
||||
ENTRY_END
|
||||
|
||||
STEP 2 CHECK_ANSWER
|
||||
ENTRY_BEGIN
|
||||
MATCH all
|
||||
REPLY QR RD RA SERVFAIL
|
||||
SECTION QUESTION
|
||||
a.example.com. IN A
|
||||
ENTRY_END
|
||||
;; K.ROOT-SERVERS.NET.
|
||||
;RANGE_BEGIN 0 100
|
||||
; ADDRESS 193.0.14.129
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; . IN NS
|
||||
; SECTION ANSWER
|
||||
; . IN NS K.ROOT-SERVERS.NET.
|
||||
; SECTION ADDITIONAL
|
||||
; K.ROOT-SERVERS.NET. IN A 193.0.14.129
|
||||
; ENTRY_END
|
||||
;
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype subdomain
|
||||
; ADJUST copy_id copy_query
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; example.com. IN A
|
||||
; SECTION AUTHORITY
|
||||
; com. IN NS a.gtld-servers.net.
|
||||
; SECTION ADDITIONAL
|
||||
; a.gtld-servers.net. IN A 192.5.6.30
|
||||
; ENTRY_END
|
||||
;
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode subdomain
|
||||
; ADJUST copy_id copy_query
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; nonexistant.com. IN A
|
||||
; SECTION AUTHORITY
|
||||
; com. IN NS a.gtld-servers.net.
|
||||
; SECTION ADDITIONAL
|
||||
; a.gtld-servers.net. IN A 192.5.6.30
|
||||
; ENTRY_END
|
||||
;RANGE_END
|
||||
;
|
||||
;; a.gtld-servers.net.
|
||||
;RANGE_BEGIN 0 100
|
||||
; ADDRESS 192.5.6.30
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype qname
|
||||
; ADJUST copy_id
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; com. IN NS
|
||||
; SECTION ANSWER
|
||||
; com. IN NS a.gtld-servers.net.
|
||||
; SECTION ADDITIONAL
|
||||
; a.gtld-servers.net. IN A 192.5.6.30
|
||||
; ENTRY_END
|
||||
;
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode qtype subdomain
|
||||
; ADJUST copy_id copy_query
|
||||
; REPLY QR NOERROR
|
||||
; SECTION QUESTION
|
||||
; example.com. IN A
|
||||
; SECTION AUTHORITY
|
||||
; example.com. IN NS ns1.nonexistant.com.
|
||||
; example.com. IN NS ns2.nonexistant.com.
|
||||
; example.com. IN NS ns3.nonexistant.com.
|
||||
; example.com. IN NS ns4.nonexistant.com.
|
||||
; example.com. IN NS ns5.nonexistant.com.
|
||||
; example.com. IN NS ns6.nonexistant.com.
|
||||
; example.com. IN NS ns7.nonexistant.com.
|
||||
; example.com. IN NS ns8.nonexistant.com.
|
||||
; ENTRY_END
|
||||
;
|
||||
; ENTRY_BEGIN
|
||||
; MATCH opcode subdomain
|
||||
; ADJUST copy_id copy_query
|
||||
; REPLY QR NXDOMAIN
|
||||
; SECTION QUESTION
|
||||
; nonexistant.com. IN A
|
||||
; ENTRY_END
|
||||
;RANGE_END
|
||||
;
|
||||
;STEP 1 QUERY
|
||||
;ENTRY_BEGIN
|
||||
;REPLY RD
|
||||
;SECTION QUESTION
|
||||
;a.example.com. IN A
|
||||
;ENTRY_END
|
||||
;
|
||||
;STEP 2 CHECK_ANSWER
|
||||
;ENTRY_BEGIN
|
||||
;MATCH all
|
||||
;REPLY QR RD RA SERVFAIL
|
||||
;SECTION QUESTION
|
||||
;a.example.com. IN A
|
||||
;ENTRY_END
|
||||
|
||||
SCENARIO_END
|
||||
|
|
|
|||
Loading…
Reference in a new issue