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