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