Support SOA lookup in dnsdb lookups. Bug 286
[exim.git] / test / dnszones-src / db.test.ex
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. 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
19 test.ex.     NS      exim.test.ex.
20 test.ex.     SOA     exim.test.ex. hostmaster.exim.test.ex 1430683638 1200 120 604800 3600
21
22 test.ex.     TXT     "A TXT record for test.ex."
23 s/lash       TXT     "A TXT record for s/lash.test.ex."
24
25 cname        CNAME   test.ex.
26
27 ptr          PTR     data.for.ptr.test.ex.
28
29 ; Standard localhost handling
30
31 localhost    A       127.0.0.1
32 localhost    AAAA    ::1
33
34 ; This name exists only if qualified; it is never automatically qualified
35
36 dontqualify  A       V4NET.255.255.254
37
38 ; A host with upper case letters in its canonical name
39
40 UpperCase    A       127.0.0.1
41
42 ; A host with punycoded UTF-8 characters used for its lookup ( mx.π.test.ex )
43
44 mx.xn--1xa         A       V4NET.255.255.255
45
46 ; A non-standard name for localhost
47
48 thishost     A       127.0.0.1
49 localhost4   A       127.0.0.1
50
51
52 ; Something that gives both the IP and the loopback
53
54 thisloop     A       HOSTIPV4
55              A       127.0.0.1
56
57 ; Something that gives an unreachable IP and the loopback
58
59 badloop      A       V4NET.0.0.1
60              A       127.0.0.1
61
62 ; Another host with both A and AAAA records
63
64 46           A       V4NET.0.0.4
65              AAAA    V6NET:ffff:836f:0a00:000a:0800:200a:c031
66
67 ; And another
68
69 46b          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
75 46c          AAAA    V6NET:ffff:836f:0a00:000a:0800:200a:c033
76 46d          A       HOSTIPV4
77
78 ; A host with just a non-local IPv6 address
79
80 v6           AAAA    V6NET:ffff:836f:0a00:000a:0800:200a:c032
81
82 ; Alias A and CNAME records for the local host, under the name "eximtesthost"
83 ; Make the A covered by DNSSEC and add a TLSA for it.
84
85 eximtesthost     A       HOSTIPV4
86 alias-eximtesthost CNAME eximtesthost.test.ex.
87
88 ; A bad CNAME
89
90 badcname     CNAME   rhubarb.test.ex.
91
92 ; Test a name containing an underscore
93
94 a_b          A       99.99.99.99
95
96 ; The reverse registration for this name is an empty string
97
98 empty        A       V4NET.255.255.255
99
100 ; Some IPv6 stuff
101
102 eximtesthost.ipv6 AAAA   HOSTIPV6
103 test2.ipv6   AAAA    V6NET:2101:12:1:a00:20ff:fe86:a062
104 test3.ipv6   AAAA    V6NET:1234:5:6:7:8:abc:0d
105
106 ; A case of forward and backward pointers disagreeing
107
108 badA         A       V4NET.99.99.99
109 badB         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
114 x.gov.uk     A       V4NET.99.99.97
115 x.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
120 oneback      A       V4NET.99.99.90
121 host1.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
126 ten-1        A       V4NET.0.0.1
127 ten-2        A       V4NET.0.0.2
128 ten-3        A       V4NET.0.0.3
129 ten-3-alias  A       V4NET.0.0.3
130 ten-3xtra    A       V4NET.0.0.3
131 ten-4        A       V4NET.0.0.4
132 ten-5        A       V4NET.0.0.5
133 ten-6        A       V4NET.0.0.6
134 ten-5-6      A       V4NET.0.0.5
135              A       V4NET.0.0.6
136
137 ten-99       A       V4NET.0.0.99
138
139 black-1      A       V4NET.11.12.13
140 black-2      A       V4NET.11.12.14
141
142 myhost       A       V4NET.10.10.10
143 myhost2      A       V4NET.10.10.10
144
145 other1       A       V4NET.12.4.5
146 other2       A       V4NET.12.3.1
147              A       V4NET.12.3.2
148
149 other99      A       V4NET.99.0.1
150
151 testsub.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
156 recurse.test.ex   A  V4NET.99.0.2
157
158 ; -------- Testing RBL records -------
159
160 ; V4NET.11.12.13 is deliberately not reverse-registered
161
162 13.12.11.V4NET.rbl    A   127.0.0.2
163                       TXT "This is a test blacklisting message"
164 14.12.11.V4NET.rbl    A   127.0.0.2
165                       TXT "This is a test blacklisting message"
166 15.12.11.V4NET.rbl    A   127.0.0.2
167                       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."
168
169 14.12.11.V4NET.rbl2   A   127.0.0.2
170                       TXT "This is a test blacklisting2 message"
171 16.12.11.V4NET.rbl2   A   127.0.0.2
172                       TXT "This is a test blacklisting2 message"
173
174 14.12.11.V4NET.rbl3   A   127.0.0.2
175                       TXT "This is a test blacklisting3 message"
176 15.12.11.V4NET.rbl3   A   127.0.0.3
177                       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."
178
179 20.12.11.V4NET.rbl4   A   127.0.0.6
180 21.12.11.V4NET.rbl4   A   127.0.0.7
181 22.12.11.V4NET.rbl4   A   127.0.0.128
182                       TXT "This is a test blacklisting4 message"
183
184 22.12.11.V4NET.rbl5   A   127.0.0.1
185                       TXT "This is a test blacklisting5 message"
186
187 1.13.13.V4NET.rbl     CNAME non-exist.test.ex.
188 2.13.13.V4NET.rbl     A   127.0.0.1
189                       A   127.0.0.2
190
191 ; -------- Testing MX records --------
192
193 mxcased      MX  5  ten-99.TEST.EX.
194
195 ; Points to a host with both A and AAAA
196
197 mx46         MX  46 46.test.ex.
198
199 ; Points to two hosts with both kinds of address, equal precedence
200
201 mx4646       MX  46 46.test.ex.
202              MX  46 46b.test.ex.
203
204 ; Ditto, with a third IPv6 host
205
206 mx46466      MX  46 46.test.ex.
207              MX  46 46b.test.ex.
208              MX  46 v6.test.ex.
209
210 ; This time, change precedence
211
212 mx46466b     MX  46 46.test.ex.
213              MX  47 46b.test.ex.
214              MX  48 v6.test.ex.
215
216 ; Points to a host with a working IPv4 and a non-working IPv6 record
217
218 mx46cd       MX  10 46c.test.ex.
219              MX  11 46d.test.ex.
220
221 ; Two equal precedence pointing to a v4 and a v6 host
222
223 mx246        MX  10 v6.test.ex.
224              MX  10 ten-1.test.ex.
225
226 ; Lowest-numbered points to local host
227
228 mxt1         MX  5  eximtesthost.test.ex.
229
230 ; Points only to non-existent hosts
231
232 mxt2         MX  5  not-exist.test.ex.
233
234 ; Points to some non-existent hosts;
235 ; Lowest numbered existing points to local host
236
237 mxt3         MX  5  not-exist.test.ex.
238              MX  6  eximtesthost.test.ex.
239
240 ; Points to some non-existent hosts;
241 ; Lowest numbered existing points to non-local host
242
243 mxt3r        MX  5  not-exist.test.ex.
244              MX  6  exim.org.
245
246 ; Points to an alias
247
248 mxt4         MX  5  alias-eximtesthost.test.ex.
249
250 ; Various combinations of precedence and local host
251
252 mxt5         MX  5  eximtesthost.test.ex.
253              MX  5  ten-1.test.ex.
254
255 mxt6         MX  5  ten-1.test.ex.
256              MX  6  eximtesthost.test.ex.
257              MX  6  ten-2.test.ex.
258
259 mxt7         MX  5  ten-2.test.ex.
260              MX  6  ten-3.test.ex.
261              MX  7  eximtesthost.test.ex.
262              MX  8  ten-1.test.ex.
263
264 mxt8         MX  5  ten-2.test.ex.
265              MX  6  ten-3.test.ex.
266              MX  7  eximtesthost.test.ex.
267              MX  7  ten-4.test.ex.
268              MX  8  ten-1.test.ex.
269
270 ; Same host appearing twice; make some variants in different orders to
271 ; simulate a real nameserver and its round robinning
272
273 mxt9         MX  5  ten-1.test.ex.
274              MX  6  ten-2.test.ex.
275              MX  7  ten-3.test.ex.
276              MX  8  ten-1.test.ex.
277
278 mxt9a        MX  6  ten-2.test.ex.
279              MX  7  ten-3.test.ex.
280              MX  8  ten-1.test.ex.
281              MX  5  ten-1.test.ex.
282
283 mxt9b        MX  7  ten-3.test.ex.
284              MX  8  ten-1.test.ex.
285              MX  5  ten-1.test.ex.
286              MX  6  ten-2.test.ex.
287
288 ; MX pointing to IP address
289
290 mxt10        MX  5  V4NET.0.0.1.
291
292 ; Several MXs pointing to local host
293
294 mxt11        MX  5  localhost.test.ex.
295              MX  6  localhost.test.ex.
296
297 mxt11a       MX  5  localhost.test.ex.
298              MX  6  ten-1.test.ex.
299
300 mxt12        MX  5  local1.test.ex.
301              MX  6  local2.test.ex.
302
303 local1       A   127.0.0.2
304 local2       A   127.0.0.2
305
306 ; Some more
307
308 mxt13        MX  4  other1.test.ex.
309              MX  5  other2.test.ex.
310
311 ; Different hosts with same IP addresses in the list
312
313 mxt14        MX  4  ten-5-6.test.ex.
314              MX  5  ten-5.test.ex.
315              MX  6  ten-6.test.ex.
316
317 ; Non-local hosts with different precedence
318
319 mxt15        MX 10  ten-1.test.ex.
320              MX 20  ten-2.test.ex.
321
322 ; Large number of IP addresses at one MX value, and then some
323 ; at another, to check that hosts_max_try tries the MX different
324 ; values if it can.
325
326 mxt99        MX  1  ten-1.test.ex.
327              MX  1  ten-2.test.ex.
328              MX  1  ten-3.test.ex.
329              MX  1  ten-4.test.ex.
330              MX  1  ten-5.test.ex.
331              MX  1  ten-6.test.ex.
332              MX  3  black-1.test.ex.
333              MX  3  black-2.test.ex.
334
335 ; Special case test for @mx_any (to doublecheck a reported Exim 3 bug isn't
336 ; in Exim 4). The MX points to two names, each with multiple addresses. The
337 ; very last address is the local host. When Exim is testing, it will sort
338 ; these addresses into ascending order.
339
340 mxt98        MX  1  98-1.test.ex.
341              MX  2  98-2.test.ex.
342
343 98-1         A   V4NET.1.2.3
344              A   V4NET.4.5.6
345
346 98-2         A   V4NET.7.8.9
347              A   HOSTIPV4
348
349 ; IP addresses with the same MX value
350
351 mxt97        MX  1  ten-1.test.ex.
352              MX  1  ten-2.test.ex.
353              MX  1  ten-3.test.ex.
354              MX  1  ten-4.test.ex.
355
356 ; MX pointing to a single-component name that exists if qualified, but not
357 ; if not. We use the special name dontqualify to stop the fake resolver
358 ; qualifying it.
359
360 mxt1c        MX  1  dontqualify.
361
362 ; MX with punycoded UTF-8 characters used for its lookup ( π.test.ex )
363
364 xn--1xa      MX  0  mx.π.test.ex.
365
366 ; MX with actual UTF-8 characters in its name, for allow_utf8_domains mode test
367
368 π            MX  0  mx.xn--1xa.test.ex.
369
370 ; -------- Testing SRV records --------
371
372 _smtp._tcp.srv01    SRV  0 0 25 ten-1.test.ex.
373
374 _smtp._tcp.srv02    SRV  1 3 99 ten-1.test.ex.
375                     SRV  1 1 99 ten-2.test.ex.
376                     SRV  3 0 66 ten-3.test.ex.
377
378 _smtp._tcp.nosmtp   SRV  0 0 0  .
379
380 _smtp2._tcp.srv03   SRV  0 0 88 ten-4.test.ex.
381
382 _smtp._tcp.srv27    SRV  0 0 PORT_S localhost
383
384
385 ; -------- With some for CSA testing plus their A records -------
386
387 _client._smtp.csa1  SRV  1 2 0  csa1.test.ex.
388 _client._smtp.csa2  SRV  1 1 0  csa2.test.ex.
389
390 csa1         A   V4NET.9.8.7
391 csa2         A   V4NET.9.8.8
392
393 ; ------- Testing DANE ------------
394
395 ; full suite dns chain, sha512
396 DNSSEC mxdane512ee MX  1  dane512ee.
397 DNSSEC dane512ee   A       HOSTIPV4
398 DNSSEC _1225._tcp.dane512ee TLSA  3 1 2 3d5eb81b1dfc3f93c1fa8819e3fb3fdb41bb590441d5f3811db17772f4bc6de29bdd7c4f4b723750dda871b99379192b3f979f03db1252c4f08b03ef7176528d
399
400 ; A-only, sha256
401 DNSSEC dane256ee   A       HOSTIPV4
402 DNSSEC _1225._tcp.dane256ee TLSA  3 1 1 2bb55f418bb03411a5007cecbfcd3ec1c94404312c0d53a44bb2166b32654db3
403
404 ; full MX, sha256, TA-mode
405 DNSSEC mxdane256ta MX  1  dane256ta.
406 DNSSEC dane256ta   A       HOSTIPV4
407 DNSSEC _1225._tcp.dane256ta TLSA  2 0 1 b2c6f27f2d16390b4f71cacc69742bf610d750534fab240516c0f2deb4042ad4
408
409 ; ------- Testing delays ------------
410
411 DELAY=500  delay500  A HOSTIPV4
412 DELAY=1500 delay1500 A HOSTIPV4
413
414
415 ; End