xref: /netbsd-src/external/bsd/unbound/dist/testdata/iter_prefetch_change.rpl (revision 7e30e94394d0994ab9534f68a8f91665045c91ce)
1; config options
2server:
3	target-fetch-policy: "0 0 0 0 0"
4	prefetch: "yes"
5
6stub-zone:
7	name: "."
8	stub-addr: 193.0.14.129 	# K.ROOT-SERVERS.NET.
9CONFIG_END
10
11SCENARIO_BEGIN Test resolver prefetch and a moved domain
12; for bug #425.
13
14; K.ROOT-SERVERS.NET.
15RANGE_BEGIN 0 500
16	ADDRESS 193.0.14.129
17ENTRY_BEGIN
18MATCH opcode qtype qname
19ADJUST copy_id
20REPLY QR NOERROR
21SECTION QUESTION
22. IN NS
23SECTION ANSWER
24. IN NS	K.ROOT-SERVERS.NET.
25SECTION ADDITIONAL
26K.ROOT-SERVERS.NET.	IN	A	193.0.14.129
27ENTRY_END
28
29ENTRY_BEGIN
30MATCH opcode subdomain
31ADJUST copy_id copy_query
32REPLY QR NOERROR
33SECTION QUESTION
34com. IN A
35SECTION AUTHORITY
36com.	IN NS	a.gtld-servers.net.
37SECTION ADDITIONAL
38a.gtld-servers.net.	IN 	A	192.5.6.30
39ENTRY_END
40RANGE_END
41
42; a.gtld-servers.net. (before sale of domain)
43RANGE_BEGIN 0 30
44	ADDRESS 192.5.6.30
45ENTRY_BEGIN
46MATCH opcode qtype qname
47ADJUST copy_id
48REPLY QR NOERROR
49SECTION QUESTION
50com. IN NS
51SECTION ANSWER
52com.	IN NS	a.gtld-servers.net.
53SECTION ADDITIONAL
54a.gtld-servers.net.	IN 	A	192.5.6.30
55ENTRY_END
56
57ENTRY_BEGIN
58MATCH opcode subdomain
59ADJUST copy_id copy_query
60REPLY QR NOERROR
61SECTION QUESTION
62example.com. IN A
63SECTION AUTHORITY
64example.com.	86400 IN NS	old-ns.example.com.
65SECTION ADDITIONAL
66old-ns.example.com.		86400 IN 	A	192.168.0.1
67ENTRY_END
68RANGE_END
69
70; a.gtld-servers.net. (after sale of domain)
71RANGE_BEGIN 40 500
72	ADDRESS 192.5.6.30
73ENTRY_BEGIN
74MATCH opcode qtype qname
75ADJUST copy_id
76REPLY QR NOERROR
77SECTION QUESTION
78com. IN NS
79SECTION ANSWER
80com.	IN NS	a.gtld-servers.net.
81SECTION ADDITIONAL
82a.gtld-servers.net.	IN 	A	192.5.6.30
83ENTRY_END
84
85ENTRY_BEGIN
86MATCH opcode subdomain
87ADJUST copy_id copy_query
88REPLY QR NOERROR
89SECTION QUESTION
90example.com. IN A
91SECTION AUTHORITY
92example.com.	86400 IN NS	new-ns.example.com.
93SECTION ADDITIONAL
94new-ns.example.com.		86400 IN 	A	172.16.0.1
95ENTRY_END
96RANGE_END
97
98; ns.example.com. first owner
99RANGE_BEGIN 0 500
100	ADDRESS 192.168.0.1
101ENTRY_BEGIN
102MATCH opcode qtype qname
103ADJUST copy_id
104REPLY QR AA NOERROR
105SECTION QUESTION
106example.com. IN NS
107SECTION ANSWER
108example.com.	86400 IN NS	old-ns.example.com.
109SECTION ADDITIONAL
110old-ns.example.com.		86400 IN 	A	192.168.0.1
111ENTRY_END
112
113ENTRY_BEGIN
114MATCH opcode qtype qname
115ADJUST copy_id
116REPLY QR AA NOERROR
117SECTION QUESTION
118www.example.com. IN A
119SECTION ANSWER
120www.example.com. 3600 IN A	10.1.1.1
121SECTION AUTHORITY
122example.com.	86400 IN NS	old-ns.example.com.
123SECTION ADDITIONAL
124old-ns.example.com.		86400 IN 	A	192.168.0.1
125ENTRY_END
126RANGE_END
127
128; ns.example.com. new owner
129RANGE_BEGIN 0 500
130	ADDRESS 172.16.0.1
131ENTRY_BEGIN
132MATCH opcode qtype qname
133ADJUST copy_id
134REPLY QR AA NOERROR
135SECTION QUESTION
136example.com. IN NS
137SECTION ANSWER
138example.com.	86400 IN NS	new-ns.example.com.
139SECTION ADDITIONAL
140new-ns.example.com.		86400 IN 	A	172.16.0.1
141ENTRY_END
142
143ENTRY_BEGIN
144MATCH opcode qtype qname
145ADJUST copy_id
146REPLY QR AA NOERROR
147SECTION QUESTION
148old-ns.example.com. IN A
149SECTION ANSWER
150old-ns.example.com. 86400 IN A	172.16.0.1
151SECTION AUTHORITY
152example.com.	86400 IN NS	new-ns.example.com.
153SECTION ADDITIONAL
154new-ns.example.com.		86400 IN 	A	172.16.0.1
155ENTRY_END
156
157ENTRY_BEGIN
158MATCH opcode qtype qname
159ADJUST copy_id
160REPLY QR AA NOERROR
161SECTION QUESTION
162www.example.com. IN A
163SECTION ANSWER
164www.example.com. 3600 IN A	10.2.2.2
165SECTION AUTHORITY
166example.com.	86400 IN NS	new-ns.example.com.
167SECTION ADDITIONAL
168new-ns.example.com.		86400 IN 	A	172.16.0.1
169ENTRY_END
170RANGE_END
171
172STEP 1 QUERY
173ENTRY_BEGIN
174REPLY RD
175SECTION QUESTION
176www.example.com. IN A
177ENTRY_END
178; recursion happens here.
179STEP 10 CHECK_ANSWER
180ENTRY_BEGIN
181MATCH all ttl
182REPLY QR RD RA NOERROR
183SECTION QUESTION
184www.example.com. IN A
185SECTION ANSWER
186www.example.com.	3600 IN A	10.1.1.1
187SECTION AUTHORITY
188example.com.		86400 IN NS	old-ns.example.com.
189SECTION ADDITIONAL
190old-ns.example.com.	86400 IN A	192.168.0.1
191ENTRY_END
192
193; after 1800 secs still the cached answer
194STEP 20 TIME_PASSES ELAPSE 1800
195
196STEP 30 QUERY
197ENTRY_BEGIN
198REPLY RD
199SECTION QUESTION
200www.example.com. IN A
201ENTRY_END
202; recursion happens here.
203STEP 40 CHECK_ANSWER
204ENTRY_BEGIN
205MATCH all ttl
206REPLY QR RD RA NOERROR
207SECTION QUESTION
208www.example.com. IN A
209SECTION ANSWER
210www.example.com.	1800 IN A	10.1.1.1
211SECTION AUTHORITY
212example.com.		84600 IN NS	old-ns.example.com.
213SECTION ADDITIONAL
214old-ns.example.com.	84600 IN A	192.168.0.1
215ENTRY_END
216
217; after 1440 we are 360 seconds before the expiry
218; but it still contacts the old-ns
219STEP 50 TIME_PASSES ELAPSE 1440
220
221STEP 60 QUERY
222ENTRY_BEGIN
223REPLY RD
224SECTION QUESTION
225www.example.com. IN A
226ENTRY_END
227; recursion happens here.
228STEP 70 CHECK_ANSWER
229ENTRY_BEGIN
230MATCH all ttl
231REPLY QR RD RA NOERROR
232SECTION QUESTION
233www.example.com. IN A
234SECTION ANSWER
235www.example.com.	360 IN A	10.1.1.1
236SECTION AUTHORITY
237example.com.		83160 IN NS	old-ns.example.com.
238SECTION ADDITIONAL
239old-ns.example.com.	83160 IN A	192.168.0.1
240ENTRY_END
241
242STEP 80 TRAFFIC
243; let traffic flow for prefetch to happen
244
245; we updated from the old-ns.
246STEP 90 QUERY
247ENTRY_BEGIN
248REPLY RD
249SECTION QUESTION
250www.example.com. IN A
251ENTRY_END
252; recursion happens here.
253STEP 100 CHECK_ANSWER
254ENTRY_BEGIN
255MATCH all ttl
256REPLY QR RD RA NOERROR
257SECTION QUESTION
258www.example.com. IN A
259SECTION ANSWER
260www.example.com.	3600 IN A	10.1.1.1
261SECTION AUTHORITY
262example.com.		83160 IN NS	old-ns.example.com.
263SECTION ADDITIONAL
264old-ns.example.com.	83160 IN A	192.168.0.1
265ENTRY_END
266
267; the NS record is now 10% from expiry (8640 TTL left).
268; and the A record has expired completely, retry.
269STEP 110 TIME_PASSES ELAPSE 74520
270
271; the NS record should have timed out.
272; but you see the full TTL here, this is only for *this query*
273; in the cache itself its 8640, not 86400.
274STEP 120 QUERY
275ENTRY_BEGIN
276REPLY RD
277SECTION QUESTION
278www.example.com. IN A
279ENTRY_END
280; recursion happens here.
281STEP 130 CHECK_ANSWER
282ENTRY_BEGIN
283MATCH all ttl
284REPLY QR RD RA NOERROR
285SECTION QUESTION
286www.example.com. IN A
287SECTION ANSWER
288www.example.com.	3600 IN A	10.1.1.1
289SECTION AUTHORITY
290example.com.		8640 IN NS	old-ns.example.com.
291SECTION ADDITIONAL
292old-ns.example.com.	8640 IN A	192.168.0.1
293ENTRY_END
294
295; get it from cache
296STEP 140 QUERY
297ENTRY_BEGIN
298REPLY RD
299SECTION QUESTION
300www.example.com. IN A
301ENTRY_END
302; recursion happens here.
303STEP 150 CHECK_ANSWER
304ENTRY_BEGIN
305MATCH all ttl
306REPLY QR RD RA NOERROR
307SECTION QUESTION
308www.example.com. IN A
309SECTION ANSWER
310www.example.com.	3600 IN A	10.1.1.1
311SECTION AUTHORITY
312example.com.		8640 IN NS	old-ns.example.com.
313SECTION ADDITIONAL
314old-ns.example.com.	8640 IN A	192.168.0.1
315ENTRY_END
316
317; the NS record times out after 8640 seconds.
318STEP 160 TIME_PASSES ELAPSE 8641
319
320; fetch it
321STEP 170 QUERY
322ENTRY_BEGIN
323REPLY RD
324SECTION QUESTION
325www.example.com. IN A
326ENTRY_END
327; recursion happens here.
328STEP 180 CHECK_ANSWER
329ENTRY_BEGIN
330MATCH all ttl
331REPLY QR RD RA NOERROR
332SECTION QUESTION
333www.example.com. IN A
334SECTION ANSWER
335www.example.com.	3600 IN A	10.2.2.2
336SECTION AUTHORITY
337example.com.		86400 IN NS	new-ns.example.com.
338SECTION ADDITIONAL
339new-ns.example.com.	86400 IN A	172.16.0.1
340ENTRY_END
341
342; a reply from cache
343STEP 190 QUERY
344ENTRY_BEGIN
345REPLY RD
346SECTION QUESTION
347www.example.com. IN A
348ENTRY_END
349; recursion happens here.
350STEP 200 CHECK_ANSWER
351ENTRY_BEGIN
352MATCH all ttl
353REPLY QR RD RA NOERROR
354SECTION QUESTION
355www.example.com. IN A
356SECTION ANSWER
357www.example.com.	3600 IN A	10.2.2.2
358SECTION AUTHORITY
359example.com.		86400 IN NS	new-ns.example.com.
360SECTION ADDITIONAL
361new-ns.example.com.	86400 IN A	172.16.0.1
362ENTRY_END
363
364SCENARIO_END
365