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