; config options server: target-fetch-policy: "0 0 0 0 0" minimal-responses: no stub-zone: name: "." stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. CONFIG_END SCENARIO_BEGIN Test cache of SOA with minimum ttl and normal ttl. ; 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 com. IN NS 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 subdomain ADJUST copy_id copy_query REPLY QR NOERROR SECTION QUESTION example.com. IN NS SECTION AUTHORITY example.com. IN NS ns.example.com. SECTION ADDITIONAL ns.example.com. 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 ns.example.com. SECTION ADDITIONAL ns.example.com. IN A 1.2.3.4 ENTRY_END ENTRY_BEGIN MATCH opcode qtype qname ADJUST copy_id REPLY QR NOERROR SECTION QUESTION www.example.com. IN A SECTION ANSWER www.example.com. IN A 10.20.30.40 SECTION AUTHORITY example.com. IN NS ns.example.com. SECTION ADDITIONAL ns.example.com. IN A 1.2.3.4 ENTRY_END ENTRY_BEGIN MATCH opcode qtype qname ADJUST copy_id REPLY QR AA NOERROR SECTION QUESTION example.com. IN SOA SECTION ANSWER example.com. 86400 IN SOA dns1.icann.org. hostmaster.icann.org. 2010074630 7200 3600 1209600 3600 SECTION AUTHORITY example.com. 3600 IN NS ns.example.com. SECTION ADDITIONAL ns.example.com. 3600 IN A 1.2.3.4 ENTRY_END ENTRY_BEGIN MATCH opcode qtype qname ADJUST copy_id REPLY QR AA NXDOMAIN SECTION QUESTION nx.example.com. IN A SECTION AUTHORITY example.com. 3600 IN SOA dns1.icann.org. hostmaster.icann.org. 2010074630 7200 3600 1209600 3600 ENTRY_END RANGE_END ; put both queries with SOA records into the cache and then query them from ; the cache. ; first the nxdomain, so that the positive SOA answer later overrides the ; SOA from the authority section from that nxdomain. STEP 1 QUERY ENTRY_BEGIN REPLY RD SECTION QUESTION nx.example.com. IN A ENTRY_END ; recursion happens here. STEP 10 CHECK_ANSWER ENTRY_BEGIN MATCH all ttl REPLY QR RD RA NXDOMAIN SECTION QUESTION nx.example.com. IN A SECTION AUTHORITY example.com. 3600 IN SOA dns1.icann.org. hostmaster.icann.org. 2010074630 7200 3600 1209600 3600 ENTRY_END STEP 20 QUERY ENTRY_BEGIN REPLY RD SECTION QUESTION example.com. IN SOA ENTRY_END ; recursion happens here. STEP 30 CHECK_ANSWER ENTRY_BEGIN MATCH all ttl REPLY QR RD RA NOERROR SECTION QUESTION example.com. IN SOA SECTION ANSWER example.com. 86400 IN SOA dns1.icann.org. hostmaster.icann.org. 2010074630 7200 3600 1209600 3600 SECTION AUTHORITY example.com. 3600 IN NS ns.example.com. SECTION ADDITIONAL ns.example.com. 3600 IN A 1.2.3.4 ENTRY_END ; now check them from the cache (no seconds elapsed). STEP 110 QUERY ENTRY_BEGIN REPLY RD SECTION QUESTION nx.example.com. IN A ENTRY_END STEP 120 CHECK_ANSWER ENTRY_BEGIN MATCH all ttl REPLY QR RD RA NXDOMAIN SECTION QUESTION nx.example.com. IN A SECTION AUTHORITY example.com. 3600 IN SOA dns1.icann.org. hostmaster.icann.org. 2010074630 7200 3600 1209600 3600 ENTRY_END STEP 130 QUERY ENTRY_BEGIN REPLY RD SECTION QUESTION example.com. IN SOA ENTRY_END STEP 140 CHECK_ANSWER ENTRY_BEGIN MATCH all ttl REPLY QR RD RA NOERROR SECTION QUESTION example.com. IN SOA SECTION ANSWER example.com. 86400 IN SOA dns1.icann.org. hostmaster.icann.org. 2010074630 7200 3600 1209600 3600 SECTION AUTHORITY example.com. 3600 IN NS ns.example.com. SECTION ADDITIONAL ns.example.com. 3600 IN A 1.2.3.4 ENTRY_END SCENARIO_END