From c55a77db55ebf46a399f136eeb3a928b1e862772 Mon Sep 17 00:00:00 2001 From: Philip Hazel Date: Mon, 6 Feb 2006 16:22:56 +0000 Subject: CVSing the test suite. --- test/dnszones-src/db.ip4.10 | 19 ++ test/dnszones-src/db.ip4.127 | 10 ++ test/dnszones-src/db.ip4.V4NET | 60 +++++++ test/dnszones-src/db.ip6.0 | 11 ++ test/dnszones-src/db.ip6.V6NET | 12 ++ test/dnszones-src/db.test.ex | 360 ++++++++++++++++++++++++++++++++++++++ test/dnszones-src/qualify.test.ex | 5 + 7 files changed, 477 insertions(+) create mode 100644 test/dnszones-src/db.ip4.10 create mode 100644 test/dnszones-src/db.ip4.127 create mode 100644 test/dnszones-src/db.ip4.V4NET create mode 100644 test/dnszones-src/db.ip6.0 create mode 100644 test/dnszones-src/db.ip6.V6NET create mode 100644 test/dnszones-src/db.test.ex create mode 100644 test/dnszones-src/qualify.test.ex (limited to 'test/dnszones-src') 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. -- cgit v1.2.3