3 target-fetch-policy: "0 0 0 0 0"
8 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET.
11 SCENARIO_BEGIN Test resolver prefetch of NS record for moved domain
17 MATCH opcode qtype qname
23 . IN NS K.ROOT-SERVERS.NET.
25 K.ROOT-SERVERS.NET. IN A 193.0.14.129
29 MATCH opcode subdomain
30 ADJUST copy_id copy_query
35 com. IN NS a.gtld-servers.net.
37 a.gtld-servers.net. IN A 192.5.6.30
41 ; a.gtld-servers.net. (before sale of domain)
45 MATCH opcode qtype qname
51 com. IN NS a.gtld-servers.net.
53 a.gtld-servers.net. IN A 192.5.6.30
57 MATCH opcode subdomain
58 ADJUST copy_id copy_query
63 example.com. IN NS ns.example.com.
65 ns.example.com. IN A 1.2.3.4
69 ; a.gtld-servers.net. (after sale of domain)
73 MATCH opcode qtype qname
79 com. IN NS a.gtld-servers.net.
81 a.gtld-servers.net. IN A 192.5.6.30
85 MATCH opcode subdomain
86 ADJUST copy_id copy_query
91 example.com. IN NS ns.example.com.
93 ns.example.com. IN A 8.8.8.8
97 ; ns.example.com. first owner
101 MATCH opcode qtype qname
107 example.com. IN NS ns.example.com.
109 ns.example.com. IN A 1.2.3.4
113 MATCH opcode qtype qname
117 www.example.com. IN A
119 www.example.com. 3600 IN A 10.20.30.40
121 example.com. 3600 IN NS ns.example.com.
123 ns.example.com. 3600 IN A 1.2.3.4
127 ; ns.example.com. new owner
131 MATCH opcode qtype qname
137 example.com. IN NS ns.example.com.
139 ns.example.com. IN A 8.8.8.8
143 MATCH opcode qtype qname
147 www.example.com. IN A
149 www.example.com. 3600 IN A 88.88.88.88
151 example.com. 3600 IN NS ns.example.com.
153 ns.example.com. 3600 IN A 8.8.8.8
161 www.example.com. IN A
163 ; recursion happens here.
167 REPLY QR RD RA NOERROR
169 www.example.com. IN A
171 www.example.com. 3600 IN A 10.20.30.40
173 example.com. 3600 IN NS ns.example.com.
175 ns.example.com. 3600 IN A 1.2.3.4
184 ; recursion happens here.
188 REPLY QR RD RA NOERROR
192 example.com. 3600 IN NS ns.example.com.
195 ns.example.com. 3600 IN A 1.2.3.4
198 ; after 1800 secs still the cached answer
199 STEP 20 TIME_PASSES ELAPSE 1800
205 www.example.com. IN A
207 ; recursion happens here.
211 REPLY QR RD RA NOERROR
213 www.example.com. IN A
215 www.example.com. 1800 IN A 10.20.30.40
217 example.com. 1800 IN NS ns.example.com.
219 ns.example.com. 1800 IN A 1.2.3.4
228 ; recursion happens here.
232 REPLY QR RD RA NOERROR
236 example.com. 1800 IN NS ns.example.com.
239 ns.example.com. 1800 IN A 1.2.3.4
242 ; after 1440 we are 360 seconds before the expiry
243 STEP 50 TIME_PASSES ELAPSE 1440
251 ; recursion happens here.
255 REPLY QR RD RA NOERROR
259 example.com. 360 IN NS ns.example.com.
262 ns.example.com. 360 IN A 1.2.3.4
266 ; let traffic flow for prefetch to happen
268 ; check result of that prefetch
275 ; recursion happens here.
277 ; because the prefetch+current makes old-NS expired, new delegation is picked up
281 REPLY QR RD RA NOERROR
285 example.com. 3600 IN NS ns.example.com.
288 ns.example.com. 3600 IN A 8.8.8.8
291 STEP 100 TIME_PASSES ELAPSE 2360
297 www.example.com. IN A
299 ; recursion happens here.
300 STEP 130 CHECK_ANSWER
303 REPLY QR RD RA NOERROR
305 www.example.com. IN A
307 www.example.com. 3600 IN A 88.88.88.88
309 example.com. 1240 IN NS ns.example.com.
311 ns.example.com. 1240 IN A 8.8.8.8