summaryrefslogtreecommitdiffstats
path: root/tests/integration/deckard/sets/resolver/module_dns64.rpl
diff options
context:
space:
mode:
Diffstat (limited to 'tests/integration/deckard/sets/resolver/module_dns64.rpl')
-rw-r--r--tests/integration/deckard/sets/resolver/module_dns64.rpl206
1 files changed, 206 insertions, 0 deletions
diff --git a/tests/integration/deckard/sets/resolver/module_dns64.rpl b/tests/integration/deckard/sets/resolver/module_dns64.rpl
new file mode 100644
index 0000000..59718a0
--- /dev/null
+++ b/tests/integration/deckard/sets/resolver/module_dns64.rpl
@@ -0,0 +1,206 @@
+do-ip6: no
+
+; config options
+ stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET.
+ features: dns64_prefix = fe80::21b:aabb:0:0
+CONFIG_END
+
+SCENARIO_BEGIN Test dns64 features
+
+; 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 subdomain
+ADJUST copy_id copy_query
+REPLY QR NOERROR
+SECTION QUESTION
+cz. IN NS
+SECTION AUTHORITY
+cz. IN NS d.ns.nic.cz.
+SECTION ADDITIONAL
+d.ns.nic.cz. IN A 193.29.206.1
+;d.ns.nic.cz. IN AAAA 2001:678:1::1
+ENTRY_END
+RANGE_END
+
+RANGE_BEGIN 0 100
+ ADDRESS 193.29.206.1
+ENTRY_BEGIN
+MATCH opcode subdomain
+ADJUST copy_id copy_query
+REPLY QR NOERROR
+SECTION QUESTION
+example.cz. IN NS
+SECTION AUTHORITY
+example.cz. IN NS ns.example.cz.
+SECTION ADDITIONAL
+ns.example.cz. IN A 1.2.3.4
+ENTRY_END
+RANGE_END
+
+RANGE_BEGIN 0 100
+ ADDRESS 1.2.3.4
+ENTRY_BEGIN
+MATCH opcode qtype qname
+ADJUST copy_id
+REPLY QR NOERROR
+SECTION QUESTION
+www.example.cz. IN A
+SECTION ANSWER
+www.example.cz. IN A 1.2.3.5
+www.example.cz. IN A 1.2.3.6
+SECTION AUTHORITY
+example.cz. IN NS ns.example.cz.
+SECTION ADDITIONAL
+ns.example.cz. IN A 1.2.3.4
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qname qtype
+ADJUST copy_id
+REPLY QR NOERROR
+SECTION QUESTION
+www.example.cz. IN AAAA
+SECTION AUTHORITY
+example.cz. 3600 IN SOA bla. bla. 1 2 3 4 5
+SECTION ADDITIONAL
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qname qtype
+ADJUST copy_id
+REPLY QR NOERROR
+SECTION QUESTION
+www6.example.cz. IN AAAA
+SECTION ANSWER
+www6.example.cz. 3600 IN AAAA 2001:db8::1
+SECTION ADDITIONAL
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qname
+ADJUST copy_id copy_query
+REPLY QR NOERROR
+SECTION QUESTION
+cname.example.cz. IN CNAME
+SECTION ANSWER
+cname.example.cz. IN CNAME www.example.cz.
+ENTRY_END
+
+ENTRY_BEGIN
+MATCH opcode qname qtype
+ADJUST copy_id
+REPLY QR REFUSED
+SECTION QUESTION
+fail6.example.cz. IN AAAA
+SECTION ANSWER
+ENTRY_END
+RANGE_END
+
+
+STEP 10 QUERY
+ENTRY_BEGIN
+REPLY RD
+SECTION QUESTION
+www.example.cz. IN AAAA
+ENTRY_END
+
+STEP 11 CHECK_ANSWER
+ENTRY_BEGIN
+MATCH flags rcode question answer
+REPLY QR RD RA NOERROR
+SECTION QUESTION
+www.example.cz. IN AAAA
+SECTION ANSWER
+www.example.cz. IN AAAA fe80::21b:aabb:102:305
+www.example.cz. IN AAAA fe80::21b:aabb:102:306
+ENTRY_END
+
+; Do not synthesize on +CD queries, sec. 5.5.3.
+STEP 12 QUERY
+ENTRY_BEGIN
+REPLY RD DO CD
+SECTION QUESTION
+www.example.cz. IN AAAA
+ENTRY_END
+
+STEP 13 CHECK_ANSWER
+ENTRY_BEGIN
+MATCH flags rcode question answer authority
+REPLY QR RD RA DO CD NOERROR
+SECTION QUESTION
+www.example.cz. IN AAAA
+SECTION ANSWER
+SECTION AUTHORITY
+example.cz. 3600 IN SOA bla. bla. 1 2 3 4 5
+ENTRY_END
+
+; Do not synthesize if AAAA exists.
+STEP 14 QUERY
+ENTRY_BEGIN
+REPLY RD
+SECTION QUESTION
+www6.example.cz. IN AAAA
+ENTRY_END
+
+STEP 15 CHECK_ANSWER
+ENTRY_BEGIN
+MATCH flags rcode question answer
+REPLY QR RD RA NOERROR
+SECTION QUESTION
+www6.example.cz. IN AAAA
+SECTION ANSWER
+www6.example.cz. 3600 IN AAAA 2001:db8::1
+ENTRY_END
+
+; Generate from simple NODATA behind a CNAME.
+STEP 16 QUERY
+ENTRY_BEGIN
+REPLY RD
+SECTION QUESTION
+cname.example.cz. IN AAAA
+ENTRY_END
+
+STEP 17 CHECK_ANSWER
+ENTRY_BEGIN
+MATCH flags rcode question answer
+REPLY QR RD RA NOERROR
+SECTION QUESTION
+cname.example.cz. IN AAAA
+SECTION ANSWER
+cname.example.cz. IN CNAME www.example.cz.
+www.example.cz. IN AAAA fe80::21b:aabb:102:305
+www.example.cz. IN AAAA fe80::21b:aabb:102:306
+ENTRY_END
+
+; Fail for AAAA won't cause query for A (answer not defined).
+STEP 18 QUERY
+ENTRY_BEGIN
+REPLY RD
+SECTION QUESTION
+fail6.example.cz. IN AAAA
+ENTRY_END
+
+STEP 19 CHECK_ANSWER
+ENTRY_BEGIN
+MATCH flags rcode question answer
+REPLY QR RD RA SERVFAIL
+SECTION QUESTION
+fail6.example.cz. IN AAAA
+SECTION ANSWER
+ENTRY_END
+
+SCENARIO_END