]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - testdata/iter_domain_sale.rpl
Import unbound 1.4.20
[FreeBSD/FreeBSD.git] / testdata / iter_domain_sale.rpl
1 ; config options
2 server:
3         target-fetch-policy: "0 0 0 0 0"
4
5 stub-zone:
6         name: "."
7         stub-addr: 193.0.14.129         # K.ROOT-SERVERS.NET.
8 CONFIG_END
9
10 SCENARIO_BEGIN Test resolver with a domain sale
11 ; and the old operator is nasty, keeps running his server with the old data.
12 ; and lots of lookups keep going towards the domain.
13 ; eventually, the NS record has to timeout.
14
15 ; K.ROOT-SERVERS.NET.
16 RANGE_BEGIN 0 100
17         ADDRESS 193.0.14.129 
18 ENTRY_BEGIN
19 MATCH opcode qtype qname
20 ADJUST copy_id
21 REPLY QR NOERROR
22 SECTION QUESTION
23 . IN NS
24 SECTION ANSWER
25 . IN NS K.ROOT-SERVERS.NET.
26 SECTION ADDITIONAL
27 K.ROOT-SERVERS.NET.     IN      A       193.0.14.129
28 ENTRY_END
29
30 ENTRY_BEGIN
31 MATCH opcode subdomain
32 ADJUST copy_id copy_query
33 REPLY QR NOERROR
34 SECTION QUESTION
35 com. IN A
36 SECTION AUTHORITY
37 com.    IN NS   a.gtld-servers.net.
38 SECTION ADDITIONAL
39 a.gtld-servers.net.     IN      A       192.5.6.30
40 ENTRY_END
41 RANGE_END
42
43 ; a.gtld-servers.net. (before sale of domain)
44 RANGE_BEGIN 0 20
45         ADDRESS 192.5.6.30
46 ENTRY_BEGIN
47 MATCH opcode qtype qname
48 ADJUST copy_id
49 REPLY QR NOERROR
50 SECTION QUESTION
51 com. IN NS
52 SECTION ANSWER
53 com.    IN NS   a.gtld-servers.net.
54 SECTION ADDITIONAL
55 a.gtld-servers.net.     IN      A       192.5.6.30
56 ENTRY_END
57
58 ENTRY_BEGIN
59 MATCH opcode subdomain
60 ADJUST copy_id copy_query
61 REPLY QR NOERROR
62 SECTION QUESTION
63 example.com. IN A
64 SECTION AUTHORITY
65 example.com.    IN NS   ns.example.com.
66 SECTION ADDITIONAL
67 ns.example.com.         IN      A       1.2.3.4
68 ENTRY_END
69 RANGE_END
70
71 ; a.gtld-servers.net. (after sale of domain)
72 RANGE_BEGIN 30 200
73         ADDRESS 192.5.6.30
74 ENTRY_BEGIN
75 MATCH opcode qtype qname
76 ADJUST copy_id
77 REPLY QR NOERROR
78 SECTION QUESTION
79 com. IN NS
80 SECTION ANSWER
81 com.    IN NS   a.gtld-servers.net.
82 SECTION ADDITIONAL
83 a.gtld-servers.net.     IN      A       192.5.6.30
84 ENTRY_END
85
86 ENTRY_BEGIN
87 MATCH opcode subdomain
88 ADJUST copy_id copy_query
89 REPLY QR NOERROR
90 SECTION QUESTION
91 example.com. IN A
92 SECTION AUTHORITY
93 example.com.    IN NS   ns.example.com.
94 SECTION ADDITIONAL
95 ns.example.com.         IN      A       8.8.8.8
96 ENTRY_END
97 RANGE_END
98
99 ; ns.example.com. first owner
100 RANGE_BEGIN 0 200
101         ADDRESS 1.2.3.4
102 ENTRY_BEGIN
103 MATCH opcode qtype qname
104 ADJUST copy_id
105 REPLY QR AA NOERROR
106 SECTION QUESTION
107 example.com. IN NS
108 SECTION ANSWER
109 example.com.    IN NS   ns.example.com.
110 SECTION ADDITIONAL
111 ns.example.com.         IN      A       1.2.3.4
112 ENTRY_END
113
114 ENTRY_BEGIN
115 MATCH opcode qname
116 ADJUST copy_id copy_query
117 REPLY QR AA NOERROR
118 SECTION QUESTION
119 www.example.com. IN A
120 SECTION ANSWER
121 www.example.com. 3600 IN A      10.20.30.40
122 SECTION AUTHORITY
123 example.com.    3600 IN NS      ns.example.com.
124 SECTION ADDITIONAL
125 ns.example.com. 3600    IN      A       1.2.3.4
126 ENTRY_END
127
128 ; nxdomains for any name,type
129 ; last in RANGE so that it matches everything left over.
130 ; it includes the NS record.
131 ENTRY_BEGIN
132 MATCH opcode
133 ADJUST copy_id copy_query
134 REPLY QR AA NXDOMAIN
135 SECTION QUESTION
136 www.example.com. IN A
137 SECTION ANSWER
138 SECTION AUTHORITY
139 example.com.    3600 IN SOA     a. b. 1 2 3 4 5
140 example.com.    3600 IN NS      ns.example.com.
141 SECTION ADDITIONAL
142 ns.example.com. 3600    IN      A       1.2.3.4
143 ENTRY_END
144 RANGE_END
145
146 ; ns.example.com. new owner
147 RANGE_BEGIN 0 200
148         ADDRESS 8.8.8.8
149 ENTRY_BEGIN
150 MATCH opcode qtype qname
151 ADJUST copy_id
152 REPLY QR AA NOERROR
153 SECTION QUESTION
154 example.com. IN NS
155 SECTION ANSWER
156 example.com.    IN NS   ns.example.com.
157 SECTION ADDITIONAL
158 ns.example.com.         IN      A       8.8.8.8
159 ENTRY_END
160
161 ENTRY_BEGIN
162 MATCH opcode qtype qname
163 ADJUST copy_id
164 REPLY QR AA NOERROR
165 SECTION QUESTION
166 www.example.com. IN A
167 SECTION ANSWER
168 www.example.com. 3600 IN A      88.88.88.88
169 SECTION AUTHORITY
170 example.com.    3600 IN NS      ns.example.com.
171 SECTION ADDITIONAL
172 ns.example.com. 3600    IN      A       8.8.8.8
173 ENTRY_END
174 RANGE_END
175
176 ; Fetch the old record from the old owner.
177 STEP 1 QUERY
178 ENTRY_BEGIN
179 REPLY RD
180 SECTION QUESTION
181 www.example.com. IN A
182 ENTRY_END
183 ; recursion happens here.
184 STEP 5 CHECK_ANSWER
185 ENTRY_BEGIN
186 MATCH all ttl
187 REPLY QR RD RA NOERROR
188 SECTION QUESTION
189 www.example.com. IN A
190 SECTION ANSWER
191 www.example.com. 3600 IN A      10.20.30.40
192 SECTION AUTHORITY
193 example.com.    3600 IN NS      ns.example.com.
194 SECTION ADDITIONAL
195 ns.example.com. 3600    IN      A       1.2.3.4
196 ENTRY_END
197
198 ; the domain is sold (right at this time).
199 ; but the information stays in the cache.
200
201 ; after 1800 secs still the cached answer
202 STEP 20 TIME_PASSES ELAPSE 1800
203
204 STEP 30 QUERY
205 ENTRY_BEGIN
206 REPLY RD
207 SECTION QUESTION
208 www.example.com. IN A
209 ENTRY_END
210 ; recursion happens here.
211 STEP 40 CHECK_ANSWER
212 ENTRY_BEGIN
213 MATCH all ttl
214 REPLY QR RD RA NOERROR
215 SECTION QUESTION
216 www.example.com. IN A
217 SECTION ANSWER
218 www.example.com. 1800 IN A      10.20.30.40
219 SECTION AUTHORITY
220 example.com.    1800 IN NS      ns.example.com.
221 SECTION ADDITIONAL
222 ns.example.com. 1800    IN      A       1.2.3.4
223 ENTRY_END
224
225 ; and ask another query
226 STEP 50 QUERY 
227 ENTRY_BEGIN
228 REPLY RD
229 SECTION QUESTION
230 nx1.example.com. IN A
231 ENTRY_END
232 ; recursion happens here.
233 STEP 60 CHECK_ANSWER
234 ENTRY_BEGIN
235 MATCH all ttl
236 REPLY QR RD RA NXDOMAIN
237 SECTION QUESTION
238 nx1.example.com. IN A
239 SECTION ANSWER
240 SECTION AUTHORITY
241 example.com.    3600 IN SOA     a. b. 1 2 3 4 5
242 example.com.    1800 IN NS      ns.example.com.
243 SECTION ADDITIONAL
244 ns.example.com. 1800    IN      A       1.2.3.4
245 ENTRY_END
246
247 ; after another 1900 seconds the domain must have timed out.
248 STEP 70 TIME_PASSES ELAPSE 1900
249
250 ; the NS record should have timed out.
251 STEP 80 QUERY
252 ENTRY_BEGIN
253 REPLY RD
254 SECTION QUESTION
255 www.example.com. IN A
256 ENTRY_END
257 ; recursion happens here.
258 STEP 90 CHECK_ANSWER
259 ENTRY_BEGIN
260 MATCH all ttl
261 REPLY QR RD RA NOERROR
262 SECTION QUESTION
263 www.example.com. IN A
264 SECTION ANSWER
265 www.example.com. 3600 IN A      88.88.88.88
266 SECTION AUTHORITY
267 example.com.    3600 IN NS      ns.example.com.
268 SECTION ADDITIONAL
269 ns.example.com. 3600    IN      A       8.8.8.8
270 ENTRY_END
271
272 SCENARIO_END