summaryrefslogtreecommitdiff
path: root/test/dnszones-src
diff options
context:
space:
mode:
Diffstat (limited to 'test/dnszones-src')
-rw-r--r--test/dnszones-src/db.ip4.1019
-rw-r--r--test/dnszones-src/db.ip4.12710
-rw-r--r--test/dnszones-src/db.ip4.V4NET60
-rw-r--r--test/dnszones-src/db.ip6.011
-rw-r--r--test/dnszones-src/db.ip6.V6NET12
-rw-r--r--test/dnszones-src/db.test.ex360
-rw-r--r--test/dnszones-src/qualify.test.ex5
7 files changed, 477 insertions, 0 deletions
diff --git a/test/dnszones-src/db.ip4.10 b/test/dnszones-src/db.ip4.10
new file mode 100644
index 000000000..cac14fc07
--- /dev/null
+++ b/test/dnszones-src/db.ip4.10
@@ -0,0 +1,19 @@
+; $Cambridge: exim/test/dnszones-src/db.ip4.10,v 1.1 2006/02/06 16:22:56 ph10 Exp $
+
+; This is a testing reverse zone file for use when testing DNS handling in
+; Exim. This is a fake zone of no real use - hence no SOA record. The zone name
+; is 10.in-addr.arpa. This file is passed through the substitution mechanism
+; before being used by the fakens auxiliary program, though in fact there is
+; nothing to substitute.
+
+; This zone exists to handle reverse lookups for the host with a huge number of
+; IP addresses that get manufactured by the fake_gethostbyname() function in
+; Exim. They are hard-wired to use the 10.250.0.0/16 network. Apart from that
+; one use, the test suite shouldn't be using that network, so everything else
+; is passed on to res_search(). The next line triggers this action.
+
+PASS ON NOT FOUND
+
+*.250 PTR manyhome.test.ex.
+
+; End
diff --git a/test/dnszones-src/db.ip4.127 b/test/dnszones-src/db.ip4.127
new file mode 100644
index 000000000..150107415
--- /dev/null
+++ b/test/dnszones-src/db.ip4.127
@@ -0,0 +1,10 @@
+; $Cambridge: exim/test/dnszones-src/db.ip4.127,v 1.1 2006/02/06 16:22:56 ph10 Exp $
+
+; This is a testing reverse zone file for use when testing DNS handling in
+; Exim. This is a fake zone of no real use - hence no SOA record. The zone name
+; is 127.in-addr.arpa. This file is passed through the substitution mechanism
+; before being used by the fakens auxiliary program.
+
+1.0.0.127.in-addr.arpa. PTR localhost.
+
+; End
diff --git a/test/dnszones-src/db.ip4.V4NET b/test/dnszones-src/db.ip4.V4NET
new file mode 100644
index 000000000..b7419f561
--- /dev/null
+++ b/test/dnszones-src/db.ip4.V4NET
@@ -0,0 +1,60 @@
+; $Cambridge: exim/test/dnszones-src/db.ip4.V4NET,v 1.1 2006/02/06 16:22:56 ph10 Exp $
+
+; This is a testing reverse zone file for use when testing DNS handling in
+; Exim. This is a fake zone of no real use - hence no SOA record. The zone name
+; is determined by the V4NET substitution. This file is passed through the
+; substitution mechanism before being used by the fakens auxiliary program.
+
+1.0.0 PTR ten-1.test.ex.
+2.0.0 PTR ten-2.test.ex.
+3.0.0 PTR ten-3-alias.test.ex.
+3.0.0 PTR ten-3.test.ex.
+4.0.0 PTR ten-4.test.ex.
+5.0.0 PTR ten-5-6.test.ex.
+6.0.0 PTR ten-5-6.test.ex.
+
+; V4NET.0.0.97 is deliberately not reverse registered
+
+98.0.0 PTR noforward.test.ex.
+99.0.0 PTR ten-99.TEST.EX.
+
+; V4NET.11.12.13 (black-1) is deliberately not reverse registered
+
+14.12.11 PTR black-2.test.ex.
+
+10.10.10 PTR myhost.test.ex.
+
+5.4.12 PTR other1.test.ex.
+1.3.12 PTR other2.test.ex.
+2.3.12 PTR other2.test.ex.
+
+1.0.99 PTR other99.test.ex.
+
+; The first of these deliberately points back to a different name
+; with a different address - that of the second one.
+
+99.99.99 PTR badB.test.ex.
+98.99.99 PTR badB.test.ex.
+
+; This host has multiple names with several components, for
+; testing negative wildcard matching
+
+97.99.99 PTR x.gov.uk.test.ex.
+97.99.99 PTR x.co.uk.test.ex.
+
+; This points to a name that will give `try again' when looked
+; up from within the test harness.
+
+96.99.99 PTR x.test.again.dns.
+
+; This IP number points back to a legitimate host, but also to a name that
+; isn't forward registered
+
+90.99.99 PTR oneback.test.ex.
+90.99.99 PTR host1.masq.test.ex.
+
+; This is a duff registration for testing
+
+255.255.255 PTR .
+
+; End
diff --git a/test/dnszones-src/db.ip6.0 b/test/dnszones-src/db.ip6.0
new file mode 100644
index 000000000..b626611fa
--- /dev/null
+++ b/test/dnszones-src/db.ip6.0
@@ -0,0 +1,11 @@
+; $Cambridge: exim/test/dnszones-src/db.ip6.0,v 1.1 2006/02/06 16:22:56 ph10 Exp $
+
+; This is a testing reverse zone file for use when testing DNS handling in
+; Exim. This is a fake zone of no real use - hence no SOA record. The zone name
+; is 0.0.0.0.ip6.arpa. This file is passed through the substitution mechanism
+; before being used by the fakens auxiliary program, though in fact there is
+; nothing to substitute.
+
+1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0 PTR localhost.
+
+; End
diff --git a/test/dnszones-src/db.ip6.V6NET b/test/dnszones-src/db.ip6.V6NET
new file mode 100644
index 000000000..0db200ea7
--- /dev/null
+++ b/test/dnszones-src/db.ip6.V6NET
@@ -0,0 +1,12 @@
+; $Cambridge: exim/test/dnszones-src/db.ip6.V6NET,v 1.1 2006/02/06 16:22:56 ph10 Exp $
+
+; This is a testing reverse zone file for use when testing DNS handling in
+; Exim. This is a fake zone of no real use - hence no SOA record. The zone
+; name is determined by the V6NET substitution. This file is passed through
+; the substitution mechanism before being used by the fakens auxiliary program,
+; though in fact there is nothing to substitute.
+
+2.6.0.a.6.8.e.f.f.f.0.2.0.0.a.0.1.0.0.0.2.1.0.0.0.0.0.0 PTR testptr-arpa.ipv6.test.ex.
+d.0.0.0.c.b.a.0.8.0.0.0.7.0.0.0.6.0.0.0.5.0.0.0.4.3.2.1 PTR test3.ipv6.test.ex.
+
+; End
diff --git a/test/dnszones-src/db.test.ex b/test/dnszones-src/db.test.ex
new file mode 100644
index 000000000..2e2865eb4
--- /dev/null
+++ b/test/dnszones-src/db.test.ex
@@ -0,0 +1,360 @@
+; $Cambridge: exim/test/dnszones-src/db.test.ex,v 1.1 2006/02/06 16:22:56 ph10 Exp $
+
+; This is a testing zone file for use when testing DNS handling in Exim. This
+; is a fake zone of no real use - hence no SOA record. The zone name is
+; test.ex. This file is passed through the substitution mechanism before being
+; used by the fakens auxiliary program. This inserts the actual IP addresses
+; of the local host into the zone.
+
+; NOTE (1): apart from ::1, IPv6 addresses must always have 8 components. Do
+; not abbreviate them by using the :: feature. Leading zeros in components may,
+; however, be omitted.
+
+; NOTE (2): the fakens program is very simple and assumes that the buffer into
+; which is puts the response is always going to be big enough. In other words,
+; the expectation is for just a few RRs for each query.
+
+; NOTE (3): the top-level networks for testing addresses are parameterized by
+; the use of V4NET and V6NET. These networks should be such that no real
+; host ever uses them.
+
+test.ex. NS exim.test.ex.
+
+test.ex. TXT "A TXT record for test.ex."
+
+cname CNAME test.ex.
+
+ptr PTR data.for.ptr.test.ex.
+
+; Standard localhost handling
+
+localhost A 127.0.0.1
+localhost AAAA ::1
+
+; This name exists only if qualified; it is never automatically qualified
+
+dontqualify A V4NET.255.255.254
+
+; A host with upper case letters in its canonical name
+
+UpperCase A 127.0.0.1
+
+; A host with UTF-8 characters in its name
+
+mx.π A V4NET.255.255.255
+
+; A non-standard name for localhost
+
+thishost A 127.0.0.1
+
+; Another host with both A and AAAA records
+
+46 A V4NET.0.0.4
+ AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c031
+
+; And another
+
+46b A V4NET.0.0.5
+ AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c033
+
+; A working IPv4 address and a non-working IPv6 address, with different
+; names so they can have different MX values
+
+46c AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c033
+46d A HOSTIPV4
+
+; A host with just a non-local IPv6 address
+
+v6 AAAA V6NET:ffff:836f:0a00:000a:0800:200a:c032
+
+; Alias A and CNAME records for the local host, under the name "eximtesthost"
+
+eximtesthost A HOSTIPV4
+alias-eximtesthost CNAME eximtesthost.test.ex.
+
+; A bad CNAME
+
+badcname CNAME rhubarb.test.ex.
+
+; Test a name containing an underscore
+
+a_b A 99.99.99.99
+
+; The reverse registration for this name is an empty string
+
+empty A V4NET.255.255.255
+
+; Some IPv6 stuff
+
+eximtesthost.ipv6 AAAA HOSTIPV6
+test2.ipv6 AAAA V6NET:2101:12:1:a00:20ff:fe86:a062
+test3.ipv6 AAAA V6NET:1234:5:6:7:8:abc:0d
+
+; A case of forward and backward pointers disagreeing
+
+badA A V4NET.99.99.99
+badB A V4NET.99.99.98
+
+; A host with multiple names in different (sub) domains
+; These are intended to be within test.ex - absence of final dots is deliberate
+
+x.gov.uk A V4NET.99.99.97
+x.co.uk A V4NET.99.99.97
+
+; A host, the reverse lookup of whose IP address gives this name plus another
+; that does not forward resolve to the same address
+
+oneback A V4NET.99.99.90
+host1.masq A V4NET.90.90.90
+
+; Fake hosts are registered in the V4NET.0.0.0 subnet. In the past, the
+; 10.0.0.0/8 network was used; hence the names of the hosts.
+
+ten-1 A V4NET.0.0.1
+ten-2 A V4NET.0.0.2
+ten-3 A V4NET.0.0.3
+ten-3-alias A V4NET.0.0.3
+ten-3xtra A V4NET.0.0.3
+ten-4 A V4NET.0.0.4
+ten-5 A V4NET.0.0.5
+ten-6 A V4NET.0.0.6
+ten-5-6 A V4NET.0.0.5
+ A V4NET.0.0.6
+
+ten-99 A V4NET.0.0.99
+
+black-1 A V4NET.11.12.13
+black-2 A V4NET.11.12.14
+
+myhost A V4NET.10.10.10
+myhost2 A V4NET.10.10.10
+
+other1 A V4NET.12.4.5
+other2 A V4NET.12.3.1
+ A V4NET.12.3.2
+
+other99 A V4NET.99.0.1
+
+testsub.sub A V4NET.99.0.3
+
+; This one's real name really is recurse.test.ex.test.ex. It is done like
+; this for testing host widening, without getting tangled up in qualify issues.
+
+recurse.test.ex A V4NET.99.0.2
+
+; -------- Testing RBL records -------
+
+; V4NET.11.12.13 is deliberately not reverse-registered
+
+13.12.11.V4NET.rbl A 127.0.0.2
+ TXT "This is a test blacklisting message"
+14.12.11.V4NET.rbl A 127.0.0.2
+ TXT "This is a test blacklisting message"
+15.12.11.V4NET.rbl A 127.0.0.2
+ 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."
+
+14.12.11.V4NET.rbl2 A 127.0.0.2
+ TXT "This is a test blacklisting2 message"
+16.12.11.V4NET.rbl2 A 127.0.0.2
+ TXT "This is a test blacklisting2 message"
+
+14.12.11.V4NET.rbl3 A 127.0.0.2
+ TXT "This is a test blacklisting3 message"
+15.12.11.V4NET.rbl3 A 127.0.0.3
+ 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."
+
+20.12.11.V4NET.rbl4 A 127.0.0.6
+21.12.11.V4NET.rbl4 A 127.0.0.7
+
+1.13.13.V4NET.rbl CNAME non-exist.test.ex.
+2.13.13.V4NET.rbl A 127.0.0.1
+ A 127.0.0.2
+
+; -------- Testing MX records --------
+
+mxcased MX 5 ten-99.TEST.EX.
+
+; Points to a host with both A and AAAA
+
+mx46 MX 46 46.test.ex.
+
+; Points to two hosts with both kinds of address, equal precedence
+
+mx4646 MX 46 46.test.ex.
+ MX 46 46b.test.ex.
+
+; Ditto, with a third IPv6 host
+
+mx46466 MX 46 46.test.ex.
+ MX 46 46b.test.ex.
+ MX 46 v6.test.ex.
+
+; Points to a host with a working IPv4 and a non-working IPv6 record
+
+mx46cd MX 10 46c.test.ex.
+ MX 11 46d.test.ex.
+
+; Two equal precedence pointing to a v4 and a v6 host
+
+mx246 MX 10 v6.test.ex.
+ MX 10 ten-1.test.ex.
+
+; Lowest-numbered points to local host
+
+mxt1 MX 5 eximtesthost.test.ex.
+
+; Points only to non-existent hosts
+
+mxt2 MX 5 not-exist.test.ex.
+
+; Points to some non-existent hosts;
+; Lowest numbered existing points to local host
+
+mxt3 MX 5 not-exist.test.ex.
+ MX 6 eximtesthost.test.ex.
+
+; Points to some non-existent hosts;
+; Lowest numbered existing points to non-local host
+
+mxt3r MX 5 not-exist.test.ex.
+ MX 6 exim.org.
+
+; Points to an alias
+
+mxt4 MX 5 alias-eximtesthost.test.ex.
+
+; Various combinations of precedence and local host
+
+mxt5 MX 5 eximtesthost.test.ex.
+ MX 5 ten-1.test.ex.
+
+mxt6 MX 5 ten-1.test.ex.
+ MX 6 eximtesthost.test.ex.
+ MX 6 ten-2.test.ex.
+
+mxt7 MX 5 ten-2.test.ex.
+ MX 6 ten-3.test.ex.
+ MX 7 eximtesthost.test.ex.
+ MX 8 ten-1.test.ex.
+
+mxt8 MX 5 ten-2.test.ex.
+ MX 6 ten-3.test.ex.
+ MX 7 eximtesthost.test.ex.
+ MX 7 ten-4.test.ex.
+ MX 8 ten-1.test.ex.
+
+; Same host appearing twice; make some variants in different orders to
+; simulate a real nameserver and its round robinning
+
+mxt9 MX 5 ten-1.test.ex.
+ MX 6 ten-2.test.ex.
+ MX 7 ten-3.test.ex.
+ MX 8 ten-1.test.ex.
+
+mxt9a MX 6 ten-2.test.ex.
+ MX 7 ten-3.test.ex.
+ MX 8 ten-1.test.ex.
+ MX 5 ten-1.test.ex.
+
+mxt9b MX 7 ten-3.test.ex.
+ MX 8 ten-1.test.ex.
+ MX 5 ten-1.test.ex.
+ MX 6 ten-2.test.ex.
+
+; MX pointing to IP address
+
+mxt10 MX 5 V4NET.0.0.1.
+
+; Several MXs pointing to local host
+
+mxt11 MX 5 localhost.test.ex.
+ MX 6 localhost.test.ex.
+
+mxt11a MX 5 localhost.test.ex.
+ MX 6 ten-1.test.ex.
+
+mxt12 MX 5 local1.test.ex.
+ MX 6 local2.test.ex.
+
+local1 A 127.0.0.2
+local2 A 127.0.0.2
+
+; Some more
+
+mxt13 MX 4 other1.test.ex.
+ MX 5 other2.test.ex.
+
+; Different hosts with same IP addresses in the list
+
+mxt14 MX 4 ten-5-6.test.ex.
+ MX 5 ten-5.test.ex.
+ MX 6 ten-6.test.ex.
+
+; Large number of IP addresses at one MX value, and then some
+; at another, to check that hosts_max_try tries the MX different
+; values if it can.
+
+mxt99 MX 1 ten-1.test.ex.
+ MX 1 ten-2.test.ex.
+ MX 1 ten-3.test.ex.
+ MX 1 ten-4.test.ex.
+ MX 1 ten-5.test.ex.
+ MX 1 ten-6.test.ex.
+ MX 3 black-1.test.ex.
+ MX 3 black-2.test.ex.
+
+; Special case test for @mx_any (to doublecheck a reported Exim 3 bug isn't
+; in Exim 4). The MX points to two names, each with multiple addresses. The
+; very last address is the local host. When Exim is testing, it will sort
+; these addresses into ascending order.
+
+mxt98 MX 1 98-1.test.ex.
+ MX 2 98-2.test.ex.
+
+98-1 A V4NET.1.2.3
+ A V4NET.4.5.6
+
+98-2 A V4NET.7.8.9
+ A HOSTIPV4
+
+; IP addresses with the same MX value
+
+mxt97 MX 1 ten-1.test.ex.
+ MX 1 ten-2.test.ex.
+ MX 1 ten-3.test.ex.
+ MX 1 ten-4.test.ex.
+
+; MX pointing to a single-component name that exists if qualified, but not
+; if not. We use the special name dontqualify to stop the fake resolver
+; qualifying it.
+
+mxt1c MX 1 dontqualify.
+
+; MX with UTF-8 characters in its name
+
+π MX 0 mx.π.test.ex.
+
+; -------- Testing SRV records --------
+
+_smtp._tcp.srv01 SRV 0 0 25 ten-1.test.ex.
+
+_smtp._tcp.srv02 SRV 1 3 99 ten-1.test.ex.
+ SRV 1 1 99 ten-2.test.ex.
+ SRV 3 0 66 ten-3.test.ex.
+
+_smtp._tcp.nosmtp SRV 0 0 0 .
+
+_smtp2._tcp.srv03 SRV 0 0 88 ten-4.test.ex.
+
+_smtp._tcp.srv27 SRV 0 0 PORT_S localhost
+
+
+; -------- With some for CSA testing plus their A records -------
+
+_client._smtp.csa1 SRV 1 2 0 csa1.test.ex.
+_client._smtp.csa2 SRV 1 1 0 csa2.test.ex.
+
+csa1 A V4NET.9.8.7
+csa2 A V4NET.9.8.8
+
+; End
diff --git a/test/dnszones-src/qualify.test.ex b/test/dnszones-src/qualify.test.ex
new file mode 100644
index 000000000..e8c9f9358
--- /dev/null
+++ b/test/dnszones-src/qualify.test.ex
@@ -0,0 +1,5 @@
+$Cambridge: exim/test/dnszones-src/qualify.test.ex,v 1.1 2006/02/06 16:22:56 ph10 Exp $
+
+The contents of this file are not used. Its name is used as a way of specifying
+the domain that is to be used to qualify unqualified domain names when given to
+the fake DNS resolver.