Fix DANE for multiple-MX when all TLSA lookup defer. Bug 1634
[exim.git] / test / dnszones-src / db.test.ex
CommitLineData
c55a77db 1; This is a testing zone file for use when testing DNS handling in Exim. This
d2a2c69b 2; is a fake zone of no real use. The zone name is
c55a77db
PH
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.
d2a2c69b 20test.ex. SOA exim.test.ex. hostmaster.exim.test.ex 1430683638 1200 120 604800 3600
c55a77db
PH
21
22test.ex. TXT "A TXT record for test.ex."
230205fc 23s/lash TXT "A TXT record for s/lash.test.ex."
c55a77db
PH
24
25cname CNAME test.ex.
26
27ptr PTR data.for.ptr.test.ex.
28
29; Standard localhost handling
30
31localhost A 127.0.0.1
32localhost AAAA ::1
33
34; This name exists only if qualified; it is never automatically qualified
35
36dontqualify A V4NET.255.255.254
37
38; A host with upper case letters in its canonical name
39
40UpperCase A 127.0.0.1
41
766e7a65 42; A host with punycoded UTF-8 characters used for its lookup ( mx.π.test.ex )
c55a77db 43
766e7a65 44mx.xn--1xa A V4NET.255.255.255
c55a77db
PH
45
46; A non-standard name for localhost
47
48thishost A 127.0.0.1
ac9a0d91
JH
49localhost4 A 127.0.0.1
50
c55a77db 51
1cce3af8
PH
52; Something that gives both the IP and the loopback
53
54thisloop A HOSTIPV4
55 A 127.0.0.1
56
57; Something that gives an unreachable IP and the loopback
58
59badloop A V4NET.0.0.1
60 A 127.0.0.1
61
c55a77db
PH
62; Another host with both A and AAAA records
63
6446 A V4NET.0.0.4
65 AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c031
66
67; And another
68
6946b A V4NET.0.0.5
70 AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c033
71
72; A working IPv4 address and a non-working IPv6 address, with different
73; names so they can have different MX values
74
7546c AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c033
7646d A HOSTIPV4
77
78; A host with just a non-local IPv6 address
79
80v6 AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c032
81
82; Alias A and CNAME records for the local host, under the name "eximtesthost"
b4161d10 83; Make the A covered by DNSSEC and add a TLSA for it.
c55a77db 84
101de477 85eximtesthost A HOSTIPV4
c55a77db
PH
86alias-eximtesthost CNAME eximtesthost.test.ex.
87
88; A bad CNAME
89
90badcname CNAME rhubarb.test.ex.
91
92; Test a name containing an underscore
93
94a_b A 99.99.99.99
95
96; The reverse registration for this name is an empty string
97
98empty A V4NET.255.255.255
99
100; Some IPv6 stuff
101
102eximtesthost.ipv6 AAAA HOSTIPV6
103test2.ipv6 AAAA V6NET:2101:12:1:a00:20ff:fe86:a062
104test3.ipv6 AAAA V6NET:1234:5:6:7:8:abc:0d
105
106; A case of forward and backward pointers disagreeing
107
108badA A V4NET.99.99.99
109badB A V4NET.99.99.98
110
111; A host with multiple names in different (sub) domains
112; These are intended to be within test.ex - absence of final dots is deliberate
113
114x.gov.uk A V4NET.99.99.97
115x.co.uk A V4NET.99.99.97
116
117; A host, the reverse lookup of whose IP address gives this name plus another
118; that does not forward resolve to the same address
119
120oneback A V4NET.99.99.90
121host1.masq A V4NET.90.90.90
122
123; Fake hosts are registered in the V4NET.0.0.0 subnet. In the past, the
124; 10.0.0.0/8 network was used; hence the names of the hosts.
125
126ten-1 A V4NET.0.0.1
127ten-2 A V4NET.0.0.2
128ten-3 A V4NET.0.0.3
129ten-3-alias A V4NET.0.0.3
130ten-3xtra A V4NET.0.0.3
131ten-4 A V4NET.0.0.4
132ten-5 A V4NET.0.0.5
133ten-6 A V4NET.0.0.6
134ten-5-6 A V4NET.0.0.5
135 A V4NET.0.0.6
136
137ten-99 A V4NET.0.0.99
138
139black-1 A V4NET.11.12.13
140black-2 A V4NET.11.12.14
141
142myhost A V4NET.10.10.10
143myhost2 A V4NET.10.10.10
144
145other1 A V4NET.12.4.5
146other2 A V4NET.12.3.1
147 A V4NET.12.3.2
148
149other99 A V4NET.99.0.1
150
151testsub.sub A V4NET.99.0.3
152
153; This one's real name really is recurse.test.ex.test.ex. It is done like
154; this for testing host widening, without getting tangled up in qualify issues.
155
156recurse.test.ex A V4NET.99.0.2
157
8241d8dd
JH
158; a CNAME pointing to a name with both ipv4 and ipv6 A-records
159; and one with only ipv4
160
161cname46 CNAME localhost
162cname4 CNAME thishost
163
c55a77db
PH
164; -------- Testing RBL records -------
165
166; V4NET.11.12.13 is deliberately not reverse-registered
167
16813.12.11.V4NET.rbl A 127.0.0.2
169 TXT "This is a test blacklisting message"
17014.12.11.V4NET.rbl A 127.0.0.2
171 TXT "This is a test blacklisting message"
17215.12.11.V4NET.rbl A 127.0.0.2
173 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."
174
17514.12.11.V4NET.rbl2 A 127.0.0.2
176 TXT "This is a test blacklisting2 message"
17716.12.11.V4NET.rbl2 A 127.0.0.2
178 TXT "This is a test blacklisting2 message"
179
18014.12.11.V4NET.rbl3 A 127.0.0.2
181 TXT "This is a test blacklisting3 message"
18215.12.11.V4NET.rbl3 A 127.0.0.3
183 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."
184
18520.12.11.V4NET.rbl4 A 127.0.0.6
18621.12.11.V4NET.rbl4 A 127.0.0.7
d6f6e0dc
PH
18722.12.11.V4NET.rbl4 A 127.0.0.128
188 TXT "This is a test blacklisting4 message"
189
19022.12.11.V4NET.rbl5 A 127.0.0.1
191 TXT "This is a test blacklisting5 message"
c55a77db
PH
192
1931.13.13.V4NET.rbl CNAME non-exist.test.ex.
1942.13.13.V4NET.rbl A 127.0.0.1
195 A 127.0.0.2
196
197; -------- Testing MX records --------
198
199mxcased MX 5 ten-99.TEST.EX.
200
201; Points to a host with both A and AAAA
202
203mx46 MX 46 46.test.ex.
204
205; Points to two hosts with both kinds of address, equal precedence
206
207mx4646 MX 46 46.test.ex.
208 MX 46 46b.test.ex.
209
210; Ditto, with a third IPv6 host
211
212mx46466 MX 46 46.test.ex.
213 MX 46 46b.test.ex.
214 MX 46 v6.test.ex.
215
98cd9003
PH
216; This time, change precedence
217
218mx46466b MX 46 46.test.ex.
219 MX 47 46b.test.ex.
220 MX 48 v6.test.ex.
221
c55a77db
PH
222; Points to a host with a working IPv4 and a non-working IPv6 record
223
224mx46cd MX 10 46c.test.ex.
225 MX 11 46d.test.ex.
226
227; Two equal precedence pointing to a v4 and a v6 host
228
229mx246 MX 10 v6.test.ex.
230 MX 10 ten-1.test.ex.
231
232; Lowest-numbered points to local host
233
234mxt1 MX 5 eximtesthost.test.ex.
235
236; Points only to non-existent hosts
237
238mxt2 MX 5 not-exist.test.ex.
239
240; Points to some non-existent hosts;
241; Lowest numbered existing points to local host
242
243mxt3 MX 5 not-exist.test.ex.
244 MX 6 eximtesthost.test.ex.
245
246; Points to some non-existent hosts;
247; Lowest numbered existing points to non-local host
248
249mxt3r MX 5 not-exist.test.ex.
250 MX 6 exim.org.
251
252; Points to an alias
253
254mxt4 MX 5 alias-eximtesthost.test.ex.
255
256; Various combinations of precedence and local host
257
258mxt5 MX 5 eximtesthost.test.ex.
259 MX 5 ten-1.test.ex.
260
261mxt6 MX 5 ten-1.test.ex.
262 MX 6 eximtesthost.test.ex.
263 MX 6 ten-2.test.ex.
264
265mxt7 MX 5 ten-2.test.ex.
266 MX 6 ten-3.test.ex.
267 MX 7 eximtesthost.test.ex.
268 MX 8 ten-1.test.ex.
269
270mxt8 MX 5 ten-2.test.ex.
271 MX 6 ten-3.test.ex.
272 MX 7 eximtesthost.test.ex.
273 MX 7 ten-4.test.ex.
274 MX 8 ten-1.test.ex.
275
276; Same host appearing twice; make some variants in different orders to
277; simulate a real nameserver and its round robinning
278
279mxt9 MX 5 ten-1.test.ex.
280 MX 6 ten-2.test.ex.
281 MX 7 ten-3.test.ex.
282 MX 8 ten-1.test.ex.
283
284mxt9a MX 6 ten-2.test.ex.
285 MX 7 ten-3.test.ex.
286 MX 8 ten-1.test.ex.
287 MX 5 ten-1.test.ex.
288
289mxt9b MX 7 ten-3.test.ex.
290 MX 8 ten-1.test.ex.
291 MX 5 ten-1.test.ex.
292 MX 6 ten-2.test.ex.
293
294; MX pointing to IP address
295
296mxt10 MX 5 V4NET.0.0.1.
297
298; Several MXs pointing to local host
299
300mxt11 MX 5 localhost.test.ex.
301 MX 6 localhost.test.ex.
302
303mxt11a MX 5 localhost.test.ex.
304 MX 6 ten-1.test.ex.
305
306mxt12 MX 5 local1.test.ex.
307 MX 6 local2.test.ex.
308
309local1 A 127.0.0.2
310local2 A 127.0.0.2
311
312; Some more
313
314mxt13 MX 4 other1.test.ex.
315 MX 5 other2.test.ex.
316
317; Different hosts with same IP addresses in the list
318
319mxt14 MX 4 ten-5-6.test.ex.
320 MX 5 ten-5.test.ex.
321 MX 6 ten-6.test.ex.
322
cd9868ec
PH
323; Non-local hosts with different precedence
324
325mxt15 MX 10 ten-1.test.ex.
326 MX 20 ten-2.test.ex.
327
c55a77db
PH
328; Large number of IP addresses at one MX value, and then some
329; at another, to check that hosts_max_try tries the MX different
330; values if it can.
331
332mxt99 MX 1 ten-1.test.ex.
333 MX 1 ten-2.test.ex.
334 MX 1 ten-3.test.ex.
335 MX 1 ten-4.test.ex.
336 MX 1 ten-5.test.ex.
337 MX 1 ten-6.test.ex.
338 MX 3 black-1.test.ex.
339 MX 3 black-2.test.ex.
340
341; Special case test for @mx_any (to doublecheck a reported Exim 3 bug isn't
342; in Exim 4). The MX points to two names, each with multiple addresses. The
343; very last address is the local host. When Exim is testing, it will sort
344; these addresses into ascending order.
345
346mxt98 MX 1 98-1.test.ex.
347 MX 2 98-2.test.ex.
348
34998-1 A V4NET.1.2.3
350 A V4NET.4.5.6
351
35298-2 A V4NET.7.8.9
353 A HOSTIPV4
354
355; IP addresses with the same MX value
356
357mxt97 MX 1 ten-1.test.ex.
358 MX 1 ten-2.test.ex.
359 MX 1 ten-3.test.ex.
360 MX 1 ten-4.test.ex.
361
362; MX pointing to a single-component name that exists if qualified, but not
363; if not. We use the special name dontqualify to stop the fake resolver
364; qualifying it.
365
366mxt1c MX 1 dontqualify.
367
766e7a65 368; MX with punycoded UTF-8 characters used for its lookup ( π.test.ex )
c55a77db 369
766e7a65
JH
370xn--1xa MX 0 mx.π.test.ex.
371
372; MX with actual UTF-8 characters in its name, for allow_utf8_domains mode test
373
374π MX 0 mx.xn--1xa.test.ex.
c55a77db
PH
375
376; -------- Testing SRV records --------
377
378_smtp._tcp.srv01 SRV 0 0 25 ten-1.test.ex.
379
380_smtp._tcp.srv02 SRV 1 3 99 ten-1.test.ex.
381 SRV 1 1 99 ten-2.test.ex.
382 SRV 3 0 66 ten-3.test.ex.
383
384_smtp._tcp.nosmtp SRV 0 0 0 .
385
386_smtp2._tcp.srv03 SRV 0 0 88 ten-4.test.ex.
387
388_smtp._tcp.srv27 SRV 0 0 PORT_S localhost
389
390
391; -------- With some for CSA testing plus their A records -------
392
393_client._smtp.csa1 SRV 1 2 0 csa1.test.ex.
394_client._smtp.csa2 SRV 1 1 0 csa2.test.ex.
395
396csa1 A V4NET.9.8.7
397csa2 A V4NET.9.8.8
398
abe1353e
HSHR
399; ------- Testing DNSSEC ----------
400
401mx-unsec-a-unsec MX 5 a-unsec
402mx-unsec-a-sec MX 5 a-sec
403DNSSEC mx-sec-a-unsec MX 5 a-unsec
404DNSSEC mx-sec-a-sec MX 5 a-sec
da830d08
HSHR
405DNSSEC mx-sec-a-aa MX 5 a-aa
406AA mx-aa-a-sec MX 5 a-sec
abe1353e
HSHR
407
408a-unsec A V4NET.0.0.100
409DNSSEC a-sec A V4NET.0.0.100
1705dd20
JH
410DNSSEC l-sec A 127.0.0.1
411
da830d08
HSHR
412AA a-aa A V4NET.0.0.100
413
101de477
JH
414; ------- Testing DANE ------------
415
416; full suite dns chain, sha512
4cea764f
JH
417DNSSEC mxdane512ee MX 1 dane512ee
418DNSSEC dane512ee A HOSTIPV4
101de477
JH
419DNSSEC _1225._tcp.dane512ee TLSA 3 1 2 3d5eb81b1dfc3f93c1fa8819e3fb3fdb41bb590441d5f3811db17772f4bc6de29bdd7c4f4b723750dda871b99379192b3f979f03db1252c4f08b03ef7176528d
420
421; A-only, sha256
4cea764f 422DNSSEC dane256ee A HOSTIPV4
101de477
JH
423DNSSEC _1225._tcp.dane256ee TLSA 3 1 1 2bb55f418bb03411a5007cecbfcd3ec1c94404312c0d53a44bb2166b32654db3
424
82525c6f 425; full MX, sha256, TA-mode
4cea764f
JH
426DNSSEC mxdane256ta MX 1 dane256ta
427DNSSEC dane256ta A HOSTIPV4
82525c6f
JH
428DNSSEC _1225._tcp.dane256ta TLSA 2 0 1 b2c6f27f2d16390b4f71cacc69742bf610d750534fab240516c0f2deb4042ad4
429
4cea764f
JH
430; ------- Testing DANE ------------
431
432; full suite dns chain, sha512
433DNSSEC mxdanelazy MX 1 danelazy
434DNSSEC mxdanelazy MX 2 danelazy2
435
436DNSSEC danelazy A HOSTIPV4
437DNSSEC danelazy2 A 127.0.0.1
438
439DNSSEC _1225._tcp.danelazy CNAME test.again.dns.
440DNSSEC _1225._tcp.danelazy2 CNAME test.again.dns.
441
846430d9
JH
442; ------- Testing delays ------------
443
444DELAY=500 delay500 A HOSTIPV4
445DELAY=1500 delay1500 A HOSTIPV4
446
447
c55a77db 448; End