Commit | Line | Data |
---|---|---|
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 | |
22 | test.ex. NS exim.test.ex. | |
d2a2c69b | 23 | test.ex. SOA exim.test.ex. hostmaster.exim.test.ex 1430683638 1200 120 604800 3600 |
c55a77db PH |
24 | |
25 | test.ex. TXT "A TXT record for test.ex." | |
230205fc | 26 | s/lash TXT "A TXT record for s/lash.test.ex." |
c55a77db PH |
27 | |
28 | cname CNAME test.ex. | |
29 | ||
30 | ptr PTR data.for.ptr.test.ex. | |
31 | ||
32 | ; Standard localhost handling | |
33 | ||
34 | localhost A 127.0.0.1 | |
35 | localhost AAAA ::1 | |
36 | ||
37 | ; This name exists only if qualified; it is never automatically qualified | |
38 | ||
39 | dontqualify A V4NET.255.255.254 | |
40 | ||
41 | ; A host with upper case letters in its canonical name | |
42 | ||
43 | UpperCase 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 | 47 | mx.xn--1xa A V4NET.255.255.255 |
c55a77db PH |
48 | |
49 | ; A non-standard name for localhost | |
50 | ||
51 | thishost A 127.0.0.1 | |
ac9a0d91 JH |
52 | localhost4 A 127.0.0.1 |
53 | ||
c55a77db | 54 | |
1cce3af8 PH |
55 | ; Something that gives both the IP and the loopback |
56 | ||
57 | thisloop A HOSTIPV4 | |
58 | A 127.0.0.1 | |
59 | ||
60 | ; Something that gives an unreachable IP and the loopback | |
61 | ||
62 | badloop A V4NET.0.0.1 | |
63 | A 127.0.0.1 | |
64 | ||
c55a77db PH |
65 | ; Another host with both A and AAAA records |
66 | ||
67 | 46 A V4NET.0.0.4 | |
68 | AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c031 | |
69 | ||
70 | ; And another | |
71 | ||
72 | 46b 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 | ||
78 | 46c AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c033 | |
79 | 46d A HOSTIPV4 | |
80 | ||
81 | ; A host with just a non-local IPv6 address | |
82 | ||
83 | v6 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 | 88 | eximtesthost A HOSTIPV4 |
c55a77db PH |
89 | alias-eximtesthost CNAME eximtesthost.test.ex. |
90 | ||
91 | ; A bad CNAME | |
92 | ||
93 | badcname CNAME rhubarb.test.ex. | |
94 | ||
95 | ; Test a name containing an underscore | |
96 | ||
97 | a_b A 99.99.99.99 | |
98 | ||
99 | ; The reverse registration for this name is an empty string | |
100 | ||
101 | empty A V4NET.255.255.255 | |
102 | ||
103 | ; Some IPv6 stuff | |
104 | ||
105 | eximtesthost.ipv6 AAAA HOSTIPV6 | |
106 | test2.ipv6 AAAA V6NET:2101:12:1:a00:20ff:fe86:a062 | |
107 | test3.ipv6 AAAA V6NET:1234:5:6:7:8:abc:0d | |
108 | ||
109 | ; A case of forward and backward pointers disagreeing | |
110 | ||
111 | badA A V4NET.99.99.99 | |
112 | badB 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 | ||
117 | x.gov.uk A V4NET.99.99.97 | |
118 | x.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 | ||
123 | oneback A V4NET.99.99.90 | |
124 | host1.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 | ||
129 | ten-1 A V4NET.0.0.1 | |
130 | ten-2 A V4NET.0.0.2 | |
131 | ten-3 A V4NET.0.0.3 | |
132 | ten-3-alias A V4NET.0.0.3 | |
133 | ten-3xtra A V4NET.0.0.3 | |
134 | ten-4 A V4NET.0.0.4 | |
135 | ten-5 A V4NET.0.0.5 | |
136 | ten-6 A V4NET.0.0.6 | |
137 | ten-5-6 A V4NET.0.0.5 | |
138 | A V4NET.0.0.6 | |
139 | ||
140 | ten-99 A V4NET.0.0.99 | |
141 | ||
142 | black-1 A V4NET.11.12.13 | |
143 | black-2 A V4NET.11.12.14 | |
144 | ||
145 | myhost A V4NET.10.10.10 | |
146 | myhost2 A V4NET.10.10.10 | |
147 | ||
148 | other1 A V4NET.12.4.5 | |
149 | other2 A V4NET.12.3.1 | |
150 | A V4NET.12.3.2 | |
151 | ||
152 | other99 A V4NET.99.0.1 | |
153 | ||
154 | testsub.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 | ||
159 | recurse.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 | ||
164 | cname46 CNAME localhost | |
165 | cname4 CNAME thishost | |
166 | ||
c55a77db PH |
167 | ; -------- Testing RBL records ------- |
168 | ||
169 | ; V4NET.11.12.13 is deliberately not reverse-registered | |
170 | ||
171 | 13.12.11.V4NET.rbl A 127.0.0.2 | |
172 | TXT "This is a test blacklisting message" | |
173 | 14.12.11.V4NET.rbl A 127.0.0.2 | |
174 | TXT "This is a test blacklisting message" | |
175 | 15.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 | ||
178 | 14.12.11.V4NET.rbl2 A 127.0.0.2 | |
179 | TXT "This is a test blacklisting2 message" | |
180 | 16.12.11.V4NET.rbl2 A 127.0.0.2 | |
181 | TXT "This is a test blacklisting2 message" | |
182 | ||
183 | 14.12.11.V4NET.rbl3 A 127.0.0.2 | |
184 | TXT "This is a test blacklisting3 message" | |
185 | 15.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 | ||
188 | 20.12.11.V4NET.rbl4 A 127.0.0.6 | |
189 | 21.12.11.V4NET.rbl4 A 127.0.0.7 | |
d6f6e0dc PH |
190 | 22.12.11.V4NET.rbl4 A 127.0.0.128 |
191 | TXT "This is a test blacklisting4 message" | |
192 | ||
193 | 22.12.11.V4NET.rbl5 A 127.0.0.1 | |
194 | TXT "This is a test blacklisting5 message" | |
c55a77db PH |
195 | |
196 | 1.13.13.V4NET.rbl CNAME non-exist.test.ex. | |
197 | 2.13.13.V4NET.rbl A 127.0.0.1 | |
198 | A 127.0.0.2 | |
199 | ||
200 | ; -------- Testing MX records -------- | |
201 | ||
202 | mxcased MX 5 ten-99.TEST.EX. | |
203 | ||
204 | ; Points to a host with both A and AAAA | |
205 | ||
206 | mx46 MX 46 46.test.ex. | |
207 | ||
208 | ; Points to two hosts with both kinds of address, equal precedence | |
209 | ||
210 | mx4646 MX 46 46.test.ex. | |
211 | MX 46 46b.test.ex. | |
212 | ||
213 | ; Ditto, with a third IPv6 host | |
214 | ||
215 | mx46466 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 | ||
221 | mx46466b 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 | ||
227 | mx46cd 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 | ||
232 | mx246 MX 10 v6.test.ex. | |
233 | MX 10 ten-1.test.ex. | |
234 | ||
235 | ; Lowest-numbered points to local host | |
236 | ||
237 | mxt1 MX 5 eximtesthost.test.ex. | |
238 | ||
239 | ; Points only to non-existent hosts | |
240 | ||
241 | mxt2 MX 5 not-exist.test.ex. | |
242 | ||
243 | ; Points to some non-existent hosts; | |
244 | ; Lowest numbered existing points to local host | |
245 | ||
246 | mxt3 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 | ||
252 | mxt3r MX 5 not-exist.test.ex. | |
253 | MX 6 exim.org. | |
254 | ||
255 | ; Points to an alias | |
256 | ||
257 | mxt4 MX 5 alias-eximtesthost.test.ex. | |
258 | ||
259 | ; Various combinations of precedence and local host | |
260 | ||
261 | mxt5 MX 5 eximtesthost.test.ex. | |
262 | MX 5 ten-1.test.ex. | |
263 | ||
264 | mxt6 MX 5 ten-1.test.ex. | |
265 | MX 6 eximtesthost.test.ex. | |
266 | MX 6 ten-2.test.ex. | |
267 | ||
268 | mxt7 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 | ||
273 | mxt8 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 | ||
282 | mxt9 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 | ||
287 | mxt9a 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 | ||
292 | mxt9b 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 | ||
299 | mxt10 MX 5 V4NET.0.0.1. | |
300 | ||
301 | ; Several MXs pointing to local host | |
302 | ||
303 | mxt11 MX 5 localhost.test.ex. | |
304 | MX 6 localhost.test.ex. | |
305 | ||
306 | mxt11a MX 5 localhost.test.ex. | |
307 | MX 6 ten-1.test.ex. | |
308 | ||
309 | mxt12 MX 5 local1.test.ex. | |
310 | MX 6 local2.test.ex. | |
311 | ||
312 | local1 A 127.0.0.2 | |
313 | local2 A 127.0.0.2 | |
314 | ||
315 | ; Some more | |
316 | ||
317 | mxt13 MX 4 other1.test.ex. | |
318 | MX 5 other2.test.ex. | |
319 | ||
320 | ; Different hosts with same IP addresses in the list | |
321 | ||
322 | mxt14 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 | ||
328 | mxt15 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 | ||
335 | mxt99 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 | ||
349 | mxt98 MX 1 98-1.test.ex. | |
350 | MX 2 98-2.test.ex. | |
351 | ||
352 | 98-1 A V4NET.1.2.3 | |
353 | A V4NET.4.5.6 | |
354 | ||
355 | 98-2 A V4NET.7.8.9 | |
356 | A HOSTIPV4 | |
357 | ||
358 | ; IP addresses with the same MX value | |
359 | ||
360 | mxt97 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 | ||
369 | mxt1c MX 1 dontqualify. | |
370 | ||
766e7a65 | 371 | ; MX with punycoded UTF-8 characters used for its lookup ( π.test.ex ) |
c55a77db | 372 | |
766e7a65 JH |
373 | xn--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 | ||
399 | csa1 A V4NET.9.8.7 | |
400 | csa2 A V4NET.9.8.8 | |
401 | ||
abe1353e HSHR |
402 | ; ------- Testing DNSSEC ---------- |
403 | ||
404 | mx-unsec-a-unsec MX 5 a-unsec | |
405 | mx-unsec-a-sec MX 5 a-sec | |
406 | DNSSEC mx-sec-a-unsec MX 5 a-unsec | |
407 | DNSSEC mx-sec-a-sec MX 5 a-sec | |
da830d08 | 408 | DNSSEC mx-sec-a-aa MX 5 a-aa |
6aa849d3 | 409 | AA mx-aa-a-sec MX 5 a-sec |
abe1353e | 410 | |
6aa849d3 JH |
411 | a-unsec A V4NET.0.0.100 |
412 | DNSSEC a-sec A V4NET.0.0.100 | |
413 | DNSSEC l-sec A 127.0.0.1 | |
1705dd20 | 414 | |
6aa849d3 | 415 | AA a-aa A V4NET.0.0.100 |
da830d08 | 416 | |
101de477 JH |
417 | ; ------- Testing DANE ------------ |
418 | ||
419 | ; full suite dns chain, sha512 | |
6aa849d3 JH |
420 | DNSSEC mxdane512ee MX 1 dane512ee |
421 | DNSSEC dane512ee A HOSTIPV4 | |
101de477 JH |
422 | DNSSEC _1225._tcp.dane512ee TLSA 3 1 2 3d5eb81b1dfc3f93c1fa8819e3fb3fdb41bb590441d5f3811db17772f4bc6de29bdd7c4f4b723750dda871b99379192b3f979f03db1252c4f08b03ef7176528d |
423 | ||
424 | ; A-only, sha256 | |
6aa849d3 | 425 | DNSSEC dane256ee A HOSTIPV4 |
101de477 JH |
426 | DNSSEC _1225._tcp.dane256ee TLSA 3 1 1 2bb55f418bb03411a5007cecbfcd3ec1c94404312c0d53a44bb2166b32654db3 |
427 | ||
82525c6f | 428 | ; full MX, sha256, TA-mode |
6aa849d3 JH |
429 | DNSSEC mxdane256ta MX 1 dane256ta |
430 | DNSSEC dane256ta A HOSTIPV4 | |
431 | DNSSEC _1225._tcp.dane256ta TLSA 2 0 1 b2c6f27f2d16390b4f71cacc69742bf610d750534fab240516c0f2deb4042ad4 | |
82525c6f | 432 | |
4cea764f | 433 | |
6aa849d3 JH |
434 | ; A multiple-return MX where all TLSA lookups defer |
435 | DNSSEC mxdanelazy MX 1 danelazy | |
436 | DNSSEC MX 2 danelazy2 | |
437 | ||
438 | DNSSEC danelazy A HOSTIPV4 | |
439 | DNSSEC danelazy2 A 127.0.0.1 | |
4cea764f | 440 | |
6aa849d3 JH |
441 | DNSSEC _1225._tcp.danelazy CNAME test.again.dns. |
442 | DNSSEC _1225._tcp.danelazy2 CNAME test.again.dns. | |
4cea764f | 443 | |
6aa849d3 JH |
444 | ; hosts with no TLSA |
445 | DNSSEC dane.no.1 A HOSTIPV4 | |
446 | DNSSEC dane.no.2 A 127.0.0.1 | |
4cea764f | 447 | |
846430d9 JH |
448 | ; ------- Testing delays ------------ |
449 | ||
0539a19d | 450 | DELAY=500 delay500 A HOSTIPV4 |
846430d9 JH |
451 | DELAY=1500 delay1500 A HOSTIPV4 |
452 | ||
453 | ||
c55a77db | 454 | ; End |