xref: /netbsd-src/external/bsd/unbound/dist/testdata/iter_prefetch_ns.rpl (revision f42d8de7d1744f0ae38eedac13b4320e5351d1d6)
1; config options
2server:
3	target-fetch-policy: "0 0 0 0 0"
4	qname-minimisation: "no"
5	prefetch: "yes"
6	minimal-responses: no
7
8stub-zone:
9	name: "."
10	stub-addr: 193.0.14.129 	# K.ROOT-SERVERS.NET.
11CONFIG_END
12
13SCENARIO_BEGIN Test resolver prefetch of NS record for moved domain
14
15; K.ROOT-SERVERS.NET.
16RANGE_BEGIN 0 200
17	ADDRESS 193.0.14.129
18ENTRY_BEGIN
19MATCH opcode qtype qname
20ADJUST copy_id
21REPLY QR NOERROR
22SECTION QUESTION
23. IN NS
24SECTION ANSWER
25. IN NS	K.ROOT-SERVERS.NET.
26SECTION ADDITIONAL
27K.ROOT-SERVERS.NET.	IN	A	193.0.14.129
28ENTRY_END
29
30ENTRY_BEGIN
31MATCH opcode subdomain
32ADJUST copy_id copy_query
33REPLY QR NOERROR
34SECTION QUESTION
35example.com. IN A
36SECTION AUTHORITY
37com.	IN NS	a.gtld-servers.net.
38SECTION ADDITIONAL
39a.gtld-servers.net.	IN 	A	192.5.6.30
40ENTRY_END
41RANGE_END
42
43; a.gtld-servers.net. (before sale of domain)
44RANGE_BEGIN 0 20
45	ADDRESS 192.5.6.30
46ENTRY_BEGIN
47MATCH opcode qtype qname
48ADJUST copy_id
49REPLY QR NOERROR
50SECTION QUESTION
51com. IN NS
52SECTION ANSWER
53com.	IN NS	a.gtld-servers.net.
54SECTION ADDITIONAL
55a.gtld-servers.net.	IN 	A	192.5.6.30
56ENTRY_END
57
58ENTRY_BEGIN
59MATCH opcode subdomain
60ADJUST copy_id copy_query
61REPLY QR NOERROR
62SECTION QUESTION
63example.com. IN A
64SECTION AUTHORITY
65example.com.	IN NS	ns.example.com.
66SECTION ADDITIONAL
67ns.example.com.		IN 	A	1.2.3.4
68ENTRY_END
69RANGE_END
70
71; a.gtld-servers.net. (after sale of domain)
72RANGE_BEGIN 30 200
73	ADDRESS 192.5.6.30
74ENTRY_BEGIN
75MATCH opcode qtype qname
76ADJUST copy_id
77REPLY QR NOERROR
78SECTION QUESTION
79com. IN NS
80SECTION ANSWER
81com.	IN NS	a.gtld-servers.net.
82SECTION ADDITIONAL
83a.gtld-servers.net.	IN 	A	192.5.6.30
84ENTRY_END
85
86ENTRY_BEGIN
87MATCH opcode subdomain
88ADJUST copy_id copy_query
89REPLY QR NOERROR
90SECTION QUESTION
91example.com. IN A
92SECTION AUTHORITY
93example.com.	IN NS	ns.example.com.
94SECTION ADDITIONAL
95ns.example.com.		IN 	A	8.8.8.8
96ENTRY_END
97RANGE_END
98
99; ns.example.com. first owner
100RANGE_BEGIN 0 200
101	ADDRESS 1.2.3.4
102ENTRY_BEGIN
103MATCH opcode qtype qname
104ADJUST copy_id
105REPLY QR NOERROR
106SECTION QUESTION
107example.com. IN NS
108SECTION ANSWER
109example.com.	IN NS	ns.example.com.
110SECTION ADDITIONAL
111ns.example.com.		IN 	A	1.2.3.4
112ENTRY_END
113
114ENTRY_BEGIN
115MATCH opcode qtype qname
116ADJUST copy_id
117REPLY QR NOERROR
118SECTION QUESTION
119www.example.com. IN A
120SECTION ANSWER
121www.example.com. 3600 IN A	10.20.30.40
122SECTION AUTHORITY
123example.com.	3600 IN NS	ns.example.com.
124SECTION ADDITIONAL
125ns.example.com.	3600 	IN 	A	1.2.3.4
126ENTRY_END
127RANGE_END
128
129; ns.example.com. new owner
130RANGE_BEGIN 0 200
131	ADDRESS 8.8.8.8
132ENTRY_BEGIN
133MATCH opcode qtype qname
134ADJUST copy_id
135REPLY QR NOERROR
136SECTION QUESTION
137example.com. IN NS
138SECTION ANSWER
139example.com.	IN NS	ns.example.com.
140SECTION ADDITIONAL
141ns.example.com.		IN 	A	8.8.8.8
142ENTRY_END
143
144ENTRY_BEGIN
145MATCH opcode qtype qname
146ADJUST copy_id
147REPLY QR NOERROR
148SECTION QUESTION
149www.example.com. IN A
150SECTION ANSWER
151www.example.com. 3600 IN A	88.88.88.88
152SECTION AUTHORITY
153example.com.	3600 IN NS	ns.example.com.
154SECTION ADDITIONAL
155ns.example.com.	3600 	IN 	A	8.8.8.8
156ENTRY_END
157RANGE_END
158
159STEP 1 QUERY
160ENTRY_BEGIN
161REPLY RD
162SECTION QUESTION
163www.example.com. IN A
164ENTRY_END
165; recursion happens here.
166STEP 5 CHECK_ANSWER
167ENTRY_BEGIN
168MATCH all ttl
169REPLY QR RD RA NOERROR
170SECTION QUESTION
171www.example.com. IN A
172SECTION ANSWER
173www.example.com. 3600 IN A	10.20.30.40
174SECTION AUTHORITY
175example.com.	3600 IN NS	ns.example.com.
176SECTION ADDITIONAL
177ns.example.com.	3600 	IN 	A	1.2.3.4
178ENTRY_END
179
180STEP 10 QUERY
181ENTRY_BEGIN
182REPLY RD
183SECTION QUESTION
184example.com. IN NS
185ENTRY_END
186; recursion happens here.
187STEP 15 CHECK_ANSWER
188ENTRY_BEGIN
189MATCH all ttl
190REPLY QR RD RA NOERROR
191SECTION QUESTION
192example.com. IN NS
193SECTION ANSWER
194example.com.	3600 IN NS	ns.example.com.
195SECTION AUTHORITY
196SECTION ADDITIONAL
197ns.example.com.	3600 	IN 	A	1.2.3.4
198ENTRY_END
199
200; after 1800 secs still the cached answer
201STEP 20 TIME_PASSES ELAPSE 1800
202
203STEP 30 QUERY
204ENTRY_BEGIN
205REPLY RD
206SECTION QUESTION
207www.example.com. IN A
208ENTRY_END
209; recursion happens here.
210STEP 40 CHECK_ANSWER
211ENTRY_BEGIN
212MATCH all ttl
213REPLY QR RD RA NOERROR
214SECTION QUESTION
215www.example.com. IN A
216SECTION ANSWER
217www.example.com. 1800 IN A	10.20.30.40
218SECTION AUTHORITY
219example.com.	1800 IN NS	ns.example.com.
220SECTION ADDITIONAL
221ns.example.com.	1800 	IN 	A	1.2.3.4
222ENTRY_END
223
224STEP 44 QUERY
225ENTRY_BEGIN
226REPLY RD
227SECTION QUESTION
228example.com. IN NS
229ENTRY_END
230; recursion happens here.
231STEP 45 CHECK_ANSWER
232ENTRY_BEGIN
233MATCH all ttl
234REPLY QR RD RA NOERROR
235SECTION QUESTION
236example.com. IN NS
237SECTION ANSWER
238example.com.	1800 IN NS	ns.example.com.
239SECTION AUTHORITY
240SECTION ADDITIONAL
241ns.example.com.	1800 	IN 	A	1.2.3.4
242ENTRY_END
243
244; after 1440 we are 360 seconds before the expiry
245STEP 50 TIME_PASSES ELAPSE 1440
246
247STEP 60 QUERY
248ENTRY_BEGIN
249REPLY RD
250SECTION QUESTION
251example.com. IN NS
252ENTRY_END
253; recursion happens here.
254STEP 70 CHECK_ANSWER
255ENTRY_BEGIN
256MATCH all ttl
257REPLY QR RD RA NOERROR
258SECTION QUESTION
259example.com. IN NS
260SECTION ANSWER
261example.com.	360 IN NS	ns.example.com.
262SECTION AUTHORITY
263SECTION ADDITIONAL
264ns.example.com.	360 	IN 	A	1.2.3.4
265ENTRY_END
266
267STEP 80 TRAFFIC
268; let traffic flow for prefetch to happen
269
270; check result of that prefetch
271STEP 90 QUERY
272ENTRY_BEGIN
273REPLY RD
274SECTION QUESTION
275example.com. IN NS
276ENTRY_END
277; recursion happens here.
278
279; because the prefetch+current makes old-NS expired, new delegation is picked up
280STEP 91 CHECK_ANSWER
281ENTRY_BEGIN
282MATCH all ttl
283REPLY QR RD RA NOERROR
284SECTION QUESTION
285example.com. IN NS
286SECTION ANSWER
287example.com.	3600 IN NS	ns.example.com.
288SECTION AUTHORITY
289SECTION ADDITIONAL
290ns.example.com.	3600 	IN 	A	8.8.8.8
291ENTRY_END
292
293STEP 100 TIME_PASSES ELAPSE 2360
294
295STEP 120 QUERY
296ENTRY_BEGIN
297REPLY RD
298SECTION QUESTION
299www.example.com. IN A
300ENTRY_END
301; recursion happens here.
302STEP 130 CHECK_ANSWER
303ENTRY_BEGIN
304MATCH all ttl
305REPLY QR RD RA NOERROR
306SECTION QUESTION
307www.example.com. IN A
308SECTION ANSWER
309www.example.com. 3600 IN A	88.88.88.88
310SECTION AUTHORITY
311example.com.	1240 IN NS	ns.example.com.
312SECTION ADDITIONAL
313ns.example.com.	1240 	IN 	A	8.8.8.8
314ENTRY_END
315
316SCENARIO_END
317