Merge branch 'SMTPUTF8_1516'. Bug 1516
[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
7019e10b 41; A host with UTF-8 characters used for its lookup ( π.test.ex )
c55a77db 42
7019e10b 43mx.xn--1xa A V4NET.255.255.255
c55a77db
PH
44
45; A non-standard name for localhost
46
47thishost A 127.0.0.1
ac9a0d91
JH
48localhost4 A 127.0.0.1
49
c55a77db 50
1cce3af8
PH
51; Something that gives both the IP and the loopback
52
53thisloop A HOSTIPV4
54 A 127.0.0.1
55
56; Something that gives an unreachable IP and the loopback
57
58badloop A V4NET.0.0.1
59 A 127.0.0.1
60
c55a77db
PH
61; Another host with both A and AAAA records
62
6346 A V4NET.0.0.4
64 AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c031
65
66; And another
67
6846b A V4NET.0.0.5
69 AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c033
70
71; A working IPv4 address and a non-working IPv6 address, with different
72; names so they can have different MX values
73
7446c AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c033
7546d A HOSTIPV4
76
77; A host with just a non-local IPv6 address
78
79v6 AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c032
80
81; Alias A and CNAME records for the local host, under the name "eximtesthost"
b4161d10 82; Make the A covered by DNSSEC and add a TLSA for it.
c55a77db 83
101de477 84eximtesthost A HOSTIPV4
c55a77db
PH
85alias-eximtesthost CNAME eximtesthost.test.ex.
86
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
192mxcased MX 5 ten-99.TEST.EX.
193
194; Points to a host with both A and AAAA
195
196mx46 MX 46 46.test.ex.
197
198; Points to two hosts with both kinds of address, equal precedence
199
200mx4646 MX 46 46.test.ex.
201 MX 46 46b.test.ex.
202
203; Ditto, with a third IPv6 host
204
205mx46466 MX 46 46.test.ex.
206 MX 46 46b.test.ex.
207 MX 46 v6.test.ex.
208
98cd9003
PH
209; This time, change precedence
210
211mx46466b MX 46 46.test.ex.
212 MX 47 46b.test.ex.
213 MX 48 v6.test.ex.
214
c55a77db
PH
215; Points to a host with a working IPv4 and a non-working IPv6 record
216
217mx46cd MX 10 46c.test.ex.
218 MX 11 46d.test.ex.
219
220; Two equal precedence pointing to a v4 and a v6 host
221
222mx246 MX 10 v6.test.ex.
223 MX 10 ten-1.test.ex.
224
225; Lowest-numbered points to local host
226
227mxt1 MX 5 eximtesthost.test.ex.
228
229; Points only to non-existent hosts
230
231mxt2 MX 5 not-exist.test.ex.
232
233; Points to some non-existent hosts;
234; Lowest numbered existing points to local host
235
236mxt3 MX 5 not-exist.test.ex.
237 MX 6 eximtesthost.test.ex.
238
239; Points to some non-existent hosts;
240; Lowest numbered existing points to non-local host
241
242mxt3r MX 5 not-exist.test.ex.
243 MX 6 exim.org.
244
245; Points to an alias
246
247mxt4 MX 5 alias-eximtesthost.test.ex.
248
249; Various combinations of precedence and local host
250
251mxt5 MX 5 eximtesthost.test.ex.
252 MX 5 ten-1.test.ex.
253
254mxt6 MX 5 ten-1.test.ex.
255 MX 6 eximtesthost.test.ex.
256 MX 6 ten-2.test.ex.
257
258mxt7 MX 5 ten-2.test.ex.
259 MX 6 ten-3.test.ex.
260 MX 7 eximtesthost.test.ex.
261 MX 8 ten-1.test.ex.
262
263mxt8 MX 5 ten-2.test.ex.
264 MX 6 ten-3.test.ex.
265 MX 7 eximtesthost.test.ex.
266 MX 7 ten-4.test.ex.
267 MX 8 ten-1.test.ex.
268
269; Same host appearing twice; make some variants in different orders to
270; simulate a real nameserver and its round robinning
271
272mxt9 MX 5 ten-1.test.ex.
273 MX 6 ten-2.test.ex.
274 MX 7 ten-3.test.ex.
275 MX 8 ten-1.test.ex.
276
277mxt9a MX 6 ten-2.test.ex.
278 MX 7 ten-3.test.ex.
279 MX 8 ten-1.test.ex.
280 MX 5 ten-1.test.ex.
281
282mxt9b MX 7 ten-3.test.ex.
283 MX 8 ten-1.test.ex.
284 MX 5 ten-1.test.ex.
285 MX 6 ten-2.test.ex.
286
287; MX pointing to IP address
288
289mxt10 MX 5 V4NET.0.0.1.
290
291; Several MXs pointing to local host
292
293mxt11 MX 5 localhost.test.ex.
294 MX 6 localhost.test.ex.
295
296mxt11a MX 5 localhost.test.ex.
297 MX 6 ten-1.test.ex.
298
299mxt12 MX 5 local1.test.ex.
300 MX 6 local2.test.ex.
301
302local1 A 127.0.0.2
303local2 A 127.0.0.2
304
305; Some more
306
307mxt13 MX 4 other1.test.ex.
308 MX 5 other2.test.ex.
309
310; Different hosts with same IP addresses in the list
311
312mxt14 MX 4 ten-5-6.test.ex.
313 MX 5 ten-5.test.ex.
314 MX 6 ten-6.test.ex.
315
cd9868ec
PH
316; Non-local hosts with different precedence
317
318mxt15 MX 10 ten-1.test.ex.
319 MX 20 ten-2.test.ex.
320
c55a77db
PH
321; Large number of IP addresses at one MX value, and then some
322; at another, to check that hosts_max_try tries the MX different
323; values if it can.
324
325mxt99 MX 1 ten-1.test.ex.
326 MX 1 ten-2.test.ex.
327 MX 1 ten-3.test.ex.
328 MX 1 ten-4.test.ex.
329 MX 1 ten-5.test.ex.
330 MX 1 ten-6.test.ex.
331 MX 3 black-1.test.ex.
332 MX 3 black-2.test.ex.
333
334; Special case test for @mx_any (to doublecheck a reported Exim 3 bug isn't
335; in Exim 4). The MX points to two names, each with multiple addresses. The
336; very last address is the local host. When Exim is testing, it will sort
337; these addresses into ascending order.
338
339mxt98 MX 1 98-1.test.ex.
340 MX 2 98-2.test.ex.
341
34298-1 A V4NET.1.2.3
343 A V4NET.4.5.6
344
34598-2 A V4NET.7.8.9
346 A HOSTIPV4
347
348; IP addresses with the same MX value
349
350mxt97 MX 1 ten-1.test.ex.
351 MX 1 ten-2.test.ex.
352 MX 1 ten-3.test.ex.
353 MX 1 ten-4.test.ex.
354
355; MX pointing to a single-component name that exists if qualified, but not
356; if not. We use the special name dontqualify to stop the fake resolver
357; qualifying it.
358
359mxt1c MX 1 dontqualify.
360
7019e10b 361; MX with UTF-8 characters used for its lookup ( π.test.ex )
c55a77db 362
7019e10b 363xn--1xa MX 0 mx.xn--1xa.test.ex.
c55a77db
PH
364
365; -------- Testing SRV records --------
366
367_smtp._tcp.srv01 SRV 0 0 25 ten-1.test.ex.
368
369_smtp._tcp.srv02 SRV 1 3 99 ten-1.test.ex.
370 SRV 1 1 99 ten-2.test.ex.
371 SRV 3 0 66 ten-3.test.ex.
372
373_smtp._tcp.nosmtp SRV 0 0 0 .
374
375_smtp2._tcp.srv03 SRV 0 0 88 ten-4.test.ex.
376
377_smtp._tcp.srv27 SRV 0 0 PORT_S localhost
378
379
380; -------- With some for CSA testing plus their A records -------
381
382_client._smtp.csa1 SRV 1 2 0 csa1.test.ex.
383_client._smtp.csa2 SRV 1 1 0 csa2.test.ex.
384
385csa1 A V4NET.9.8.7
386csa2 A V4NET.9.8.8
387
101de477
JH
388; ------- Testing DANE ------------
389
390; full suite dns chain, sha512
391DNSSEC mxdane512ee MX 1 dane512ee.
392DNSSEC dane512ee A HOSTIPV4
393DNSSEC _1225._tcp.dane512ee TLSA 3 1 2 3d5eb81b1dfc3f93c1fa8819e3fb3fdb41bb590441d5f3811db17772f4bc6de29bdd7c4f4b723750dda871b99379192b3f979f03db1252c4f08b03ef7176528d
394
395; A-only, sha256
396DNSSEC dane256ee A HOSTIPV4
397DNSSEC _1225._tcp.dane256ee TLSA 3 1 1 2bb55f418bb03411a5007cecbfcd3ec1c94404312c0d53a44bb2166b32654db3
398
82525c6f
JH
399; full MX, sha256, TA-mode
400DNSSEC mxdane256ta MX 1 dane256ta.
401DNSSEC dane256ta A HOSTIPV4
402DNSSEC _1225._tcp.dane256ta TLSA 2 0 1 b2c6f27f2d16390b4f71cacc69742bf610d750534fab240516c0f2deb4042ad4
403
c55a77db 404; End