bd334918bd5dcefed22b8444fca66ce3f4d5def2
[users/heiko/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 - 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
19 test.ex.     NS      exim.test.ex.
20
21 test.ex.     TXT     "A TXT record for test.ex."
22 s/lash       TXT     "A TXT record for s/lash.test.ex."
23
24 cname        CNAME   test.ex.
25
26 ptr          PTR     data.for.ptr.test.ex.
27
28 ; Standard localhost handling
29
30 localhost    A       127.0.0.1
31 localhost    AAAA    ::1
32
33 ; This name exists only if qualified; it is never automatically qualified
34
35 dontqualify  A       V4NET.255.255.254
36
37 ; A host with upper case letters in its canonical name
38
39 UpperCase    A       127.0.0.1
40
41 ; A host with UTF-8 characters in its name
42
43 mx.π        A       V4NET.255.255.255
44
45 ; A non-standard name for localhost
46
47 thishost     A       127.0.0.1
48
49 ; Something that gives both the IP and the loopback
50
51 thisloop     A       HOSTIPV4
52              A       127.0.0.1
53
54 ; Something that gives an unreachable IP and the loopback
55
56 badloop      A       V4NET.0.0.1
57              A       127.0.0.1
58
59 ; Another host with both A and AAAA records
60
61 46           A       V4NET.0.0.4
62              AAAA    V6NET:ffff:836f:0a00:000a:0800:200a:c031
63
64 ; And another
65
66 46b          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
72 46c          AAAA    V6NET:ffff:836f:0a00:000a:0800:200a:c033
73 46d          A       HOSTIPV4
74
75 ; A host with just a non-local IPv6 address
76
77 v6           AAAA    V6NET:ffff:836f:0a00:000a:0800:200a:c032
78
79 ; Alias A and CNAME records for the local host, under the name "eximtesthost"
80 ; Make the A covered by DNSSEC and add a TLSA for it.
81
82 DNSSEC eximtesthost     A       HOSTIPV4
83 alias-eximtesthost CNAME eximtesthost.test.ex.
84
85 DNSSEC _1225._tcp.eximtesthost  TLSA    3 1 2 f000baaa
86
87 ; A bad CNAME
88
89 badcname     CNAME   rhubarb.test.ex.
90
91 ; Test a name containing an underscore
92
93 a_b          A       99.99.99.99
94
95 ; The reverse registration for this name is an empty string
96
97 empty        A       V4NET.255.255.255
98
99 ; Some IPv6 stuff
100
101 eximtesthost.ipv6 AAAA   HOSTIPV6
102 test2.ipv6   AAAA    V6NET:2101:12:1:a00:20ff:fe86:a062
103 test3.ipv6   AAAA    V6NET:1234:5:6:7:8:abc:0d
104
105 ; A case of forward and backward pointers disagreeing
106
107 badA         A       V4NET.99.99.99
108 badB         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
113 x.gov.uk     A       V4NET.99.99.97
114 x.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
119 oneback      A       V4NET.99.99.90
120 host1.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
125 ten-1        A       V4NET.0.0.1
126 ten-2        A       V4NET.0.0.2
127 ten-3        A       V4NET.0.0.3
128 ten-3-alias  A       V4NET.0.0.3
129 ten-3xtra    A       V4NET.0.0.3
130 ten-4        A       V4NET.0.0.4
131 ten-5        A       V4NET.0.0.5
132 ten-6        A       V4NET.0.0.6
133 ten-5-6      A       V4NET.0.0.5
134              A       V4NET.0.0.6
135
136 ten-99       A       V4NET.0.0.99
137
138 black-1      A       V4NET.11.12.13
139 black-2      A       V4NET.11.12.14
140
141 myhost       A       V4NET.10.10.10
142 myhost2      A       V4NET.10.10.10
143
144 other1       A       V4NET.12.4.5
145 other2       A       V4NET.12.3.1
146              A       V4NET.12.3.2
147
148 other99      A       V4NET.99.0.1
149
150 testsub.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
155 recurse.test.ex   A  V4NET.99.0.2
156
157 ; -------- Testing RBL records -------
158
159 ; V4NET.11.12.13 is deliberately not reverse-registered
160
161 13.12.11.V4NET.rbl    A   127.0.0.2
162                       TXT "This is a test blacklisting message"
163 14.12.11.V4NET.rbl    A   127.0.0.2
164                       TXT "This is a test blacklisting message"
165 15.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
168 14.12.11.V4NET.rbl2   A   127.0.0.2
169                       TXT "This is a test blacklisting2 message"
170 16.12.11.V4NET.rbl2   A   127.0.0.2
171                       TXT "This is a test blacklisting2 message"
172
173 14.12.11.V4NET.rbl3   A   127.0.0.2
174                       TXT "This is a test blacklisting3 message"
175 15.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
178 20.12.11.V4NET.rbl4   A   127.0.0.6
179 21.12.11.V4NET.rbl4   A   127.0.0.7
180 22.12.11.V4NET.rbl4   A   127.0.0.128
181                       TXT "This is a test blacklisting4 message"
182
183 22.12.11.V4NET.rbl5   A   127.0.0.1
184                       TXT "This is a test blacklisting5 message"
185
186 1.13.13.V4NET.rbl     CNAME non-exist.test.ex.
187 2.13.13.V4NET.rbl     A   127.0.0.1
188                       A   127.0.0.2
189
190 ; -------- Testing MX records --------
191
192 DNSSEC mxplain      MX  1  eximtesthost.
193
194 mxcased      MX  5  ten-99.TEST.EX.
195
196 ; Points to a host with both A and AAAA
197
198 mx46         MX  46 46.test.ex.
199
200 ; Points to two hosts with both kinds of address, equal precedence
201
202 mx4646       MX  46 46.test.ex.
203              MX  46 46b.test.ex.
204
205 ; Ditto, with a third IPv6 host
206
207 mx46466      MX  46 46.test.ex.
208              MX  46 46b.test.ex.
209              MX  46 v6.test.ex.
210
211 ; This time, change precedence
212
213 mx46466b     MX  46 46.test.ex.
214              MX  47 46b.test.ex.
215              MX  48 v6.test.ex.
216
217 ; Points to a host with a working IPv4 and a non-working IPv6 record
218
219 mx46cd       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
224 mx246        MX  10 v6.test.ex.
225              MX  10 ten-1.test.ex.
226
227 ; Lowest-numbered points to local host
228
229 mxt1         MX  5  eximtesthost.test.ex.
230
231 ; Points only to non-existent hosts
232
233 mxt2         MX  5  not-exist.test.ex.
234
235 ; Points to some non-existent hosts;
236 ; Lowest numbered existing points to local host
237
238 mxt3         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
244 mxt3r        MX  5  not-exist.test.ex.
245              MX  6  exim.org.
246
247 ; Points to an alias
248
249 mxt4         MX  5  alias-eximtesthost.test.ex.
250
251 ; Various combinations of precedence and local host
252
253 mxt5         MX  5  eximtesthost.test.ex.
254              MX  5  ten-1.test.ex.
255
256 mxt6         MX  5  ten-1.test.ex.
257              MX  6  eximtesthost.test.ex.
258              MX  6  ten-2.test.ex.
259
260 mxt7         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
265 mxt8         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
274 mxt9         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
279 mxt9a        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
284 mxt9b        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
291 mxt10        MX  5  V4NET.0.0.1.
292
293 ; Several MXs pointing to local host
294
295 mxt11        MX  5  localhost.test.ex.
296              MX  6  localhost.test.ex.
297
298 mxt11a       MX  5  localhost.test.ex.
299              MX  6  ten-1.test.ex.
300
301 mxt12        MX  5  local1.test.ex.
302              MX  6  local2.test.ex.
303
304 local1       A   127.0.0.2
305 local2       A   127.0.0.2
306
307 ; Some more
308
309 mxt13        MX  4  other1.test.ex.
310              MX  5  other2.test.ex.
311
312 ; Different hosts with same IP addresses in the list
313
314 mxt14        MX  4  ten-5-6.test.ex.
315              MX  5  ten-5.test.ex.
316              MX  6  ten-6.test.ex.
317
318 ; Non-local hosts with different precedence
319
320 mxt15        MX 10  ten-1.test.ex.
321              MX 20  ten-2.test.ex.
322
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
327 mxt99        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
341 mxt98        MX  1  98-1.test.ex.
342              MX  2  98-2.test.ex.
343
344 98-1         A   V4NET.1.2.3
345              A   V4NET.4.5.6
346
347 98-2         A   V4NET.7.8.9
348              A   HOSTIPV4
349
350 ; IP addresses with the same MX value
351
352 mxt97        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
361 mxt1c        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
387 csa1         A   V4NET.9.8.7
388 csa2         A   V4NET.9.8.8
389
390 ; End