3 target-fetch-policy: "0 0 0 0 0"
9 stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET.
12 SCENARIO_BEGIN Test resolver prefetch and a moved domain
19 MATCH opcode qtype qname
25 . IN NS K.ROOT-SERVERS.NET.
27 K.ROOT-SERVERS.NET. IN A 193.0.14.129
31 MATCH opcode subdomain
32 ADJUST copy_id copy_query
37 com. IN NS a.gtld-servers.net.
39 a.gtld-servers.net. IN A 192.5.6.30
43 ; a.gtld-servers.net. (before sale of domain)
47 MATCH opcode qtype qname
53 com. IN NS a.gtld-servers.net.
55 a.gtld-servers.net. IN A 192.5.6.30
59 MATCH opcode subdomain
60 ADJUST copy_id copy_query
65 example.com. 86400 IN NS old-ns.example.com.
67 old-ns.example.com. 86400 IN A 192.168.0.1
71 ; a.gtld-servers.net. (after sale of domain)
75 MATCH opcode qtype qname
81 com. IN NS a.gtld-servers.net.
83 a.gtld-servers.net. IN A 192.5.6.30
87 MATCH opcode subdomain
88 ADJUST copy_id copy_query
93 example.com. 86400 IN NS new-ns.example.com.
95 new-ns.example.com. 86400 IN A 172.16.0.1
99 ; ns.example.com. first owner
103 MATCH opcode qtype qname
109 example.com. 86400 IN NS old-ns.example.com.
111 old-ns.example.com. 86400 IN A 192.168.0.1
115 MATCH opcode qtype qname
119 www.example.com. IN A
121 www.example.com. 3600 IN A 10.1.1.1
123 example.com. 86400 IN NS old-ns.example.com.
125 old-ns.example.com. 86400 IN A 192.168.0.1
129 ; ns.example.com. new owner
133 MATCH opcode qtype qname
139 example.com. 86400 IN NS new-ns.example.com.
141 new-ns.example.com. 86400 IN A 172.16.0.1
145 MATCH opcode qtype qname
149 old-ns.example.com. IN A
151 old-ns.example.com. 86400 IN A 172.16.0.1
153 example.com. 86400 IN NS new-ns.example.com.
155 new-ns.example.com. 86400 IN A 172.16.0.1
159 MATCH opcode qtype qname
163 www.example.com. IN A
165 www.example.com. 3600 IN A 10.2.2.2
167 example.com. 86400 IN NS new-ns.example.com.
169 new-ns.example.com. 86400 IN A 172.16.0.1
177 www.example.com. IN A
179 ; recursion happens here.
183 REPLY QR RD RA NOERROR
185 www.example.com. IN A
187 www.example.com. 3600 IN A 10.1.1.1
189 example.com. 86400 IN NS old-ns.example.com.
191 old-ns.example.com. 86400 IN A 192.168.0.1
194 ; after 1800 secs still the cached answer
195 STEP 20 TIME_PASSES ELAPSE 1800
201 www.example.com. IN A
203 ; recursion happens here.
207 REPLY QR RD RA NOERROR
209 www.example.com. IN A
211 www.example.com. 1800 IN A 10.1.1.1
213 example.com. 84600 IN NS old-ns.example.com.
215 old-ns.example.com. 84600 IN A 192.168.0.1
218 ; after 1440 we are 360 seconds before the expiry
219 ; but it still contacts the old-ns
220 STEP 50 TIME_PASSES ELAPSE 1440
226 www.example.com. IN A
228 ; recursion happens here.
232 REPLY QR RD RA NOERROR
234 www.example.com. IN A
236 www.example.com. 360 IN A 10.1.1.1
238 example.com. 83160 IN NS old-ns.example.com.
240 old-ns.example.com. 83160 IN A 192.168.0.1
244 ; let traffic flow for prefetch to happen
246 ; we updated from the old-ns.
251 www.example.com. IN A
253 ; recursion happens here.
254 STEP 100 CHECK_ANSWER
257 REPLY QR RD RA NOERROR
259 www.example.com. IN A
261 www.example.com. 3600 IN A 10.1.1.1
263 example.com. 83160 IN NS old-ns.example.com.
265 old-ns.example.com. 83160 IN A 192.168.0.1
268 ; the NS record is now 10% from expiry (8640 TTL left).
269 ; and the A record has expired completely, retry.
270 STEP 110 TIME_PASSES ELAPSE 74520
272 ; the NS record should have timed out.
273 ; but you see the full TTL here, this is only for *this query*
274 ; in the cache itself its 8640, not 86400.
279 www.example.com. IN A
281 ; recursion happens here.
282 STEP 130 CHECK_ANSWER
285 REPLY QR RD RA NOERROR
287 www.example.com. IN A
289 www.example.com. 3600 IN A 10.1.1.1
291 example.com. 8640 IN NS old-ns.example.com.
293 old-ns.example.com. 8640 IN A 192.168.0.1
301 www.example.com. IN A
303 ; recursion happens here.
304 STEP 150 CHECK_ANSWER
307 REPLY QR RD RA NOERROR
309 www.example.com. IN A
311 www.example.com. 3600 IN A 10.1.1.1
313 example.com. 8640 IN NS old-ns.example.com.
315 old-ns.example.com. 8640 IN A 192.168.0.1
318 ; the NS record times out after 8640 seconds.
319 STEP 160 TIME_PASSES ELAPSE 8641
326 www.example.com. IN A
328 ; recursion happens here.
329 STEP 180 CHECK_ANSWER
332 REPLY QR RD RA NOERROR
334 www.example.com. IN A
336 www.example.com. 3600 IN A 10.2.2.2
338 example.com. 86400 IN NS new-ns.example.com.
340 new-ns.example.com. 86400 IN A 172.16.0.1
348 www.example.com. IN A
350 ; recursion happens here.
351 STEP 200 CHECK_ANSWER
354 REPLY QR RD RA NOERROR
356 www.example.com. IN A
358 www.example.com. 3600 IN A 10.2.2.2
360 example.com. 86400 IN NS new-ns.example.com.
362 new-ns.example.com. 86400 IN A 172.16.0.1