summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2019-09-05 10:31:57 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2019-09-05 14:44:53 +0100
commit3462da30c9c57e63705fa24121655a32b315dfcf (patch)
tree09928620fb8ffc8a939aee743117967b753e779f
parent40fa69f0f370146d9b85dfc5990b612b6d9d1ce9 (diff)
Support TTL from SOA for NXDOMAIN & NODATA cache entries for dnslists. Bug 1395
-rw-r--r--src/src/dns.c2
-rw-r--r--src/src/functions.h1
-rw-r--r--src/src/verify.c84
-rw-r--r--test/dnszones-src/db.test.ex2
-rw-r--r--test/scripts/0000-Basic/004413
-rw-r--r--test/stderr/002354
-rw-r--r--test/stderr/0044295
-rw-r--r--test/stderr/007914
-rw-r--r--test/stderr/00803
-rw-r--r--test/stderr/013816
-rw-r--r--test/stderr/0139119
-rw-r--r--test/stderr/03125
-rw-r--r--test/stderr/03867
-rw-r--r--test/stderr/04226
-rw-r--r--test/stderr/220110
-rw-r--r--test/stderr/34083
-rw-r--r--test/stdout/004417
17 files changed, 465 insertions, 186 deletions
diff --git a/src/src/dns.c b/src/src/dns.c
index a1d567b1f..ece6524d6 100644
--- a/src/src/dns.c
+++ b/src/src/dns.c
@@ -686,7 +686,7 @@ in the SOA. We hope that one was returned in the lookup, and do not
bother doing a separate lookup; if not found return a forever TTL.
*/
-static time_t
+time_t
dns_expire_from_soa(dns_answer * dnsa)
{
const HEADER * h = (const HEADER *)dnsa->answer;
diff --git a/src/src/functions.h b/src/src/functions.h
index c71bcb6a7..4a44096ea 100644
--- a/src/src/functions.h
+++ b/src/src/functions.h
@@ -195,6 +195,7 @@ extern BOOL dkim_transport_write_message(transport_ctx *,
extern dns_address *dns_address_from_rr(dns_answer *, dns_record *);
extern int dns_basic_lookup(dns_answer *, const uschar *, int);
extern void dns_build_reverse(const uschar *, uschar *);
+extern time_t dns_expire_from_soa(dns_answer *);
extern void dns_init(BOOL, BOOL, BOOL);
extern BOOL dns_is_aa(const dns_answer *);
extern BOOL dns_is_secure(const dns_answer *);
diff --git a/src/src/verify.c b/src/src/verify.c
index 84c582cfa..384739b2b 100644
--- a/src/src/verify.c
+++ b/src/src/verify.c
@@ -3396,7 +3396,7 @@ if ( (t = tree_search(dnsbl_cache, query))
/* Previous lookup was cached */
{
- HDEBUG(D_dnsbl) debug_printf("using result of previous DNS lookup\n");
+ HDEBUG(D_dnsbl) debug_printf("dnslists: using result of previous lookup\n");
}
/* If not cached from a previous lookup, we must do a DNS lookup, and
@@ -3404,7 +3404,7 @@ cache the result in permanent memory. */
else
{
- uint ttl = 3600;
+ uint ttl = 3600; /* max TTL for positive cache entries */
store_pool = POOL_PERM;
@@ -3439,34 +3439,58 @@ else
addresses generated in that way as well.
Mark the cache entry with the "now" plus the minimum of the address TTLs,
- or some suitably far-future time if none were found. */
+ or the RFC 2308 negative-cache value from the SOA if none were found. */
- if (cb->rc == DNS_SUCCEED)
+ switch (cb->rc)
{
- dns_address ** addrp = &(cb->rhs);
- for (dns_record * rr = dns_next_rr(dnsa, &dnss, RESET_ANSWERS); rr;
- rr = dns_next_rr(dnsa, &dnss, RESET_NEXT))
- if (rr->type == T_A)
- {
- dns_address *da = dns_address_from_rr(dnsa, rr);
- if (da)
- {
- *addrp = da;
- while (da->next) da = da->next;
- addrp = &da->next;
+ case DNS_SUCCEED:
+ {
+ dns_address ** addrp = &cb->rhs;
+ dns_address * da;
+ for (dns_record * rr = dns_next_rr(dnsa, &dnss, RESET_ANSWERS); rr;
+ rr = dns_next_rr(dnsa, &dnss, RESET_NEXT))
+ if (rr->type == T_A && (da = dns_address_from_rr(dnsa, rr)))
+ {
+ *addrp = da;
+ while (da->next) da = da->next;
+ addrp = &da->next;
if (ttl > rr->ttl) ttl = rr->ttl;
- }
- }
+ }
+
+ if (cb->rhs)
+ {
+ cb->expiry = time(NULL) + ttl;
+ break;
+ }
+
+ /* If we didn't find any A records, change the return code. This can
+ happen when there is a CNAME record but there are no A records for what
+ it points to. */
+
+ cb->rc = DNS_NODATA;
+ }
+ /*FALLTHROUGH*/
- /* If we didn't find any A records, change the return code. This can
- happen when there is a CNAME record but there are no A records for what
- it points to. */
+ case DNS_NOMATCH:
+ case DNS_NODATA:
+ {
+ /* Although there already is a neg-cache layer maintained by
+ dns_basic_lookup(), we have a dnslist cache entry allocated and
+ tree-inserted. So we may as well use it. */
- if (!cb->rhs) cb->rc = DNS_NODATA;
+ time_t soa_negttl = dns_expire_from_soa(dnsa);
+ cb->expiry = soa_negttl ? soa_negttl : time(NULL) + ttl;
+ break;
+ }
+
+ default:
+ cb->expiry = time(NULL) + ttl;
+ break;
}
- cb->expiry = time(NULL)+ttl;
store_pool = old_pool;
+ HDEBUG(D_dnsbl) debug_printf("dnslists: wrote cache entry, ttl=%d\n",
+ (int)(cb->expiry - time(NULL)));
}
/* We now have the result of the DNS lookup, either newly done, or cached
@@ -3477,7 +3501,7 @@ list (introduced by "&"), or a negative bitmask list (introduced by "!&").*/
if (cb->rc == DNS_SUCCEED)
{
- dns_address *da = NULL;
+ dns_address * da = NULL;
uschar *addlist = cb->rhs->address;
/* For A and AAAA records, there may be multiple addresses from multiple
@@ -3714,7 +3738,7 @@ dns_init(FALSE, FALSE, FALSE); /*XXX dnssec? */
/* Loop through all the domains supplied, until something matches */
-while ((domain = string_nextinlist(&list, &sep, buffer, sizeof(buffer))) != NULL)
+while ((domain = string_nextinlist(&list, &sep, buffer, sizeof(buffer))))
{
int rc;
BOOL bitmask = FALSE;
@@ -3724,7 +3748,7 @@ while ((domain = string_nextinlist(&list, &sep, buffer, sizeof(buffer))) != NULL
uschar *iplist;
uschar *key;
- HDEBUG(D_dnsbl) debug_printf("DNS list check: %s\n", domain);
+ HDEBUG(D_dnsbl) debug_printf("dnslists check: %s\n", domain);
/* Deal with special values that change the behaviour on defer */
@@ -3778,8 +3802,7 @@ while ((domain = string_nextinlist(&list, &sep, buffer, sizeof(buffer))) != NULL
set domain_txt == domain. */
domain_txt = domain;
- comma = Ustrchr(domain, ',');
- if (comma != NULL)
+ if ((comma = Ustrchr(domain, ',')))
{
*comma++ = 0;
domain = comma;
@@ -3821,7 +3844,7 @@ while ((domain = string_nextinlist(&list, &sep, buffer, sizeof(buffer))) != NULL
acl_wherenames[where]);
return ERROR;
}
- if (sender_host_address == NULL) return FAIL; /* can never match */
+ if (!sender_host_address) return FAIL; /* can never match */
if (revadd[0] == 0) invert_address(revadd, sender_host_address);
rc = one_check_dnsbl(domain, domain_txt, sender_host_address, revadd,
iplist, bitmask, match_type, defer_return);
@@ -3843,11 +3866,9 @@ while ((domain = string_nextinlist(&list, &sep, buffer, sizeof(buffer))) != NULL
int keysep = 0;
BOOL defer = FALSE;
uschar *keydomain;
- uschar keybuffer[256];
uschar keyrevadd[128];
- while ((keydomain = string_nextinlist(CUSS &key, &keysep, keybuffer,
- sizeof(keybuffer))) != NULL)
+ while ((keydomain = string_nextinlist(CUSS &key, &keysep, NULL, 0)))
{
uschar *prepend = keydomain;
@@ -3859,7 +3880,6 @@ while ((domain = string_nextinlist(&list, &sep, buffer, sizeof(buffer))) != NULL
rc = one_check_dnsbl(domain, domain_txt, keydomain, prepend, iplist,
bitmask, match_type, defer_return);
-
if (rc == OK)
{
dnslist_domain = string_copy(domain_txt);
diff --git a/test/dnszones-src/db.test.ex b/test/dnszones-src/db.test.ex
index d096f8fb6..be51093e8 100644
--- a/test/dnszones-src/db.test.ex
+++ b/test/dnszones-src/db.test.ex
@@ -172,7 +172,7 @@ cname4 CNAME thishost
; V4NET.11.12.13 is deliberately not reverse-registered
-13.12.11.V4NET.rbl A 127.0.0.2
+TTL=1 13.12.11.V4NET.rbl A 127.0.0.2
TXT "This is a test blacklisting message"
TTL=2 14.12.11.V4NET.rbl A 127.0.0.2
TXT "This is a test blacklisting message"
diff --git a/test/scripts/0000-Basic/0044 b/test/scripts/0000-Basic/0044
index 90870b700..0286aed69 100644
--- a/test/scripts/0000-Basic/0044
+++ b/test/scripts/0000-Basic/0044
@@ -1,9 +1,13 @@
# RBL blocking (unregistered host)
-exim -bh V4NET.11.12.13
+#
+# The list2 checks the dnslist layer positive caching
+# We cannot check the cache ttl because -bh defeats delays
+exim -d -bh V4NET.11.12.13
ehlo exim.test.ex
mail from:postmaster@exim.test.ex
rcpt to:<postmaster@exim.test.ex>
rcpt to:list@exim.test.ex
+rcpt to:list2@exim.test.ex
data
test data
.
@@ -18,4 +22,11 @@ test data
.
quit
****
+#
+# check negative-cache ttl
+exim -d -bh V4NET.99.99.99
+ehlo exim.test.ex
+mail from:postmaster@exim.test.ex
+rcpt to:list@exim.test.ex
+****
no_msglog_check
diff --git a/test/stderr/0023 b/test/stderr/0023
index cb371d298..140fc7ac6 100644
--- a/test/stderr/0023
+++ b/test/stderr/0023
@@ -653,8 +653,9 @@ LOG: H=[5.6.13.1] F=<x@y> rejected RCPT <x2@y>
>>> message: host in DNS list $dnslist_domain: $dnslist_text
>>> l_message: DNSLIST ($dnslist_domain: $dnslist_text)
>>> check dnslists = rbl.test.ex
->>> DNS list check: rbl.test.ex
+>>> dnslists check: rbl.test.ex
>>> new DNS lookup for 13.12.11.V4NET.rbl.test.ex
+>>> dnslists: wrote cache entry, ttl=1
>>> DNS lookup for 13.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
>>> => that means V4NET.11.12.13 is listed at rbl.test.ex
>>> deny: condition test succeeded in ACL "acl_V4NET_11_12"
@@ -665,8 +666,8 @@ LOG: H=[V4NET.11.12.13] F=<x@y> rejected RCPT <x@y>: DNSLIST (rbl.test.ex: This
>>> message: host in DNS list $dnslist_domain: $dnslist_text
>>> l_message: DNSLIST ($dnslist_domain: $dnslist_text)
>>> check dnslists = rbl.test.ex
->>> DNS list check: rbl.test.ex
->>> using result of previous DNS lookup
+>>> dnslists check: rbl.test.ex
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 13.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
>>> => that means V4NET.11.12.13 is listed at rbl.test.ex
>>> deny: condition test succeeded in ACL "acl_V4NET_11_12"
@@ -685,8 +686,9 @@ LOG: H=[V4NET.11.12.13] F=<x@y> rejected RCPT <x1@y>: DNSLIST (rbl.test.ex: This
>>> message: host in DNS list $dnslist_domain: $dnslist_text
>>> l_message: DNSLIST ($dnslist_domain: $dnslist_text)
>>> check dnslists = rbl.test.ex
->>> DNS list check: rbl.test.ex
+>>> dnslists check: rbl.test.ex
>>> new DNS lookup for 12.12.11.V4NET.rbl.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for 12.12.11.V4NET.rbl.test.ex failed
>>> => that means V4NET.11.12.12 is not listed at rbl.test.ex
>>> deny: condition test failed in ACL "acl_V4NET_11_12"
@@ -698,8 +700,8 @@ LOG: H=[V4NET.11.12.13] F=<x@y> rejected RCPT <x1@y>: DNSLIST (rbl.test.ex: This
>>> message: host in DNS list $dnslist_domain: $dnslist_text
>>> l_message: DNSLIST ($dnslist_domain: $dnslist_text)
>>> check dnslists = rbl.test.ex
->>> DNS list check: rbl.test.ex
->>> using result of previous DNS lookup
+>>> dnslists check: rbl.test.ex
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 12.12.11.V4NET.rbl.test.ex failed
>>> => that means V4NET.11.12.12 is not listed at rbl.test.ex
>>> deny: condition test failed in ACL "acl_V4NET_11_12"
@@ -1168,8 +1170,9 @@ LOG: H=[V4NET.99.99.96] F=<> temporarily rejected RCPT <x@y>: host lookup deferr
>>> processing "deny" (TESTSUITE/test-config 154)
>>> check dnslists = test.ex/$sender_address_domain
>>> = test.ex/localhost
->>> DNS list check: test.ex/localhost
+>>> dnslists check: test.ex/localhost
>>> new DNS lookup for localhost.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for localhost.test.ex succeeded (yielding 127.0.0.1)
>>> => that means localhost is listed at test.ex
>>> deny: condition test succeeded in ACL "acl_29_29_29"
@@ -1179,8 +1182,9 @@ LOG: H=[29.29.29.29] F=<a@localhost> rejected RCPT <x@y>
>>> processing "deny" (TESTSUITE/test-config 154)
>>> check dnslists = test.ex/$sender_address_domain
>>> = test.ex/elsewhere
->>> DNS list check: test.ex/elsewhere
+>>> dnslists check: test.ex/elsewhere
>>> new DNS lookup for elsewhere.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for elsewhere.test.ex failed
>>> => that means elsewhere is not listed at test.ex
>>> deny: condition test failed in ACL "acl_29_29_29"
@@ -1200,8 +1204,9 @@ LOG: H=[29.29.29.29] F=<a@localhost> rejected RCPT <x@y>
>>> message: domain=$dnslist_domain\nvalue=$dnslist_value\nmatched=$dnslist_matched\ntext="$dnslist_text"
>>> check dnslists = test.ex=V4NET.0.0.1,127.0.0.2/$sender_address_domain
>>> = test.ex=V4NET.0.0.1,127.0.0.2/ten-1
->>> DNS list check: test.ex=V4NET.0.0.1,127.0.0.2/ten-1
+>>> dnslists check: test.ex=V4NET.0.0.1,127.0.0.2/ten-1
>>> new DNS lookup for ten-1.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for ten-1.test.ex succeeded (yielding V4NET.0.0.1)
>>> => that means ten-1 is listed at test.ex
>>> deny: condition test succeeded in ACL "acl_30_30_30"
@@ -1212,8 +1217,9 @@ LOG: H=[30.30.30.30] F=<a@ten-1> rejected RCPT <x@y>: domain=test.ex
>>> message: domain=$dnslist_domain\nvalue=$dnslist_value\nmatched=$dnslist_matched\ntext="$dnslist_text"
>>> check dnslists = test.ex=V4NET.0.0.1,127.0.0.2/$sender_address_domain
>>> = test.ex=V4NET.0.0.1,127.0.0.2/ten-2
->>> DNS list check: test.ex=V4NET.0.0.1,127.0.0.2/ten-2
+>>> dnslists check: test.ex=V4NET.0.0.1,127.0.0.2/ten-2
>>> new DNS lookup for ten-2.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for ten-2.test.ex succeeded (yielding V4NET.0.0.2)
>>> => but we are not accepting this block class because
>>> => there was no match for =V4NET.0.0.1,127.0.0.2
@@ -1227,8 +1233,9 @@ LOG: H=[30.30.30.30] F=<a@ten-1> rejected RCPT <x@y>: domain=test.ex
>>> message: domain=$dnslist_domain\nvalue=$dnslist_value\nmatched=$dnslist_matched\ntext="$dnslist_text"
>>> check dnslists = test.ex=V4NET.0.0.1,127.0.0.2/$sender_address_domain
>>> = test.ex=V4NET.0.0.1,127.0.0.2/13.12.11.V4NET.rbl
->>> DNS list check: test.ex=V4NET.0.0.1,127.0.0.2/13.12.11.V4NET.rbl
+>>> dnslists check: test.ex=V4NET.0.0.1,127.0.0.2/13.12.11.V4NET.rbl
>>> new DNS lookup for 13.12.11.V4NET.rbl.test.ex
+>>> dnslists: wrote cache entry, ttl=1
>>> DNS lookup for 13.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
>>> => that means 13.12.11.V4NET.rbl is listed at test.ex
>>> deny: condition test succeeded in ACL "acl_30_30_30"
@@ -1246,8 +1253,8 @@ LOG: H=[30.30.30.30] F=<a@13.12.11.V4NET.rbl> rejected RCPT <x@y>: domain=test.e
>>> processing "deny" (TESTSUITE/test-config 167)
>>> check dnslists = test.ex/$sender_address_domain+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+END
>>> = test.ex/y+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+END
->>> DNS list check: test.ex/y+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+END
-LOG: dnslist query is too long (ignored): y+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+e...
+>>> dnslists check: test.ex/y+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+END
+LOG: dnslist query is too long (ignored): y+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+extra+...
>>> deny: condition test failed in ACL "acl_31_31_31"
>>> processing "accept" (TESTSUITE/test-config 168)
>>> accept: condition test succeeded in ACL "acl_31_31_31"
@@ -1293,31 +1300,32 @@ LOG: H=[33.33.33.33] F=<x@y> rejected RCPT <x2@y>: Sender verify failed
>>> using ACL "acl_44_44_44"
>>> processing "warn" (TESTSUITE/test-config 192)
>>> check dnslists = test.again.dns
->>> DNS list check: test.again.dns
+>>> dnslists check: test.again.dns
>>> new DNS lookup for 1.44.44.44.test.again.dns
>>> 1.44.44.44.test.again.dns in dns_again_means_nonexist? no (option unset)
+>>> dnslists: wrote cache entry, ttl=3600
LOG: DNS list lookup defer (probably timeout) for 1.44.44.44.test.again.dns: assumed not in list
>>> warn: condition test failed in ACL "acl_44_44_44"
>>> processing "warn" (TESTSUITE/test-config 193)
>>> check dnslists = +include_unknown : test.again.dns
->>> DNS list check: +include_unknown
->>> DNS list check: test.again.dns
->>> using result of previous DNS lookup
+>>> dnslists check: +include_unknown
+>>> dnslists check: test.again.dns
+>>> dnslists: using result of previous lookup
LOG: DNS list lookup defer (probably timeout) for 1.44.44.44.test.again.dns: assumed in list
>>> => that means 44.44.44.1 is listed at test.again.dns
>>> warn: condition test succeeded in ACL "acl_44_44_44"
>>> processing "warn" (TESTSUITE/test-config 194)
>>> check dnslists = +exclude_unknown : test.again.dns
->>> DNS list check: +exclude_unknown
->>> DNS list check: test.again.dns
->>> using result of previous DNS lookup
+>>> dnslists check: +exclude_unknown
+>>> dnslists check: test.again.dns
+>>> dnslists: using result of previous lookup
LOG: DNS list lookup defer (probably timeout) for 1.44.44.44.test.again.dns: assumed not in list
>>> warn: condition test failed in ACL "acl_44_44_44"
>>> processing "warn" (TESTSUITE/test-config 195)
>>> check dnslists = +defer_unknown : test.again.dns
->>> DNS list check: +defer_unknown
->>> DNS list check: test.again.dns
->>> using result of previous DNS lookup
+>>> dnslists check: +defer_unknown
+>>> dnslists check: test.again.dns
+>>> dnslists: using result of previous lookup
LOG: DNS list lookup defer (probably timeout) for 1.44.44.44.test.again.dns: returned DEFER
>>> warn: condition test deferred in ACL "acl_44_44_44"
LOG: H=[44.44.44.1] Warning: ACL "warn" statement skipped: condition test deferred
diff --git a/test/stderr/0044 b/test/stderr/0044
index 6d0d65eb5..0a2b983b4 100644
--- a/test/stderr/0044
+++ b/test/stderr/0044
@@ -1,51 +1,149 @@
->>> host in hosts_connection_nolog? no (option unset)
->>> host in host_lookup? no (option unset)
->>> host in host_reject_connection? no (option unset)
->>> host in sender_unqualified_hosts? no (option unset)
->>> host in recipient_unqualified_hosts? no (option unset)
->>> host in helo_verify_hosts? no (option unset)
->>> host in helo_try_verify_hosts? no (option unset)
->>> host in helo_accept_junk_hosts? no (option unset)
->>> exim.test.ex in helo_lookup_domains? no (end of list)
->>> host in dsn_advertise_hosts? no (option unset)
->>> host in pipelining_advertise_hosts? yes (matched "*")
->>> host in chunking_advertise_hosts? no (end of list)
->>> using ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 19)
->>> check hosts = :
->>> host in ":"? no (end of list)
->>> accept: condition test failed in ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 20)
->>> check recipients = postmaster@exim.test.ex
->>> exim.test.ex in "exim.test.ex"? yes (matched "exim.test.ex")
->>> postmaster@exim.test.ex in "postmaster@exim.test.ex"? yes (matched "postmaster@exim.test.ex")
->>> accept: condition test succeeded in ACL "check_recipient"
->>> end of ACL "check_recipient": ACCEPT
->>> using ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 19)
->>> check hosts = :
->>> host in ":"? no (end of list)
->>> accept: condition test failed in ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 20)
->>> check recipients = postmaster@exim.test.ex
->>> list@exim.test.ex in "postmaster@exim.test.ex"? no (end of list)
->>> accept: condition test failed in ACL "check_recipient"
->>> processing "accept" (TESTSUITE/test-config 21)
->>> check senders = myfriend@*
->>> postmaster@exim.test.ex in "myfriend@*"? no (end of list)
->>> accept: condition test failed in ACL "check_recipient"
->>> processing "deny" (TESTSUITE/test-config 22)
->>> message: host is listed in $dnslist_domain
->>> check dnslists = rbl.test.ex
->>> DNS list check: rbl.test.ex
->>> new DNS lookup for 13.12.11.V4NET.rbl.test.ex
->>> DNS lookup for 13.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
->>> => that means V4NET.11.12.13 is listed at rbl.test.ex
->>> deny: condition test succeeded in ACL "check_recipient"
->>> end of ACL "check_recipient": DENY
-LOG: H=(exim.test.ex) [V4NET.11.12.13] F=<postmaster@exim.test.ex> rejected RCPT list@exim.test.ex: host is listed in rbl.test.ex
->>> host in ignore_fromline_hosts? no (option unset)
-LOG: 10HmaX-0005vi-00 <= postmaster@exim.test.ex H=(exim.test.ex) [V4NET.11.12.13] P=esmtp S=sss
+Exim version x.yz ....
+changed uid/gid: forcing real = effective
+ uid=uuuu gid=CALLER_GID pid=pppp
+configuration file is TESTSUITE/test-config
+admin user
+changed uid/gid: privilege not needed
+ uid=EXIM_UID gid=EXIM_GID pid=pppp
+seeking password data for user "CALLER": cache not available
+getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
+originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
+sender address = CALLER@exim.test.ex
+sender_fullhost = [V4NET.11.12.13]
+sender_rcvhost = [V4NET.11.12.13]
+host in hosts_connection_nolog? no (option unset)
+LOG: smtp_connection MAIN
+ SMTP connection from [V4NET.11.12.13]
+host in host_lookup? no (option unset)
+set_process_info: pppp handling incoming connection from [V4NET.11.12.13]
+host in host_reject_connection? no (option unset)
+host in sender_unqualified_hosts? no (option unset)
+host in recipient_unqualified_hosts? no (option unset)
+host in helo_verify_hosts? no (option unset)
+host in helo_try_verify_hosts? no (option unset)
+host in helo_accept_junk_hosts? no (option unset)
+SMTP>> 220 the.local.host.name ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+smtp_setup_msg entered
+SMTP<< ehlo exim.test.ex
+exim.test.ex in helo_lookup_domains? no (end of list)
+sender_fullhost = (exim.test.ex) [V4NET.11.12.13]
+sender_rcvhost = [V4NET.11.12.13] (helo=exim.test.ex)
+set_process_info: pppp handling incoming connection from (exim.test.ex) [V4NET.11.12.13]
+host in dsn_advertise_hosts? no (option unset)
+host in pipelining_advertise_hosts? yes (matched "*")
+host in chunking_advertise_hosts? no (end of list)
+SMTP>> 250-the.local.host.name Hello exim.test.ex [V4NET.11.12.13]
+250-SIZE 52428800
+250-8BITMIME
+250-PIPELINING
+250 HELP
+SMTP<< mail from:postmaster@exim.test.ex
+spool directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100 msg_size = 0
+log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100
+SMTP>> 250 OK
+SMTP<< rcpt to:<postmaster@exim.test.ex>
+using ACL "check_recipient"
+processing "accept" (TESTSUITE/test-config 19)
+check hosts = :
+host in ":"? no (end of list)
+accept: condition test failed in ACL "check_recipient"
+processing "accept" (TESTSUITE/test-config 20)
+check recipients = postmaster@exim.test.ex
+address match test: subject=postmaster@exim.test.ex pattern=postmaster@exim.test.ex
+exim.test.ex in "exim.test.ex"? yes (matched "exim.test.ex")
+postmaster@exim.test.ex in "postmaster@exim.test.ex"? yes (matched "postmaster@exim.test.ex")
+accept: condition test succeeded in ACL "check_recipient"
+end of ACL "check_recipient": ACCEPT
+SMTP>> 250 Accepted
+DSN: orcpt: NULL flags: 0
+SMTP<< rcpt to:list@exim.test.ex
+using ACL "check_recipient"
+processing "accept" (TESTSUITE/test-config 19)
+check hosts = :
+host in ":"? no (end of list)
+accept: condition test failed in ACL "check_recipient"
+processing "accept" (TESTSUITE/test-config 20)
+check recipients = postmaster@exim.test.ex
+address match test: subject=list@exim.test.ex pattern=postmaster@exim.test.ex
+list@exim.test.ex in "postmaster@exim.test.ex"? no (end of list)
+accept: condition test failed in ACL "check_recipient"
+processing "accept" (TESTSUITE/test-config 21)
+check senders = myfriend@*
+address match test: subject=postmaster@exim.test.ex pattern=myfriend@*
+postmaster@exim.test.ex in "myfriend@*"? no (end of list)
+accept: condition test failed in ACL "check_recipient"
+processing "deny" (TESTSUITE/test-config 22)
+ message: host is listed in $dnslist_domain
+check dnslists = rbl.test.ex
+dnslists check: rbl.test.ex
+new DNS lookup for 13.12.11.V4NET.rbl.test.ex
+DNS lookup of 13.12.11.V4NET.rbl.test.ex (A) using fakens
+DNS lookup of 13.12.11.V4NET.rbl.test.ex (A) succeeded
+dnslists: wrote cache entry, ttl=1
+DNS lookup for 13.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
+DNS lookup of 13.12.11.V4NET.rbl.test.ex (TXT) using fakens
+DNS lookup of 13.12.11.V4NET.rbl.test.ex (TXT) succeeded
+=> that means V4NET.11.12.13 is listed at rbl.test.ex
+deny: condition test succeeded in ACL "check_recipient"
+end of ACL "check_recipient": DENY
+SMTP>> 550 host is listed in rbl.test.ex
+LOG: MAIN REJECT
+ H=(exim.test.ex) [V4NET.11.12.13] F=<postmaster@exim.test.ex> rejected RCPT list@exim.test.ex: host is listed in rbl.test.ex
+SMTP<< rcpt to:list2@exim.test.ex
+using ACL "check_recipient"
+processing "accept" (TESTSUITE/test-config 19)
+check hosts = :
+host in ":"? no (end of list)
+accept: condition test failed in ACL "check_recipient"
+processing "accept" (TESTSUITE/test-config 20)
+check recipients = postmaster@exim.test.ex
+address match test: subject=list2@exim.test.ex pattern=postmaster@exim.test.ex
+list2@exim.test.ex in "postmaster@exim.test.ex"? no (end of list)
+accept: condition test failed in ACL "check_recipient"
+processing "accept" (TESTSUITE/test-config 21)
+check senders = myfriend@*
+address match test: subject=postmaster@exim.test.ex pattern=myfriend@*
+postmaster@exim.test.ex in "myfriend@*"? no (end of list)
+accept: condition test failed in ACL "check_recipient"
+processing "deny" (TESTSUITE/test-config 22)
+ message: host is listed in $dnslist_domain
+check dnslists = rbl.test.ex
+dnslists check: rbl.test.ex
+dnslists: using result of previous lookup
+DNS lookup for 13.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
+=> that means V4NET.11.12.13 is listed at rbl.test.ex
+deny: condition test succeeded in ACL "check_recipient"
+end of ACL "check_recipient": DENY
+SMTP>> 550 host is listed in rbl.test.ex
+LOG: MAIN REJECT
+ H=(exim.test.ex) [V4NET.11.12.13] F=<postmaster@exim.test.ex> rejected RCPT list2@exim.test.ex: host is listed in rbl.test.ex
+SMTP<< data
+SMTP>> 354 Enter message, ending with "." on a line by itself
+search_tidyup called
+host in ignore_fromline_hosts? no (option unset)
+>>Headers received:
+
+search_tidyup called
+>>Headers after rewriting and local additions:
+
+Data file name: TESTSUITE/spool//input//10HmaX-0005vi-00-D
+Data file written for message 10HmaX-0005vi-00
+>>Generated Received: header line
+P Received: from [V4NET.11.12.13] (helo=exim.test.ex)
+ by the.local.host.name with esmtp (Exim x.yz)
+ (envelope-from <postmaster@exim.test.ex>)
+ id 10HmaX-0005vi-00
+ for postmaster@exim.test.ex; Tue, 2 Mar 1999 09:44:33 +0000
+LOG: MAIN
+ <= postmaster@exim.test.ex H=(exim.test.ex) [V4NET.11.12.13] P=esmtp S=sss
+SMTP>> 250 OK id=10HmaX-0005vi-00
+smtp_setup_msg entered
+SMTP<< quit
+SMTP>> 221 the.local.host.name closing connection
+LOG: smtp_connection MAIN
+ SMTP connection from (exim.test.ex) [V4NET.11.12.13] closed by QUIT
+search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
>>> host in hosts_connection_nolog? no (option unset)
>>> host in host_lookup? no (option unset)
>>> host in host_reject_connection? no (option unset)
@@ -75,3 +173,104 @@ LOG: 10HmaX-0005vi-00 <= postmaster@exim.test.ex H=(exim.test.ex) [V4NET.11.12.1
>>> end of ACL "check_recipient": ACCEPT
>>> host in ignore_fromline_hosts? no (option unset)
LOG: 10HmaY-0005vi-00 <= myfriend@there.test.ex H=(exim.test.ex) [V4NET.11.12.13] P=esmtp S=sss
+Exim version x.yz ....
+changed uid/gid: forcing real = effective
+ uid=uuuu gid=CALLER_GID pid=pppp
+configuration file is TESTSUITE/test-config
+admin user
+changed uid/gid: privilege not needed
+ uid=EXIM_UID gid=EXIM_GID pid=pppp
+seeking password data for user "CALLER": cache not available
+getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
+originator: uid=CALLER_UID gid=CALLER_GID login=CALLER name=CALLER_NAME
+sender address = CALLER@exim.test.ex
+sender_fullhost = [V4NET.99.99.99]
+sender_rcvhost = [V4NET.99.99.99]
+host in hosts_connection_nolog? no (option unset)
+LOG: smtp_connection MAIN
+ SMTP connection from [V4NET.99.99.99]
+host in host_lookup? no (option unset)
+set_process_info: pppp handling incoming connection from [V4NET.99.99.99]
+host in host_reject_connection? no (option unset)
+host in sender_unqualified_hosts? no (option unset)
+host in recipient_unqualified_hosts? no (option unset)
+host in helo_verify_hosts? no (option unset)
+host in helo_try_verify_hosts? no (option unset)
+host in helo_accept_junk_hosts? no (option unset)
+SMTP>> 220 the.local.host.name ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+smtp_setup_msg entered
+SMTP<< ehlo exim.test.ex
+exim.test.ex in helo_lookup_domains? no (end of list)
+sender_fullhost = (exim.test.ex) [V4NET.99.99.99]
+sender_rcvhost = [V4NET.99.99.99] (helo=exim.test.ex)
+set_process_info: pppp handling incoming connection from (exim.test.ex) [V4NET.99.99.99]
+host in dsn_advertise_hosts? no (option unset)
+host in pipelining_advertise_hosts? yes (matched "*")
+host in chunking_advertise_hosts? no (end of list)
+SMTP>> 250-the.local.host.name Hello exim.test.ex [V4NET.99.99.99]
+250-SIZE 52428800
+250-8BITMIME
+250-PIPELINING
+250 HELP
+SMTP<< mail from:postmaster@exim.test.ex
+spool directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100 msg_size = 0
+log directory space = nnnnnK inodes = nnnnn check_space = 10240K inodes = 100
+SMTP>> 250 OK
+SMTP<< rcpt to:list@exim.test.ex
+using ACL "check_recipient"
+processing "accept" (TESTSUITE/test-config 19)
+check hosts = :
+host in ":"? no (end of list)
+accept: condition test failed in ACL "check_recipient"
+processing "accept" (TESTSUITE/test-config 20)
+check recipients = postmaster@exim.test.ex
+address match test: subject=list@exim.test.ex pattern=postmaster@exim.test.ex
+list@exim.test.ex in "postmaster@exim.test.ex"? no (end of list)
+accept: condition test failed in ACL "check_recipient"
+processing "accept" (TESTSUITE/test-config 21)
+check senders = myfriend@*
+address match test: subject=postmaster@exim.test.ex pattern=myfriend@*
+postmaster@exim.test.ex in "myfriend@*"? no (end of list)
+accept: condition test failed in ACL "check_recipient"
+processing "deny" (TESTSUITE/test-config 22)
+ message: host is listed in $dnslist_domain
+check dnslists = rbl.test.ex
+dnslists check: rbl.test.ex
+new DNS lookup for 99.99.99.V4NET.rbl.test.ex
+DNS lookup of 99.99.99.V4NET.rbl.test.ex (A) using fakens
+DNS lookup of 99.99.99.V4NET.rbl.test.ex (A) gave HOST_NOT_FOUND
+returning DNS_NOMATCH
+ writing neg-cache entry for 99.99.99.V4NET.rbl.test.ex-A-xxxx, ttl 5
+dnslists: wrote cache entry, ttl=5
+DNS lookup for 99.99.99.V4NET.rbl.test.ex failed
+=> that means V4NET.99.99.99 is not listed at rbl.test.ex
+deny: condition test failed in ACL "check_recipient"
+processing "require" (TESTSUITE/test-config 24)
+check verify = sender
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Verifying postmaster@exim.test.ex
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+Considering postmaster@exim.test.ex
+>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+routing postmaster@exim.test.ex
+--------> localuser router <--------
+local_part=postmaster domain=exim.test.ex
+checking local_parts
+postmaster in "userx"? no (end of list)
+localuser router skipped: local_parts mismatch
+no more routers
+----------- end verify ------------
+require: condition test failed in ACL "check_recipient"
+end of ACL "check_recipient": not OK
+LOG: MAIN REJECT
+ H=(exim.test.ex) [V4NET.99.99.99] sender verify fail for <postmaster@exim.test.ex>: Unrouteable address
+SMTP>> 550-Verification failed for <postmaster@exim.test.ex>
+SMTP>> 550-Unrouteable address
+SMTP>> 550 Sender verify failed
+LOG: MAIN REJECT
+ H=(exim.test.ex) [V4NET.99.99.99] F=<postmaster@exim.test.ex> rejected RCPT list@exim.test.ex: Sender verify failed
+SMTP>> 421 the.local.host.name lost input connection
+LOG: lost_incoming_connection MAIN
+ unexpected disconnection while reading SMTP command from (exim.test.ex) [V4NET.99.99.99] D=qqs
+search_tidyup called
+>>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=0 >>>>>>>>>>>>>>>>
diff --git a/test/stderr/0079 b/test/stderr/0079
index d4d5293ab..9e4b559bb 100644
--- a/test/stderr/0079
+++ b/test/stderr/0079
@@ -19,8 +19,9 @@
>>> message: X-Warning: $sender_host_address is blacklisted at $dnslist_domain
>>> l_message: $sender_host_address is in $dnslist_domain
>>> check dnslists = rbl.test.ex
->>> DNS list check: rbl.test.ex
+>>> dnslists check: rbl.test.ex
>>> new DNS lookup for 14.12.11.V4NET.rbl.test.ex
+>>> dnslists: wrote cache entry, ttl=2
>>> DNS lookup for 14.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
>>> => that means V4NET.11.12.14 is listed at rbl.test.ex
>>> warn: condition test succeeded in ACL "check_recipient"
@@ -32,8 +33,9 @@ LOG: H=(exim.test.ex) [V4NET.11.12.14] Warning: V4NET.11.12.14 is in rbl.test.ex
>>> exim.test.ex in "exim.test.ex"? yes (matched "exim.test.ex")
>>> postmaster@exim.test.ex in "postmaster@exim.test.ex"? yes (matched "postmaster@exim.test.ex")
>>> check dnslists = rbl2.test.ex
->>> DNS list check: rbl2.test.ex
+>>> dnslists check: rbl2.test.ex
>>> new DNS lookup for 14.12.11.V4NET.rbl2.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for 14.12.11.V4NET.rbl2.test.ex succeeded (yielding 127.0.0.2)
>>> => that means V4NET.11.12.14 is listed at rbl2.test.ex
>>> warn: condition test succeeded in ACL "check_recipient"
@@ -53,8 +55,8 @@ LOG: H=(exim.test.ex) [V4NET.11.12.14] Warning: accepting postmaster from host i
>>> message: X-Warning: $sender_host_address is blacklisted at $dnslist_domain
>>> l_message: $sender_host_address is in $dnslist_domain
>>> check dnslists = rbl.test.ex
->>> DNS list check: rbl.test.ex
->>> using result of previous DNS lookup
+>>> dnslists check: rbl.test.ex
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 14.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
>>> => that means V4NET.11.12.14 is listed at rbl.test.ex
>>> warn: condition test succeeded in ACL "check_recipient"
@@ -71,8 +73,8 @@ LOG: H=(exim.test.ex) [V4NET.11.12.14] Warning: accepting postmaster from host i
>>> processing "deny" (TESTSUITE/test-config 33)
>>> message: host is listed in $dnslist_domain
>>> check dnslists = rbl2.test.ex
->>> DNS list check: rbl2.test.ex
->>> using result of previous DNS lookup
+>>> dnslists check: rbl2.test.ex
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 14.12.11.V4NET.rbl2.test.ex succeeded (yielding 127.0.0.2)
>>> => that means V4NET.11.12.14 is listed at rbl2.test.ex
>>> deny: condition test succeeded in ACL "check_recipient"
diff --git a/test/stderr/0080 b/test/stderr/0080
index d8c7d213b..6d893b737 100644
--- a/test/stderr/0080
+++ b/test/stderr/0080
@@ -25,8 +25,9 @@
>>> processing "deny" (TESTSUITE/test-config 20)
>>> message: host is listed in $dnslist_domain
>>> check dnslists = rbl.test.ex:rbl2.test.ex
->>> DNS list check: rbl.test.ex
+>>> dnslists check: rbl.test.ex
>>> new DNS lookup for 14.12.11.V4NET.rbl.test.ex
+>>> dnslists: wrote cache entry, ttl=2
>>> DNS lookup for 14.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
>>> => that means V4NET.11.12.14 is listed at rbl.test.ex
>>> deny: condition test succeeded in ACL "check_recipient"
diff --git a/test/stderr/0138 b/test/stderr/0138
index 152dd0ad2..ed7121bb2 100644
--- a/test/stderr/0138
+++ b/test/stderr/0138
@@ -21,8 +21,9 @@
>>> accept: condition test failed in ACL "check_recipient"
>>> processing "accept" (TESTSUITE/test-config 19)
>>> check dnslists = rbl3.test.ex
->>> DNS list check: rbl3.test.ex
+>>> dnslists check: rbl3.test.ex
>>> new DNS lookup for 14.12.11.V4NET.rbl3.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for 14.12.11.V4NET.rbl3.test.ex succeeded (yielding 127.0.0.2)
>>> => that means V4NET.11.12.14 is listed at rbl3.test.ex
>>> accept: condition test succeeded in ACL "check_recipient"
@@ -38,8 +39,8 @@
>>> accept: condition test failed in ACL "check_recipient"
>>> processing "accept" (TESTSUITE/test-config 19)
>>> check dnslists = rbl3.test.ex
->>> DNS list check: rbl3.test.ex
->>> using result of previous DNS lookup
+>>> dnslists check: rbl3.test.ex
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 14.12.11.V4NET.rbl3.test.ex succeeded (yielding 127.0.0.2)
>>> => that means V4NET.11.12.14 is listed at rbl3.test.ex
>>> accept: condition test succeeded in ACL "check_recipient"
@@ -69,24 +70,27 @@ LOG: 10HmaX-0005vi-00 <= postmaster@exim.test.ex H=(exim.test.ex) [V4NET.11.12.1
>>> accept: condition test failed in ACL "check_recipient"
>>> processing "accept" (TESTSUITE/test-config 19)
>>> check dnslists = rbl3.test.ex
->>> DNS list check: rbl3.test.ex
+>>> dnslists check: rbl3.test.ex
>>> new DNS lookup for 13.12.11.V4NET.rbl3.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for 13.12.11.V4NET.rbl3.test.ex failed
>>> => that means V4NET.11.12.13 is not listed at rbl3.test.ex
>>> accept: condition test failed in ACL "check_recipient"
>>> processing "deny" (TESTSUITE/test-config 20)
>>> message: host is listed in $dnslist_domain
>>> check dnslists = rbl2.test.ex
->>> DNS list check: rbl2.test.ex
+>>> dnslists check: rbl2.test.ex
>>> new DNS lookup for 13.12.11.V4NET.rbl2.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for 13.12.11.V4NET.rbl2.test.ex failed
>>> => that means V4NET.11.12.13 is not listed at rbl2.test.ex
>>> deny: condition test failed in ACL "check_recipient"
>>> processing "warn" (TESTSUITE/test-config 22)
>>> message: X-Warning: $sender_host_address is listed at $dnslist_domain
>>> check dnslists = rbl.test.ex
->>> DNS list check: rbl.test.ex
+>>> dnslists check: rbl.test.ex
>>> new DNS lookup for 13.12.11.V4NET.rbl.test.ex
+>>> dnslists: wrote cache entry, ttl=1
>>> DNS lookup for 13.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
>>> => that means V4NET.11.12.13 is listed at rbl.test.ex
>>> warn: condition test succeeded in ACL "check_recipient"
diff --git a/test/stderr/0139 b/test/stderr/0139
index ef7063b9c..1e9451677 100644
--- a/test/stderr/0139
+++ b/test/stderr/0139
@@ -9,29 +9,30 @@
>>> using ACL "check_mail"
>>> processing "warn" (TESTSUITE/test-config 36)
>>> check dnslists = rbl4.test.ex&0.0.0.6
->>> DNS list check: rbl4.test.ex&0.0.0.6
+>>> dnslists check: rbl4.test.ex&0.0.0.6
>>> new DNS lookup for 14.12.11.V4NET.rbl4.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for 14.12.11.V4NET.rbl4.test.ex failed
>>> => that means V4NET.11.12.14 is not listed at rbl4.test.ex
>>> warn: condition test failed in ACL "check_mail"
>>> processing "warn" (TESTSUITE/test-config 37)
>>> check dnslists = rbl4.test.ex&127.0.0.3
->>> DNS list check: rbl4.test.ex&127.0.0.3
->>> using result of previous DNS lookup
+>>> dnslists check: rbl4.test.ex&127.0.0.3
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 14.12.11.V4NET.rbl4.test.ex failed
>>> => that means V4NET.11.12.14 is not listed at rbl4.test.ex
>>> warn: condition test failed in ACL "check_mail"
>>> processing "warn" (TESTSUITE/test-config 38)
>>> check dnslists = rbl4.test.ex!&0.0.0.7
->>> DNS list check: rbl4.test.ex!&0.0.0.7
->>> using result of previous DNS lookup
+>>> dnslists check: rbl4.test.ex!&0.0.0.7
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 14.12.11.V4NET.rbl4.test.ex failed
>>> => that means V4NET.11.12.14 is not listed at rbl4.test.ex
>>> warn: condition test failed in ACL "check_mail"
>>> processing "warn" (TESTSUITE/test-config 40)
>>> check dnslists = rbl5.test.ex,rbl4.test.ex=127.0.0.128
->>> DNS list check: rbl5.test.ex,rbl4.test.ex=127.0.0.128
->>> using result of previous DNS lookup
+>>> dnslists check: rbl5.test.ex,rbl4.test.ex=127.0.0.128
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 14.12.11.V4NET.rbl4.test.ex failed
>>> => that means V4NET.11.12.14 is not listed at rbl4.test.ex
>>> warn: condition test failed in ACL "check_mail"
@@ -42,16 +43,17 @@
>>> processing "warn" (TESTSUITE/test-config 46)
>>> message: X-Warn: host is listed in $dnslist_domain but not =127.0.0.3${if def:dnslist_text{\n $dnslist_text}}
>>> check dnslists = rbl3.test.ex!=127.0.0.3
->>> DNS list check: rbl3.test.ex!=127.0.0.3
+>>> dnslists check: rbl3.test.ex!=127.0.0.3
>>> new DNS lookup for 14.12.11.V4NET.rbl3.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for 14.12.11.V4NET.rbl3.test.ex succeeded (yielding 127.0.0.2)
>>> => that means V4NET.11.12.14 is listed at rbl3.test.ex
>>> warn: condition test succeeded in ACL "check_recipient"
>>> processing "deny" (TESTSUITE/test-config 49)
>>> message: host is listed in $dnslist_domain with value 127.0.0.3${if def:dnslist_text{\n$dnslist_text}}
>>> check dnslists = rbl3.test.ex=127.0.0.3
->>> DNS list check: rbl3.test.ex=127.0.0.3
->>> using result of previous DNS lookup
+>>> dnslists check: rbl3.test.ex=127.0.0.3
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 14.12.11.V4NET.rbl3.test.ex succeeded (yielding 127.0.0.2)
>>> => but we are not accepting this block class because
>>> => there was no match for =127.0.0.3
@@ -93,16 +95,16 @@
>>> processing "warn" (TESTSUITE/test-config 46)
>>> message: X-Warn: host is listed in $dnslist_domain but not =127.0.0.3${if def:dnslist_text{\n $dnslist_text}}
>>> check dnslists = rbl3.test.ex!=127.0.0.3
->>> DNS list check: rbl3.test.ex!=127.0.0.3
->>> using result of previous DNS lookup
+>>> dnslists check: rbl3.test.ex!=127.0.0.3
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 14.12.11.V4NET.rbl3.test.ex succeeded (yielding 127.0.0.2)
>>> => that means V4NET.11.12.14 is listed at rbl3.test.ex
>>> warn: condition test succeeded in ACL "check_recipient"
>>> processing "deny" (TESTSUITE/test-config 49)
>>> message: host is listed in $dnslist_domain with value 127.0.0.3${if def:dnslist_text{\n$dnslist_text}}
>>> check dnslists = rbl3.test.ex=127.0.0.3
->>> DNS list check: rbl3.test.ex=127.0.0.3
->>> using result of previous DNS lookup
+>>> dnslists check: rbl3.test.ex=127.0.0.3
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 14.12.11.V4NET.rbl3.test.ex succeeded (yielding 127.0.0.2)
>>> => but we are not accepting this block class because
>>> => there was no match for =127.0.0.3
@@ -139,29 +141,30 @@ LOG: 10HmaY-0005vi-00 <= postmaster@exim.test.ex H=[V4NET.11.12.14] P=smtp S=sss
>>> using ACL "check_mail"
>>> processing "warn" (TESTSUITE/test-config 36)
>>> check dnslists = rbl4.test.ex&0.0.0.6
->>> DNS list check: rbl4.test.ex&0.0.0.6
+>>> dnslists check: rbl4.test.ex&0.0.0.6
>>> new DNS lookup for 15.12.11.V4NET.rbl4.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for 15.12.11.V4NET.rbl4.test.ex failed
>>> => that means V4NET.11.12.15 is not listed at rbl4.test.ex
>>> warn: condition test failed in ACL "check_mail"
>>> processing "warn" (TESTSUITE/test-config 37)
>>> check dnslists = rbl4.test.ex&127.0.0.3
->>> DNS list check: rbl4.test.ex&127.0.0.3
->>> using result of previous DNS lookup
+>>> dnslists check: rbl4.test.ex&127.0.0.3
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 15.12.11.V4NET.rbl4.test.ex failed
>>> => that means V4NET.11.12.15 is not listed at rbl4.test.ex
>>> warn: condition test failed in ACL "check_mail"
>>> processing "warn" (TESTSUITE/test-config 38)
>>> check dnslists = rbl4.test.ex!&0.0.0.7
->>> DNS list check: rbl4.test.ex!&0.0.0.7
->>> using result of previous DNS lookup
+>>> dnslists check: rbl4.test.ex!&0.0.0.7
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 15.12.11.V4NET.rbl4.test.ex failed
>>> => that means V4NET.11.12.15 is not listed at rbl4.test.ex
>>> warn: condition test failed in ACL "check_mail"
>>> processing "warn" (TESTSUITE/test-config 40)
>>> check dnslists = rbl5.test.ex,rbl4.test.ex=127.0.0.128
->>> DNS list check: rbl5.test.ex,rbl4.test.ex=127.0.0.128
->>> using result of previous DNS lookup
+>>> dnslists check: rbl5.test.ex,rbl4.test.ex=127.0.0.128
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 15.12.11.V4NET.rbl4.test.ex failed
>>> => that means V4NET.11.12.15 is not listed at rbl4.test.ex
>>> warn: condition test failed in ACL "check_mail"
@@ -172,8 +175,9 @@ LOG: 10HmaY-0005vi-00 <= postmaster@exim.test.ex H=[V4NET.11.12.14] P=smtp S=sss
>>> processing "warn" (TESTSUITE/test-config 46)
>>> message: X-Warn: host is listed in $dnslist_domain but not =127.0.0.3${if def:dnslist_text{\n $dnslist_text}}
>>> check dnslists = rbl3.test.ex!=127.0.0.3
->>> DNS list check: rbl3.test.ex!=127.0.0.3
+>>> dnslists check: rbl3.test.ex!=127.0.0.3
>>> new DNS lookup for 15.12.11.V4NET.rbl3.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for 15.12.11.V4NET.rbl3.test.ex succeeded (yielding 127.0.0.3)
>>> => but we are not accepting this block class because
>>> => there was an exclude match for =127.0.0.3
@@ -181,8 +185,8 @@ LOG: 10HmaY-0005vi-00 <= postmaster@exim.test.ex H=[V4NET.11.12.14] P=smtp S=sss
>>> processing "deny" (TESTSUITE/test-config 49)
>>> message: host is listed in $dnslist_domain with value 127.0.0.3${if def:dnslist_text{\n$dnslist_text}}
>>> check dnslists = rbl3.test.ex=127.0.0.3
->>> DNS list check: rbl3.test.ex=127.0.0.3
->>> using result of previous DNS lookup
+>>> dnslists check: rbl3.test.ex=127.0.0.3
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 15.12.11.V4NET.rbl3.test.ex succeeded (yielding 127.0.0.3)
>>> => that means V4NET.11.12.15 is listed at rbl3.test.ex
>>> deny: condition test succeeded in ACL "check_recipient"
@@ -199,23 +203,24 @@ LOG: H=[V4NET.11.12.15] F=<postmaster@exim.test.ex> rejected RCPT <userx@exim.te
>>> using ACL "check_mail"
>>> processing "warn" (TESTSUITE/test-config 36)
>>> check dnslists = rbl4.test.ex&0.0.0.6
->>> DNS list check: rbl4.test.ex&0.0.0.6
+>>> dnslists check: rbl4.test.ex&0.0.0.6
>>> new DNS lookup for 20.12.11.V4NET.rbl4.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for 20.12.11.V4NET.rbl4.test.ex succeeded (yielding 127.0.0.6)
>>> => that means V4NET.11.12.20 is listed at rbl4.test.ex
>>> warn: condition test succeeded in ACL "check_mail"
>>> processing "warn" (TESTSUITE/test-config 37)
>>> check dnslists = rbl4.test.ex&127.0.0.3
->>> DNS list check: rbl4.test.ex&127.0.0.3
->>> using result of previous DNS lookup
+>>> dnslists check: rbl4.test.ex&127.0.0.3
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 20.12.11.V4NET.rbl4.test.ex succeeded (yielding 127.0.0.6)
>>> => but we are not accepting this block class because
>>> => there was no match for &127.0.0.3
>>> warn: condition test failed in ACL "check_mail"
>>> processing "warn" (TESTSUITE/test-config 38)
>>> check dnslists = rbl4.test.ex!&0.0.0.7
->>> DNS list check: rbl4.test.ex!&0.0.0.7
->>> using result of previous DNS lookup
+>>> dnslists check: rbl4.test.ex!&0.0.0.7
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 20.12.11.V4NET.rbl4.test.ex succeeded (yielding 127.0.0.6)
>>> => that means V4NET.11.12.20 is listed at rbl4.test.ex
>>> check add_header = DNSlist: $dnslist_domain $dnslist_text $dnslist_matched
@@ -223,8 +228,8 @@ LOG: H=[V4NET.11.12.15] F=<postmaster@exim.test.ex> rejected RCPT <userx@exim.te
>>> warn: condition test succeeded in ACL "check_mail"
>>> processing "warn" (TESTSUITE/test-config 40)
>>> check dnslists = rbl5.test.ex,rbl4.test.ex=127.0.0.128
->>> DNS list check: rbl5.test.ex,rbl4.test.ex=127.0.0.128
->>> using result of previous DNS lookup
+>>> dnslists check: rbl5.test.ex,rbl4.test.ex=127.0.0.128
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 20.12.11.V4NET.rbl4.test.ex succeeded (yielding 127.0.0.6)
>>> => but we are not accepting this block class because
>>> => there was no match for =127.0.0.128
@@ -243,30 +248,31 @@ LOG: H=[V4NET.11.12.15] F=<postmaster@exim.test.ex> rejected RCPT <userx@exim.te
>>> using ACL "check_mail"
>>> processing "warn" (TESTSUITE/test-config 36)
>>> check dnslists = rbl4.test.ex&0.0.0.6
->>> DNS list check: rbl4.test.ex&0.0.0.6
+>>> dnslists check: rbl4.test.ex&0.0.0.6
>>> new DNS lookup for 21.12.11.V4NET.rbl4.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for 21.12.11.V4NET.rbl4.test.ex succeeded (yielding 127.0.0.7)
>>> => that means V4NET.11.12.21 is listed at rbl4.test.ex
>>> warn: condition test succeeded in ACL "check_mail"
>>> processing "warn" (TESTSUITE/test-config 37)
>>> check dnslists = rbl4.test.ex&127.0.0.3
->>> DNS list check: rbl4.test.ex&127.0.0.3
->>> using result of previous DNS lookup
+>>> dnslists check: rbl4.test.ex&127.0.0.3
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 21.12.11.V4NET.rbl4.test.ex succeeded (yielding 127.0.0.7)
>>> => that means V4NET.11.12.21 is listed at rbl4.test.ex
>>> warn: condition test succeeded in ACL "check_mail"
>>> processing "warn" (TESTSUITE/test-config 38)
>>> check dnslists = rbl4.test.ex!&0.0.0.7
->>> DNS list check: rbl4.test.ex!&0.0.0.7
->>> using result of previous DNS lookup
+>>> dnslists check: rbl4.test.ex!&0.0.0.7
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 21.12.11.V4NET.rbl4.test.ex succeeded (yielding 127.0.0.7)
>>> => but we are not accepting this block class because
>>> => there was an exclude match for &0.0.0.7
>>> warn: condition test failed in ACL "check_mail"
>>> processing "warn" (TESTSUITE/test-config 40)
>>> check dnslists = rbl5.test.ex,rbl4.test.ex=127.0.0.128
->>> DNS list check: rbl5.test.ex,rbl4.test.ex=127.0.0.128
->>> using result of previous DNS lookup
+>>> dnslists check: rbl5.test.ex,rbl4.test.ex=127.0.0.128
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 21.12.11.V4NET.rbl4.test.ex succeeded (yielding 127.0.0.7)
>>> => but we are not accepting this block class because
>>> => there was no match for =127.0.0.128
@@ -286,12 +292,14 @@ LOG: H=[V4NET.11.12.15] F=<postmaster@exim.test.ex> rejected RCPT <userx@exim.te
>>> using ACL "check_helo"
>>> processing "warn" (TESTSUITE/test-config 21)
>>> check dnslists = rbl2.test.ex!=127.0.0.3 : rbl3.test.ex=127.0.0.3
->>> DNS list check: rbl2.test.ex!=127.0.0.3
+>>> dnslists check: rbl2.test.ex!=127.0.0.3
>>> new DNS lookup for 15.12.11.V4NET.rbl2.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for 15.12.11.V4NET.rbl2.test.ex failed
>>> => that means V4NET.11.12.15 is not listed at rbl2.test.ex
->>> DNS list check: rbl3.test.ex=127.0.0.3
+>>> dnslists check: rbl3.test.ex=127.0.0.3
>>> new DNS lookup for 15.12.11.V4NET.rbl3.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for 15.12.11.V4NET.rbl3.test.ex succeeded (yielding 127.0.0.3)
>>> => that means V4NET.11.12.15 is listed at rbl3.test.ex
>>> warn: condition test succeeded in ACL "check_helo"
@@ -310,59 +318,60 @@ LOG: H=[V4NET.11.12.15] F=<postmaster@exim.test.ex> rejected RCPT <userx@exim.te
>>> using ACL "check_vrfy"
>>> processing "warn" (TESTSUITE/test-config 25)
>>> check dnslists = rbl.test.ex=127.0.0.1
->>> DNS list check: rbl.test.ex=127.0.0.1
+>>> dnslists check: rbl.test.ex=127.0.0.1
>>> new DNS lookup for 2.13.13.V4NET.rbl.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for 2.13.13.V4NET.rbl.test.ex succeeded (yielding 127.0.0.1, 127.0.0.2)
>>> => that means V4NET.13.13.2 is listed at rbl.test.ex
>>> warn: condition test succeeded in ACL "check_vrfy"
>>> processing "warn" (TESTSUITE/test-config 26)
>>> check dnslists = rbl.test.ex!=127.0.0.1
->>> DNS list check: rbl.test.ex!=127.0.0.1
->>> using result of previous DNS lookup
+>>> dnslists check: rbl.test.ex!=127.0.0.1
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 2.13.13.V4NET.rbl.test.ex succeeded (yielding 127.0.0.1, 127.0.0.2)
>>> => but we are not accepting this block class because
>>> => there was an exclude match for =127.0.0.1
>>> warn: condition test failed in ACL "check_vrfy"
>>> processing "warn" (TESTSUITE/test-config 27)
>>> check dnslists = rbl.test.ex!=127.0.0.3
->>> DNS list check: rbl.test.ex!=127.0.0.3
->>> using result of previous DNS lookup
+>>> dnslists check: rbl.test.ex!=127.0.0.3
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 2.13.13.V4NET.rbl.test.ex succeeded (yielding 127.0.0.1, 127.0.0.2)
>>> => that means V4NET.13.13.2 is listed at rbl.test.ex
>>> warn: condition test succeeded in ACL "check_vrfy"
>>> processing "warn" (TESTSUITE/test-config 28)
>>> check dnslists = rbl.test.ex==127.0.0.1
->>> DNS list check: rbl.test.ex==127.0.0.1
->>> using result of previous DNS lookup
+>>> dnslists check: rbl.test.ex==127.0.0.1
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 2.13.13.V4NET.rbl.test.ex succeeded (yielding 127.0.0.1, 127.0.0.2)
>>> => but we are not accepting this block class because
>>> => there was an IP address that did not match for ==127.0.0.1
>>> warn: condition test failed in ACL "check_vrfy"
>>> processing "warn" (TESTSUITE/test-config 29)
>>> check dnslists = rbl.test.ex==127.0.0.1,127.0.0.2
->>> DNS list check: rbl.test.ex==127.0.0.1,127.0.0.2
->>> using result of previous DNS lookup
+>>> dnslists check: rbl.test.ex==127.0.0.1,127.0.0.2
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 2.13.13.V4NET.rbl.test.ex succeeded (yielding 127.0.0.1, 127.0.0.2)
>>> => that means V4NET.13.13.2 is listed at rbl.test.ex
>>> warn: condition test succeeded in ACL "check_vrfy"
>>> processing "warn" (TESTSUITE/test-config 30)
>>> check dnslists = rbl.test.ex!==127.0.0.1
->>> DNS list check: rbl.test.ex!==127.0.0.1
->>> using result of previous DNS lookup
+>>> dnslists check: rbl.test.ex!==127.0.0.1
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 2.13.13.V4NET.rbl.test.ex succeeded (yielding 127.0.0.1, 127.0.0.2)
>>> => that means V4NET.13.13.2 is listed at rbl.test.ex
>>> warn: condition test succeeded in ACL "check_vrfy"
>>> processing "warn" (TESTSUITE/test-config 31)
>>> check dnslists = rbl.test.ex!==127.0.0.3
->>> DNS list check: rbl.test.ex!==127.0.0.3
->>> using result of previous DNS lookup
+>>> dnslists check: rbl.test.ex!==127.0.0.3
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 2.13.13.V4NET.rbl.test.ex succeeded (yielding 127.0.0.1, 127.0.0.2)
>>> => that means V4NET.13.13.2 is listed at rbl.test.ex
>>> warn: condition test succeeded in ACL "check_vrfy"
>>> processing "warn" (TESTSUITE/test-config 32)
>>> check dnslists = rbl.test.ex!==127.0.0.1,127.0.0.2
->>> DNS list check: rbl.test.ex!==127.0.0.1,127.0.0.2
->>> using result of previous DNS lookup
+>>> dnslists check: rbl.test.ex!==127.0.0.1,127.0.0.2
+>>> dnslists: using result of previous lookup
>>> DNS lookup for 2.13.13.V4NET.rbl.test.ex succeeded (yielding 127.0.0.1, 127.0.0.2)
>>> => but we are not accepting this block class because
>>> => there were no IP addresses that did not match for ==127.0.0.1,127.0.0.2
diff --git a/test/stderr/0312 b/test/stderr/0312
index e7bf94f3e..9b147156e 100644
--- a/test/stderr/0312
+++ b/test/stderr/0312
@@ -9,10 +9,11 @@
>>> using ACL "check_rcpt"
>>> processing "deny" (TESTSUITE/test-config 16)
>>> check dnslists = +defer_unknown : test.again.dns
->>> DNS list check: +defer_unknown
->>> DNS list check: test.again.dns
+>>> dnslists check: +defer_unknown
+>>> dnslists check: test.again.dns
>>> new DNS lookup for 1.0.0.V4NET.test.again.dns
>>> 1.0.0.V4NET.test.again.dns in dns_again_means_nonexist? no (option unset)
+>>> dnslists: wrote cache entry, ttl=3600
LOG: DNS list lookup defer (probably timeout) for 1.0.0.V4NET.test.again.dns: returned DEFER
>>> deny: condition test deferred in ACL "check_rcpt"
LOG: H=[V4NET.0.0.1] F=<userx@x> temporarily rejected RCPT <userx@y>
diff --git a/test/stderr/0386 b/test/stderr/0386
index d2444f5ad..22a1184c5 100644
--- a/test/stderr/0386
+++ b/test/stderr/0386
@@ -192,10 +192,11 @@ check acl = TESTSUITE/aux-fixed/0386.acl2
message: X-Warning: $sender_host_address is listed at $dnslist_domain\nX-Warning: $dnslist_text
l_message: found in $dnslist_domain: $dnslist_text
check dnslists = rbl.test.ex
-DNS list check: rbl.test.ex
+dnslists check: rbl.test.ex
new DNS lookup for 13.12.11.V4NET.rbl.test.ex
DNS lookup of 13.12.11.V4NET.rbl.test.ex (A) using fakens
DNS lookup of 13.12.11.V4NET.rbl.test.ex (A) succeeded
+dnslists: wrote cache entry, ttl=1
DNS lookup for 13.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
DNS lookup of 13.12.11.V4NET.rbl.test.ex (TXT) using fakens
DNS lookup of 13.12.11.V4NET.rbl.test.ex (TXT) succeeded
@@ -390,8 +391,8 @@ check acl = TESTSUITE/aux-fixed/0386.acl2
message: X-Warning: $sender_host_address is listed at $dnslist_domain\nX-Warning: $dnslist_text
l_message: found in $dnslist_domain: $dnslist_text
check dnslists = rbl.test.ex
-DNS list check: rbl.test.ex
-using result of previous DNS lookup
+dnslists check: rbl.test.ex
+dnslists: using result of previous lookup
DNS lookup for 13.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
=> that means V4NET.11.12.13 is listed at rbl.test.ex
warn: condition test succeeded in ACL "TESTSUITE/aux-fixed/0386.acl2"
diff --git a/test/stderr/0422 b/test/stderr/0422
index ca718a7e1..1724b2438 100644
--- a/test/stderr/0422
+++ b/test/stderr/0422
@@ -10,8 +10,9 @@
>>> processing "deny" (TESTSUITE/test-config 19)
>>> message: dnslist_value is $dnslist_value
>>> check dnslists = rbl.test.ex=127.0.0.2
->>> DNS list check: rbl.test.ex=127.0.0.2
+>>> dnslists check: rbl.test.ex=127.0.0.2
>>> new DNS lookup for 1.13.13.V4NET.rbl.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for 1.13.13.V4NET.rbl.test.ex failed
>>> => that means V4NET.13.13.1 is not listed at rbl.test.ex
>>> deny: condition test failed in ACL "connect"
@@ -30,8 +31,9 @@
>>> processing "deny" (TESTSUITE/test-config 19)
>>> message: dnslist_value is $dnslist_value
>>> check dnslists = rbl.test.ex=127.0.0.2
->>> DNS list check: rbl.test.ex=127.0.0.2
+>>> dnslists check: rbl.test.ex=127.0.0.2
>>> new DNS lookup for 2.13.13.V4NET.rbl.test.ex
+>>> dnslists: wrote cache entry, ttl=3600
>>> DNS lookup for 2.13.13.V4NET.rbl.test.ex succeeded (yielding 127.0.0.1, 127.0.0.2)
>>> => that means V4NET.13.13.2 is listed at rbl.test.ex
>>> deny: condition test succeeded in ACL "connect"
diff --git a/test/stderr/2201 b/test/stderr/2201
index ac812c1db..ff018f3ba 100644
--- a/test/stderr/2201
+++ b/test/stderr/2201
@@ -203,16 +203,18 @@ ppppp 1 SMTP accept process running
ppppp Listening...
ppppp Process ppppp is handling incoming connection from [127.0.0.1]
ppppp Process ppppp is ready for new message
-ppppp DNS list check: rbl.test.ex/V4NET.11.12.14
+ppppp dnslists check: rbl.test.ex/V4NET.11.12.14
ppppp new DNS lookup for 14.12.11.V4NET.rbl.test.ex
+ppppp dnslists: wrote cache entry, ttl=2
ppppp DNS lookup for 14.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
ppppp => that means V4NET.11.12.14 is listed at rbl.test.ex
-ppppp DNS list check: rbl.test.ex/V4NET.11.12.14
-ppppp using result of previous DNS lookup
+ppppp dnslists check: rbl.test.ex/V4NET.11.12.14
+ppppp dnslists: using result of previous lookup
ppppp DNS lookup for 14.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
ppppp => that means V4NET.11.12.14 is listed at rbl.test.ex
-ppppp DNS list check: rbl.test.ex/V4NET.11.12.14
+ppppp dnslists check: rbl.test.ex/V4NET.11.12.14
ppppp cached data found but past valid time; new DNS lookup for 14.12.11.V4NET.rbl.test.ex
+ppppp dnslists: wrote cache entry, ttl=2
ppppp DNS lookup for 14.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
ppppp => that means V4NET.11.12.14 is listed at rbl.test.ex
ppppp LOG: MAIN
diff --git a/test/stderr/3408 b/test/stderr/3408
index fc7d779e2..137e2b80d 100644
--- a/test/stderr/3408
+++ b/test/stderr/3408
@@ -35,8 +35,9 @@
>>> message: host is listed in $dnslist_domain
>>> check !authenticated = *
>>> check dnslists = rbl.test.ex
->>> DNS list check: rbl.test.ex
+>>> dnslists check: rbl.test.ex
>>> new DNS lookup for 14.12.11.V4NET.rbl.test.ex
+>>> dnslists: wrote cache entry, ttl=2
>>> DNS lookup for 14.12.11.V4NET.rbl.test.ex succeeded (yielding 127.0.0.2)
>>> => that means V4NET.11.12.14 is listed at rbl.test.ex
>>> deny: condition test succeeded in ACL "check_recipient"
diff --git a/test/stdout/0044 b/test/stdout/0044
index 1840508b6..e7c1f1443 100644
--- a/test/stdout/0044
+++ b/test/stdout/0044
@@ -12,6 +12,7 @@
250 OK
250 Accepted
550 host is listed in rbl.test.ex
+550 host is listed in rbl.test.ex
354 Enter message, ending with "." on a line by itself
250 OK id=10HmaX-0005vi-00
@@ -37,3 +38,19 @@
**** SMTP testing: that is not a real message id!
221 the.local.host.name closing connection
+
+**** SMTP testing session as if from host V4NET.99.99.99
+**** but without any ident (RFC 1413) callback.
+**** This is not for real!
+
+220 the.local.host.name ESMTP Exim x.yz Tue, 2 Mar 1999 09:44:33 +0000
+250-the.local.host.name Hello exim.test.ex [V4NET.99.99.99]
+250-SIZE 52428800
+250-8BITMIME
+250-PIPELINING
+250 HELP
+250 OK
+550-Verification failed for <postmaster@exim.test.ex>
+550-Unrouteable address
+550 Sender verify failed
+421 the.local.host.name lost input connection