xref: /netbsd-src/external/bsd/unbound/dist/testdata/dns64_lookup.rpl (revision 91f7d55fb697b5e0475da4718fa34c3a3ebeac85)
1; config options
2server:
3	target-fetch-policy: "0 0 0 0 0"
4	qname-minimisation: "no"
5	module-config: "dns64 validator iterator"
6	dns64-prefix: 64:ff9b::0/96
7	dns64-ignore-aaaa: ip6ignore.example.com
8	dns64-ignore-aaaa: ip6only.example.com
9	minimal-responses: no
10
11stub-zone:
12	name: "."
13	stub-addr: 193.0.14.129 	# K.ROOT-SERVERS.NET.
14CONFIG_END
15
16SCENARIO_BEGIN Test dns64 lookup and synthesis.
17; normal A lookup should still succeed
18; AAAA is synthesized if not present.
19; AAAA if present, is passed through unchanged.
20; AAAA if present (but configured to be ignored) but no A, AAAA is passed through unchanged.
21
22; K.ROOT-SERVERS.NET.
23RANGE_BEGIN 0 200
24	ADDRESS 193.0.14.129
25ENTRY_BEGIN
26MATCH opcode qtype qname
27ADJUST copy_id
28REPLY QR NOERROR
29SECTION QUESTION
30. IN NS
31SECTION ANSWER
32. IN NS	K.ROOT-SERVERS.NET.
33SECTION ADDITIONAL
34K.ROOT-SERVERS.NET.	IN	A	193.0.14.129
35ENTRY_END
36
37ENTRY_BEGIN
38MATCH opcode qtype qname
39ADJUST copy_id
40REPLY QR NOERROR
41SECTION QUESTION
42www.example.com. IN A
43SECTION AUTHORITY
44com.	IN NS	a.gtld-servers.net.
45SECTION ADDITIONAL
46a.gtld-servers.net.	IN 	A	192.5.6.30
47ENTRY_END
48
49ENTRY_BEGIN
50MATCH opcode subdomain
51ADJUST copy_id copy_query
52REPLY QR NOERROR
53SECTION QUESTION
547.6.5.in-addr.arpa. IN A
55SECTION AUTHORITY
567.6.5.in-addr.arpa. IN NS ns.example.com.
57SECTION ADDITIONAL
58ns.example.com.		IN	A	1.2.3.4
59ENTRY_END
60
61RANGE_END
62
63; a.gtld-servers.net.
64RANGE_BEGIN 0 200
65	ADDRESS 192.5.6.30
66ENTRY_BEGIN
67MATCH opcode qtype qname
68ADJUST copy_id
69REPLY QR NOERROR
70SECTION QUESTION
71com. IN NS
72SECTION ANSWER
73com.	IN NS	a.gtld-servers.net.
74SECTION ADDITIONAL
75a.gtld-servers.net.	IN 	A	192.5.6.30
76ENTRY_END
77
78ENTRY_BEGIN
79MATCH opcode qtype qname
80ADJUST copy_id
81REPLY QR NOERROR
82SECTION QUESTION
83www.example.com. IN A
84SECTION AUTHORITY
85example.com.	IN NS	ns.example.com.
86SECTION ADDITIONAL
87ns.example.com.		IN 	A	1.2.3.4
88ENTRY_END
89RANGE_END
90
91; ns.example.com.
92RANGE_BEGIN 0 200
93	ADDRESS 1.2.3.4
94ENTRY_BEGIN
95MATCH opcode qtype qname
96ADJUST copy_id
97REPLY QR NOERROR
98SECTION QUESTION
99example.com. IN NS
100SECTION ANSWER
101example.com.	IN NS	ns.example.com.
102SECTION ADDITIONAL
103ns.example.com.		IN 	A	1.2.3.4
104ENTRY_END
105
106ENTRY_BEGIN
107MATCH opcode qtype qname
108ADJUST copy_id
109REPLY QR NOERROR
110SECTION QUESTION
111www.example.com. IN A
112SECTION ANSWER
113www.example.com. IN A	10.20.30.40
114SECTION AUTHORITY
115example.com.	IN NS	ns.example.com.
116SECTION ADDITIONAL
117ns.example.com.		IN 	A	1.2.3.4
118ENTRY_END
119
120ENTRY_BEGIN
121MATCH opcode qtype qname
122ADJUST copy_id
123REPLY QR NOERROR
124SECTION QUESTION
125ip4.example.com. IN AAAA
126SECTION ANSWER
127; NO AAAA present
128SECTION AUTHORITY
129example.com.	IN SOA	a. b. 1 2 3 4 5
130ENTRY_END
131
132ENTRY_BEGIN
133MATCH opcode qtype qname
134ADJUST copy_id
135REPLY QR NOERROR
136SECTION QUESTION
137ip4.example.com. IN A
138SECTION ANSWER
139ip4.example.com. IN A	5.6.7.8
140SECTION AUTHORITY
141example.com.	IN NS	ns.example.com.
142SECTION ADDITIONAL
143ns.example.com.		IN 	A	1.2.3.4
144ENTRY_END
145
146ENTRY_BEGIN
147MATCH opcode qtype qname
148ADJUST copy_id
149REPLY QR NOERROR
150SECTION QUESTION
151ip6.example.com. IN AAAA
152SECTION ANSWER
153ip6.example.com. IN AAAA 1:2:3::4
154SECTION AUTHORITY
155example.com.	IN NS	ns.example.com.
156SECTION ADDITIONAL
157ns.example.com.		IN 	A	1.2.3.4
158ENTRY_END
159
160ENTRY_BEGIN
161MATCH opcode qtype qname
162ADJUST copy_id
163REPLY QR NOERROR
164SECTION QUESTION
165ip6ignore.example.com. IN AAAA
166SECTION ANSWER
167ip6ignore.example.com. IN AAAA 1:2:3::4
168SECTION AUTHORITY
169example.com.	IN NS	ns.example.com.
170SECTION ADDITIONAL
171ns.example.com.		IN 	A	1.2.3.4
172ENTRY_END
173
174ENTRY_BEGIN
175MATCH opcode qtype qname
176ADJUST copy_id
177REPLY QR NOERROR
178SECTION QUESTION
179ip6ignore.example.com. IN A
180SECTION ANSWER
181ip6ignore.example.com. IN A	5.6.7.8
182SECTION AUTHORITY
183example.com.	IN NS	ns.example.com.
184SECTION ADDITIONAL
185ns.example.com.		IN 	A	1.2.3.4
186ENTRY_END
187
188ENTRY_BEGIN
189MATCH opcode qtype qname
190ADJUST copy_id
191REPLY QR NOERROR
192SECTION QUESTION
193ip6only.example.com. IN AAAA
194SECTION ANSWER
195ip6only.example.com. IN AAAA 1:2:3::4
196SECTION AUTHORITY
197example.com.	IN NS	ns.example.com.
198SECTION ADDITIONAL
199ns.example.com.		IN 	A	1.2.3.4
200ENTRY_END
201
202ENTRY_BEGIN
203MATCH opcode qtype qname
204ADJUST copy_id
205REPLY QR NOERROR
206SECTION QUESTION
207ip6only.example.com. IN A
208SECTION ANSWER
209; NO A present
210SECTION AUTHORITY
211example.com.	IN SOA	a. b. 1 2 3 4 5
212ENTRY_END
213
214
215ENTRY_BEGIN
216MATCH opcode qtype qname
217ADJUST copy_id
218REPLY QR NOERROR
219SECTION QUESTION
2208.7.6.5.in-addr.arpa. IN PTR
221SECTION ANSWER
2228.7.6.5.in-addr.arpa. PTR ip4.example.com.
223SECTION AUTHORITY
2247.6.5.in-addr.arpa. IN NS ns.example.com.
225ENTRY_END
226
227RANGE_END
228
229STEP 1 QUERY
230ENTRY_BEGIN
231REPLY RD
232SECTION QUESTION
233www.example.com. IN A
234ENTRY_END
235
236; recursion happens here.
237STEP 10 CHECK_ANSWER
238ENTRY_BEGIN
239MATCH all
240REPLY QR RD RA NOERROR
241SECTION QUESTION
242www.example.com. IN A
243SECTION ANSWER
244www.example.com. IN A	10.20.30.40
245SECTION AUTHORITY
246example.com.	IN NS	ns.example.com.
247SECTION ADDITIONAL
248ns.example.com.		IN 	A	1.2.3.4
249ENTRY_END
250
251; synthesize from A record 5.6.7.8
252STEP 20 QUERY
253ENTRY_BEGIN
254REPLY RD
255SECTION QUESTION
256ip4.example.com. IN AAAA
257ENTRY_END
258
259; recursion happens here.
260STEP 30 CHECK_ANSWER
261ENTRY_BEGIN
262MATCH all
263REPLY QR RD RA NOERROR
264SECTION QUESTION
265ip4.example.com. IN AAAA
266SECTION ANSWER
267ip4.example.com.        IN      AAAA    64:ff9b::506:708
268SECTION AUTHORITY
269example.com.	IN NS	ns.example.com.
270SECTION ADDITIONAL
271ns.example.com.		IN 	A	1.2.3.4
272ENTRY_END
273
274; this node has its own ipv6 address
275STEP 40 QUERY
276ENTRY_BEGIN
277REPLY RD
278SECTION QUESTION
279ip6.example.com. IN AAAA
280ENTRY_END
281
282; recursion happens here.
283STEP 50 CHECK_ANSWER
284ENTRY_BEGIN
285MATCH all
286REPLY QR RD RA NOERROR
287SECTION QUESTION
288ip6.example.com. IN AAAA
289SECTION ANSWER
290ip6.example.com. IN AAAA 1:2:3::4
291SECTION AUTHORITY
292example.com.	IN NS	ns.example.com.
293SECTION ADDITIONAL
294ns.example.com.		IN 	A	1.2.3.4
295ENTRY_END
296
297; test ptr lookup
298STEP 60 QUERY
299ENTRY_BEGIN
300REPLY RD
301SECTION QUESTION
3028.0.7.0.6.0.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.b.9.f.f.4.6.0.0.ip6.arpa. IN PTR
303ENTRY_END
304
305; recursion happens here.
306STEP 70 CHECK_ANSWER
307ENTRY_BEGIN
308MATCH all
309REPLY QR RD RA NOERROR
310SECTION QUESTION
3118.0.7.0.6.0.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.b.9.f.f.4.6.0.0.ip6.arpa. IN PTR
312SECTION ANSWER
3138.0.7.0.6.0.5.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.b.9.f.f.4.6.0.0.ip6.arpa. IN PTR ip4.example.com.
314SECTION AUTHORITY
3157.6.5.in-addr.arpa. IN NS ns.example.com.
316ENTRY_END
317
318; ignore AAAA and synthesize from A record 5.6.7.8
319STEP 80 QUERY
320ENTRY_BEGIN
321REPLY RD
322SECTION QUESTION
323ip6ignore.example.com. IN AAAA
324ENTRY_END
325
326; recursion happens here.
327STEP 90 CHECK_ANSWER
328ENTRY_BEGIN
329MATCH all
330REPLY QR RD RA NOERROR
331SECTION QUESTION
332ip6ignore.example.com. IN AAAA
333SECTION ANSWER
334ip6ignore.example.com.        IN      AAAA    64:ff9b::506:708
335SECTION AUTHORITY
336example.com.	IN NS	ns.example.com.
337SECTION ADDITIONAL
338ns.example.com.		IN 	A	1.2.3.4
339ENTRY_END
340
341; try to ignore AAAA but no A record to synthesize, fallback to AAAA
342STEP 100 QUERY
343ENTRY_BEGIN
344REPLY RD
345SECTION QUESTION
346ip6only.example.com. IN AAAA
347ENTRY_END
348
349; recursion happens here.
350STEP 110 CHECK_ANSWER
351ENTRY_BEGIN
352MATCH all
353REPLY QR RD RA NOERROR
354SECTION QUESTION
355ip6only.example.com. IN AAAA
356SECTION ANSWER
357ip6only.example.com.        IN      AAAA    1:2:3::4
358SECTION AUTHORITY
359example.com.	IN NS	ns.example.com.
360SECTION ADDITIONAL
361ns.example.com.		IN 	A	1.2.3.4
362ENTRY_END
363
364SCENARIO_END
365