Add support in the fakens utility for TLSA records
[exim.git] / test / dnszones-src / db.test.ex
CommitLineData
c55a77db
PH
1; This is a testing zone file for use when testing DNS handling in Exim. This
2; is a fake zone of no real use - hence no SOA record. The zone name is
3; test.ex. This file is passed through the substitution mechanism before being
4; used by the fakens auxiliary program. This inserts the actual IP addresses
5; of the local host into the zone.
6
7; NOTE (1): apart from ::1, IPv6 addresses must always have 8 components. Do
8; not abbreviate them by using the :: feature. Leading zeros in components may,
9; however, be omitted.
10
11; NOTE (2): the fakens program is very simple and assumes that the buffer into
12; which is puts the response is always going to be big enough. In other words,
13; the expectation is for just a few RRs for each query.
14
15; NOTE (3): the top-level networks for testing addresses are parameterized by
16; the use of V4NET and V6NET. These networks should be such that no real
17; host ever uses them.
18
19test.ex. NS exim.test.ex.
20
21test.ex. TXT "A TXT record for test.ex."
230205fc 22s/lash TXT "A TXT record for s/lash.test.ex."
c55a77db
PH
23
24cname CNAME test.ex.
25
26ptr PTR data.for.ptr.test.ex.
27
28; Standard localhost handling
29
30localhost A 127.0.0.1
31localhost AAAA ::1
32
33; This name exists only if qualified; it is never automatically qualified
34
35dontqualify A V4NET.255.255.254
36
37; A host with upper case letters in its canonical name
38
39UpperCase A 127.0.0.1
40
41; A host with UTF-8 characters in its name
42
43mx.π A V4NET.255.255.255
44
45; A non-standard name for localhost
46
47thishost A 127.0.0.1
48
1cce3af8
PH
49; Something that gives both the IP and the loopback
50
51thisloop A HOSTIPV4
52 A 127.0.0.1
53
54; Something that gives an unreachable IP and the loopback
55
56badloop A V4NET.0.0.1
57 A 127.0.0.1
58
c55a77db
PH
59; Another host with both A and AAAA records
60
6146 A V4NET.0.0.4
62 AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c031
63
64; And another
65
6646b A V4NET.0.0.5
67 AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c033
68
69; A working IPv4 address and a non-working IPv6 address, with different
70; names so they can have different MX values
71
7246c AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c033
7346d A HOSTIPV4
74
75; A host with just a non-local IPv6 address
76
77v6 AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c032
78
79; Alias A and CNAME records for the local host, under the name "eximtesthost"
b4161d10 80; Make the A covered by DNSSEC and add a TLSA for it.
c55a77db 81
4d4c2a9b 82DNSSEC eximtesthost A HOSTIPV4
c55a77db
PH
83alias-eximtesthost CNAME eximtesthost.test.ex.
84
b4161d10
JH
85DNSSEC _1225._tcp.eximtesthost TLSA 3 1 2 f000baaa
86
c55a77db
PH
87; A bad CNAME
88
89badcname CNAME rhubarb.test.ex.
90
91; Test a name containing an underscore
92
93a_b A 99.99.99.99
94
95; The reverse registration for this name is an empty string
96
97empty A V4NET.255.255.255
98
99; Some IPv6 stuff
100
101eximtesthost.ipv6 AAAA HOSTIPV6
102test2.ipv6 AAAA V6NET:2101:12:1:a00:20ff:fe86:a062
103test3.ipv6 AAAA V6NET:1234:5:6:7:8:abc:0d
104
105; A case of forward and backward pointers disagreeing
106
107badA A V4NET.99.99.99
108badB A V4NET.99.99.98
109
110; A host with multiple names in different (sub) domains
111; These are intended to be within test.ex - absence of final dots is deliberate
112
113x.gov.uk A V4NET.99.99.97
114x.co.uk A V4NET.99.99.97
115
116; A host, the reverse lookup of whose IP address gives this name plus another
117; that does not forward resolve to the same address
118
119oneback A V4NET.99.99.90
120host1.masq A V4NET.90.90.90
121
122; Fake hosts are registered in the V4NET.0.0.0 subnet. In the past, the
123; 10.0.0.0/8 network was used; hence the names of the hosts.
124
125ten-1 A V4NET.0.0.1
126ten-2 A V4NET.0.0.2
127ten-3 A V4NET.0.0.3
128ten-3-alias A V4NET.0.0.3
129ten-3xtra A V4NET.0.0.3
130ten-4 A V4NET.0.0.4
131ten-5 A V4NET.0.0.5
132ten-6 A V4NET.0.0.6
133ten-5-6 A V4NET.0.0.5
134 A V4NET.0.0.6
135
136ten-99 A V4NET.0.0.99
137
138black-1 A V4NET.11.12.13
139black-2 A V4NET.11.12.14
140
141myhost A V4NET.10.10.10
142myhost2 A V4NET.10.10.10
143
144other1 A V4NET.12.4.5
145other2 A V4NET.12.3.1
146 A V4NET.12.3.2
147
148other99 A V4NET.99.0.1
149
150testsub.sub A V4NET.99.0.3
151
152; This one's real name really is recurse.test.ex.test.ex. It is done like
153; this for testing host widening, without getting tangled up in qualify issues.
154
155recurse.test.ex A V4NET.99.0.2
156
157; -------- Testing RBL records -------
158
159; V4NET.11.12.13 is deliberately not reverse-registered
160
16113.12.11.V4NET.rbl A 127.0.0.2
162 TXT "This is a test blacklisting message"
16314.12.11.V4NET.rbl A 127.0.0.2
164 TXT "This is a test blacklisting message"
16515.12.11.V4NET.rbl A 127.0.0.2
166 TXT "This is a very long blacklisting message, continuing for ages and ages and certainly being longer than 128 characters which was a previous limit on the length that Exim was prepared to handle."
167
16814.12.11.V4NET.rbl2 A 127.0.0.2
169 TXT "This is a test blacklisting2 message"
17016.12.11.V4NET.rbl2 A 127.0.0.2
171 TXT "This is a test blacklisting2 message"
172
17314.12.11.V4NET.rbl3 A 127.0.0.2
174 TXT "This is a test blacklisting3 message"
17515.12.11.V4NET.rbl3 A 127.0.0.3
176 TXT "This is a very long blacklisting message, continuing for ages and ages and certainly being longer than 128 characters which was a previous limit on the length that Exim was prepared to handle."
177
17820.12.11.V4NET.rbl4 A 127.0.0.6
17921.12.11.V4NET.rbl4 A 127.0.0.7
d6f6e0dc
PH
18022.12.11.V4NET.rbl4 A 127.0.0.128
181 TXT "This is a test blacklisting4 message"
182
18322.12.11.V4NET.rbl5 A 127.0.0.1
184 TXT "This is a test blacklisting5 message"
c55a77db
PH
185
1861.13.13.V4NET.rbl CNAME non-exist.test.ex.
1872.13.13.V4NET.rbl A 127.0.0.1
188 A 127.0.0.2
189
190; -------- Testing MX records --------
191
4d4c2a9b
JH
192DNSSEC mxplain MX 1 eximtesthost.
193
c55a77db
PH
194mxcased MX 5 ten-99.TEST.EX.
195
196; Points to a host with both A and AAAA
197
198mx46 MX 46 46.test.ex.
199
200; Points to two hosts with both kinds of address, equal precedence
201
202mx4646 MX 46 46.test.ex.
203 MX 46 46b.test.ex.
204
205; Ditto, with a third IPv6 host
206
207mx46466 MX 46 46.test.ex.
208 MX 46 46b.test.ex.
209 MX 46 v6.test.ex.
210
98cd9003
PH
211; This time, change precedence
212
213mx46466b MX 46 46.test.ex.
214 MX 47 46b.test.ex.
215 MX 48 v6.test.ex.
216
c55a77db
PH
217; Points to a host with a working IPv4 and a non-working IPv6 record
218
219mx46cd MX 10 46c.test.ex.
220 MX 11 46d.test.ex.
221
222; Two equal precedence pointing to a v4 and a v6 host
223
224mx246 MX 10 v6.test.ex.
225 MX 10 ten-1.test.ex.
226
227; Lowest-numbered points to local host
228
229mxt1 MX 5 eximtesthost.test.ex.
230
231; Points only to non-existent hosts
232
233mxt2 MX 5 not-exist.test.ex.
234
235; Points to some non-existent hosts;
236; Lowest numbered existing points to local host
237
238mxt3 MX 5 not-exist.test.ex.
239 MX 6 eximtesthost.test.ex.
240
241; Points to some non-existent hosts;
242; Lowest numbered existing points to non-local host
243
244mxt3r MX 5 not-exist.test.ex.
245 MX 6 exim.org.
246
247; Points to an alias
248
249mxt4 MX 5 alias-eximtesthost.test.ex.
250
251; Various combinations of precedence and local host
252
253mxt5 MX 5 eximtesthost.test.ex.
254 MX 5 ten-1.test.ex.
255
256mxt6 MX 5 ten-1.test.ex.
257 MX 6 eximtesthost.test.ex.
258 MX 6 ten-2.test.ex.
259
260mxt7 MX 5 ten-2.test.ex.
261 MX 6 ten-3.test.ex.
262 MX 7 eximtesthost.test.ex.
263 MX 8 ten-1.test.ex.
264
265mxt8 MX 5 ten-2.test.ex.
266 MX 6 ten-3.test.ex.
267 MX 7 eximtesthost.test.ex.
268 MX 7 ten-4.test.ex.
269 MX 8 ten-1.test.ex.
270
271; Same host appearing twice; make some variants in different orders to
272; simulate a real nameserver and its round robinning
273
274mxt9 MX 5 ten-1.test.ex.
275 MX 6 ten-2.test.ex.
276 MX 7 ten-3.test.ex.
277 MX 8 ten-1.test.ex.
278
279mxt9a MX 6 ten-2.test.ex.
280 MX 7 ten-3.test.ex.
281 MX 8 ten-1.test.ex.
282 MX 5 ten-1.test.ex.
283
284mxt9b MX 7 ten-3.test.ex.
285 MX 8 ten-1.test.ex.
286 MX 5 ten-1.test.ex.
287 MX 6 ten-2.test.ex.
288
289; MX pointing to IP address
290
291mxt10 MX 5 V4NET.0.0.1.
292
293; Several MXs pointing to local host
294
295mxt11 MX 5 localhost.test.ex.
296 MX 6 localhost.test.ex.
297
298mxt11a MX 5 localhost.test.ex.
299 MX 6 ten-1.test.ex.
300
301mxt12 MX 5 local1.test.ex.
302 MX 6 local2.test.ex.
303
304local1 A 127.0.0.2
305local2 A 127.0.0.2
306
307; Some more
308
309mxt13 MX 4 other1.test.ex.
310 MX 5 other2.test.ex.
311
312; Different hosts with same IP addresses in the list
313
314mxt14 MX 4 ten-5-6.test.ex.
315 MX 5 ten-5.test.ex.
316 MX 6 ten-6.test.ex.
317
cd9868ec
PH
318; Non-local hosts with different precedence
319
320mxt15 MX 10 ten-1.test.ex.
321 MX 20 ten-2.test.ex.
322
c55a77db
PH
323; Large number of IP addresses at one MX value, and then some
324; at another, to check that hosts_max_try tries the MX different
325; values if it can.
326
327mxt99 MX 1 ten-1.test.ex.
328 MX 1 ten-2.test.ex.
329 MX 1 ten-3.test.ex.
330 MX 1 ten-4.test.ex.
331 MX 1 ten-5.test.ex.
332 MX 1 ten-6.test.ex.
333 MX 3 black-1.test.ex.
334 MX 3 black-2.test.ex.
335
336; Special case test for @mx_any (to doublecheck a reported Exim 3 bug isn't
337; in Exim 4). The MX points to two names, each with multiple addresses. The
338; very last address is the local host. When Exim is testing, it will sort
339; these addresses into ascending order.
340
341mxt98 MX 1 98-1.test.ex.
342 MX 2 98-2.test.ex.
343
34498-1 A V4NET.1.2.3
345 A V4NET.4.5.6
346
34798-2 A V4NET.7.8.9
348 A HOSTIPV4
349
350; IP addresses with the same MX value
351
352mxt97 MX 1 ten-1.test.ex.
353 MX 1 ten-2.test.ex.
354 MX 1 ten-3.test.ex.
355 MX 1 ten-4.test.ex.
356
357; MX pointing to a single-component name that exists if qualified, but not
358; if not. We use the special name dontqualify to stop the fake resolver
359; qualifying it.
360
361mxt1c MX 1 dontqualify.
362
363; MX with UTF-8 characters in its name
364
365π MX 0 mx.π.test.ex.
366
367; -------- Testing SRV records --------
368
369_smtp._tcp.srv01 SRV 0 0 25 ten-1.test.ex.
370
371_smtp._tcp.srv02 SRV 1 3 99 ten-1.test.ex.
372 SRV 1 1 99 ten-2.test.ex.
373 SRV 3 0 66 ten-3.test.ex.
374
375_smtp._tcp.nosmtp SRV 0 0 0 .
376
377_smtp2._tcp.srv03 SRV 0 0 88 ten-4.test.ex.
378
379_smtp._tcp.srv27 SRV 0 0 PORT_S localhost
380
381
382; -------- With some for CSA testing plus their A records -------
383
384_client._smtp.csa1 SRV 1 2 0 csa1.test.ex.
385_client._smtp.csa2 SRV 1 1 0 csa2.test.ex.
386
387csa1 A V4NET.9.8.7
388csa2 A V4NET.9.8.8
389
390; End