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;
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 *);
/* 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
else
{
- uint ttl = 3600;
+ uint ttl = 3600; /* max TTL for positive cache entries */
store_pool = POOL_PERM;
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
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
/* 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;
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 */
set domain_txt == domain. */
domain_txt = domain;
- comma = Ustrchr(domain, ',');
- if (comma != NULL)
+ if ((comma = Ustrchr(domain, ',')))
{
*comma++ = 0;
domain = comma;
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);
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;
rc = one_check_dnsbl(domain, domain_txt, keydomain, prepend, iplist,
bitmask, match_type, defer_return);
-
if (rc == OK)
{
dnslist_domain = string_copy(domain_txt);
; 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"
# 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
.
.
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
>>> 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"
>>> 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"
>>> 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"
>>> 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"
>>> 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"
>>> 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"
>>> 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"
>>> 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
>>> 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"
>>> 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"
>>> 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
->>> 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)
>>> 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 >>>>>>>>>>>>>>>>
>>> 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"
>>> 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"
>>> 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"
>>> 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"
>>> 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"
>>> 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"
>>> 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"
>>> 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"
>>> 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"
>>> 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
>>> 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
>>> 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"
>>> 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
>>> 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"
>>> 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
>>> 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
>>> 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
>>> 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"
>>> 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
>>> 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>
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
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"
>>> 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"
>>> 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"
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
>>> 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"
250 OK\r
250 Accepted\r
550 host is listed in rbl.test.ex\r
+550 host is listed in rbl.test.ex\r
354 Enter message, ending with "." on a line by itself\r
250 OK id=10HmaX-0005vi-00\r
**** SMTP testing: that is not a real message id!
221 the.local.host.name closing connection\r
+
+**** 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\r
+250-the.local.host.name Hello exim.test.ex [V4NET.99.99.99]\r
+250-SIZE 52428800\r
+250-8BITMIME\r
+250-PIPELINING\r
+250 HELP\r
+250 OK\r
+550-Verification failed for <postmaster@exim.test.ex>\r
+550-Unrouteable address\r
+550 Sender verify failed\r
+421 the.local.host.name lost input connection\r