summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2016-07-07 23:20:04 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2016-07-08 01:14:09 +0100
commit8b9476ba56f0fd05ac8303ad86a41e0242bc876d (patch)
treed90d9b3d453cc8728b0380ac423d33f64319317d
parent6e69d78e612ade9d9bb052abeb4b113984995710 (diff)
Cutthrough: avoid use of callout result cache
The connection always needs to be made, and no result need be cached after verify either.
-rw-r--r--src/src/verify.c94
-rw-r--r--test/scripts/5400-cutthrough/54012
-rw-r--r--test/stderr/037666
-rw-r--r--test/stderr/03984
-rw-r--r--test/stderr/04328
-rw-r--r--test/stderr/046212
-rw-r--r--test/stderr/04732
-rw-r--r--test/stderr/54037
-rw-r--r--test/stderr/54103
-rw-r--r--test/stderr/54203
-rw-r--r--test/stderr/58404
11 files changed, 103 insertions, 102 deletions
diff --git a/src/src/verify.c b/src/src/verify.c
index 8a4867b94..476276037 100644
--- a/src/src/verify.c
+++ b/src/src/verify.c
@@ -155,10 +155,6 @@ do_callout(address_item *addr, host_item *host_list, transport_feedback *tf,
int callout, int callout_overall, int callout_connect, int options,
uschar *se_mailfrom, uschar *pm_mailfrom)
{
-BOOL is_recipient = (options & vopt_is_recipient) != 0;
-BOOL callout_no_cache = (options & vopt_callout_no_cache) != 0;
-BOOL callout_random = (options & vopt_callout_random) != 0;
-
int yield = OK;
int old_domain_cache_result = ccache_accept;
BOOL done = FALSE;
@@ -166,8 +162,8 @@ uschar *address_key;
uschar *from_address;
uschar *random_local_part = NULL;
const uschar *save_deliver_domain = deliver_domain;
-uschar **failure_ptr = is_recipient?
- &recipient_verify_failure : &sender_verify_failure;
+uschar **failure_ptr = options & vopt_is_recipient
+ ? &recipient_verify_failure : &sender_verify_failure;
open_db dbblock;
open_db *dbm_file = NULL;
dbdata_callout_cache new_domain_record;
@@ -189,12 +185,13 @@ because that may influence the result of the callout. */
address_key = addr->address;
from_address = US"";
-if (is_recipient)
+if (options & vopt_is_recipient)
{
if (options & vopt_callout_recipsender)
{
address_key = string_sprintf("%s/<%s>", addr->address, sender_address);
from_address = sender_address;
+ if (cutthrough.delivery) options |= vopt_callout_no_cache;
}
else if (options & vopt_callout_recippmaster)
{
@@ -217,7 +214,7 @@ else
/* Open the callout cache database, it it exists, for reading only at this
stage, unless caching has been disabled. */
-if (callout_no_cache)
+if (options & vopt_callout_no_cache)
{
HDEBUG(D_verify) debug_printf("callout cache: disabled by no_cache\n");
}
@@ -273,26 +270,26 @@ if (dbm_file != NULL)
the data in the new record. If a random check is required but hasn't been
done, skip the remaining cache processing. */
- if (callout_random) switch(cache_record->random_result)
+ if (options & vopt_callout_random) switch(cache_record->random_result)
{
case ccache_accept:
- HDEBUG(D_verify)
- debug_printf("callout cache: domain accepts random addresses\n");
- goto END_CALLOUT; /* Default yield is OK */
+ HDEBUG(D_verify)
+ debug_printf("callout cache: domain accepts random addresses\n");
+ goto END_CALLOUT; /* Default yield is OK */
case ccache_reject:
- HDEBUG(D_verify)
- debug_printf("callout cache: domain rejects random addresses\n");
- callout_random = FALSE;
- new_domain_record.random_result = ccache_reject;
- new_domain_record.random_stamp = cache_record->random_stamp;
- break;
+ HDEBUG(D_verify)
+ debug_printf("callout cache: domain rejects random addresses\n");
+ options &= ~vopt_callout_random;
+ new_domain_record.random_result = ccache_reject;
+ new_domain_record.random_stamp = cache_record->random_stamp;
+ break;
default:
- HDEBUG(D_verify)
- debug_printf("callout cache: need to check random address handling "
- "(not cached or cache expired)\n");
- goto END_CACHE;
+ HDEBUG(D_verify)
+ debug_printf("callout cache: need to check random address handling "
+ "(not cached or cache expired)\n");
+ goto END_CACHE;
}
/* If a postmaster check is requested, but there was a previous failure,
@@ -389,7 +386,7 @@ else
with a random local part, ensure that such a local part is available. If not,
log the fact, but carry on without randomming. */
- if (callout_random && callout_random_local_part != NULL)
+ if (options & vopt_callout_random && callout_random_local_part != NULL)
if (!(random_local_part = expand_string(callout_random_local_part)))
log_write(0, LOG_MAIN|LOG_PANIC, "failed to expand "
"callout_random_local_part: %s", expand_string_message);
@@ -1245,10 +1242,9 @@ can do it there for the non-rcpt-verify case. For this we keep an addresscount.
big_buffer, host->name, host->address,
string_printing(responsebuffer));
- addr->user_message = is_recipient?
- string_sprintf("Callout verification failed:\n%s", responsebuffer)
- :
- string_sprintf("Called: %s\nSent: %s\nResponse: %s",
+ addr->user_message = options & vopt_is_recipient
+ ? string_sprintf("Callout verification failed:\n%s", responsebuffer)
+ : string_sprintf("Called: %s\nSent: %s\nResponse: %s",
host->address, big_buffer, responsebuffer);
/* Hard rejection ends the process */
@@ -1277,6 +1273,8 @@ can do it there for the non-rcpt-verify case. For this we keep an addresscount.
&& !lmtp
)
{
+ HDEBUG(D_acl|D_v) debug_printf("holding verify callout open for cutthrough delivery\n");
+
cutthrough.fd = outblock.sock; /* We assume no buffer in use in the outblock */
cutthrough.nrcpt = 1;
cutthrough.interface = interface;
@@ -1322,7 +1320,8 @@ there was an error before or with MAIL FROM:, and errno was not zero,
implying some kind of I/O error. We don't want to write the cache in that case.
Otherwise the value is ccache_accept, ccache_reject, or ccache_reject_mfnull. */
-if (!callout_no_cache && new_domain_record.result != ccache_unknown)
+if ( !(options & vopt_callout_no_cache)
+ && new_domain_record.result != ccache_unknown)
{
if ((dbm_file = dbfn_open(US"callout", O_RDWR|O_CREAT, &dbblock, FALSE))
== NULL)
@@ -1333,8 +1332,9 @@ if (!callout_no_cache && new_domain_record.result != ccache_unknown)
{
(void)dbfn_write(dbm_file, addr->domain, &new_domain_record,
(int)sizeof(dbdata_callout_cache));
- HDEBUG(D_verify) debug_printf("wrote callout cache domain record:\n"
+ HDEBUG(D_verify) debug_printf("wrote callout cache domain record for %s:\n"
" result=%d postmaster=%d random=%d\n",
+ addr->domain,
new_domain_record.result,
new_domain_record.postmaster_result,
new_domain_record.random_result);
@@ -1346,7 +1346,8 @@ is disabled. */
if (done)
{
- if (!callout_no_cache && new_address_record.result != ccache_unknown)
+ if ( !(options & vopt_callout_no_cache)
+ && new_address_record.result != ccache_unknown)
{
if (dbm_file == NULL)
dbm_file = dbfn_open(US"callout", O_RDWR|O_CREAT, &dbblock, FALSE);
@@ -1358,8 +1359,9 @@ if (done)
{
(void)dbfn_write(dbm_file, address_key, &new_address_record,
(int)sizeof(dbdata_callout_cache_address));
- HDEBUG(D_verify) debug_printf("wrote %s callout cache address record\n",
- (new_address_record.result == ccache_accept)? "positive" : "negative");
+ HDEBUG(D_verify) debug_printf("wrote %s callout cache address record for %s\n",
+ new_address_record.result == ccache_accept ? "positive" : "negative",
+ address_key);
}
}
} /* done */
@@ -1371,7 +1373,7 @@ it alone if supplying details. Otherwise, give a generic response. */
else /* !done */
{
uschar *dullmsg = string_sprintf("Could not complete %s verify callout",
- is_recipient? "recipient" : "sender");
+ options & vopt_is_recipient ? "recipient" : "sender");
yield = DEFER;
if (host_list->next != NULL || addr->message == NULL) addr->message = dullmsg;
@@ -1381,12 +1383,11 @@ else /* !done */
"The mail server(s) for the domain may be temporarily unreachable, or\n"
"they may be permanently unreachable from this server. In the latter case,\n%s",
dullmsg, addr->address,
- is_recipient?
- "the address will never be accepted."
- :
- "you need to change the address or create an MX record for its domain\n"
- "if it is supposed to be generally accessible from the Internet.\n"
- "Talk to your mail administrator for details.");
+ options & vopt_is_recipient
+ ? "the address will never be accepted."
+ : "you need to change the address or create an MX record for its domain\n"
+ "if it is supposed to be generally accessible from the Internet.\n"
+ "Talk to your mail administrator for details.");
/* Force a specific error code */
@@ -1808,21 +1809,20 @@ verify_address(address_item *vaddr, FILE *f, int options, int callout,
{
BOOL allok = TRUE;
BOOL full_info = (f == NULL)? FALSE : (debug_selector != 0);
-BOOL is_recipient = (options & vopt_is_recipient) != 0;
BOOL expn = (options & vopt_expn) != 0;
BOOL success_on_redirect = (options & vopt_success_on_redirect) != 0;
int i;
int yield = OK;
int verify_type = expn? v_expn :
address_test_mode? v_none :
- is_recipient? v_recipient : v_sender;
+ options & vopt_is_recipient? v_recipient : v_sender;
address_item *addr_list;
address_item *addr_new = NULL;
address_item *addr_remote = NULL;
address_item *addr_local = NULL;
address_item *addr_succeed = NULL;
-uschar **failure_ptr = is_recipient?
- &recipient_verify_failure : &sender_verify_failure;
+uschar **failure_ptr = options & vopt_is_recipient
+ ? &recipient_verify_failure : &sender_verify_failure;
uschar *ko_prefix, *cr;
uschar *address = vaddr->address;
uschar *save_sender;
@@ -1855,7 +1855,7 @@ if (parse_find_at(address) == NULL)
*failure_ptr = US"qualify";
return FAIL;
}
- address = rewrite_address_qualify(address, is_recipient);
+ address = rewrite_address_qualify(address, options & vopt_is_recipient);
}
DEBUG(D_verify)
@@ -1870,7 +1870,7 @@ may have been set by domains and local part tests during an ACL. */
if (global_rewrite_rules != NULL)
{
uschar *old = address;
- address = rewrite_address(address, is_recipient, FALSE,
+ address = rewrite_address(address, options & vopt_is_recipient, FALSE,
global_rewrite_rules, rewrite_existflags);
if (address != old)
{
@@ -1905,7 +1905,7 @@ save_sender = sender_address;
/* Observability variable for router/transport use */
-verify_mode = is_recipient ? US"R" : US"S";
+verify_mode = options & vopt_is_recipient ? US"R" : US"S";
/* Update the address structure with the possibly qualified and rewritten
address. Set it up as the starting address on the chain of new addresses. */
@@ -1982,7 +1982,7 @@ while (addr_new)
if (routed) *routed = FALSE;
if ((rc = deliver_split_address(addr)) == OK)
{
- if (!is_recipient) sender_address = null_sender;
+ if (!(options & vopt_is_recipient)) sender_address = null_sender;
rc = route_address(addr, &addr_local, &addr_remote, &addr_new,
&addr_succeed, verify_type);
sender_address = save_sender; /* Put back the real sender */
diff --git a/test/scripts/5400-cutthrough/5401 b/test/scripts/5400-cutthrough/5401
index 726d1f29e..b7837b342 100644
--- a/test/scripts/5400-cutthrough/5401
+++ b/test/scripts/5400-cutthrough/5401
@@ -51,8 +51,6 @@ QUIT
****
#
#
-# lose the cached callout fail record
-sudo rm DIR/spool/db/callout
#
# cutthrough for 2 recipients in one domain
# first one denied
diff --git a/test/stderr/0376 b/test/stderr/0376
index 310e1a101..664e248e2 100644
--- a/test/stderr/0376
+++ b/test/stderr/0376
@@ -21,9 +21,9 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP>> RCPT TO:<ok@localhost>
SMTP<< 250 OK
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for localhost:
result=1 postmaster=0 random=0
-wrote positive callout cache address record
+wrote positive callout cache address record for ok@localhost
LOG: smtp_connection MAIN
SMTP connection from root closed by QUIT
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
@@ -90,9 +90,9 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP>> RCPT TO:<bad@localhost>
SMTP<< 550 REJECTED
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for localhost:
result=1 postmaster=0 random=0
-wrote negative callout cache address record
+wrote negative callout cache address record for bad@localhost
LOG: MAIN REJECT
H=[V4NET.0.0.1] U=root sender verify fail for <bad@localhost>: response to "RCPT TO:<bad@localhost>" from 127.0.0.1 [127.0.0.1] was: 550 REJECTED
LOG: MAIN REJECT
@@ -142,7 +142,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP>> MAIL FROM:<>
SMTP<< 550 REJECT MAIL FROM
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for localhost:
result=3 postmaster=0 random=0
LOG: MAIN REJECT
H=[V4NET.0.0.1] U=root sender verify fail for <ok@localhost>: response to "MAIL FROM:<>" from 127.0.0.1 [127.0.0.1] was: 550 REJECT MAIL FROM
@@ -201,9 +201,9 @@ Cutthrough cancelled by presence of postmaster verify
SMTP>> RCPT TO:<postmaster@otherhost>
SMTP<< 550 NOT OK
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for otherhost:
result=1 postmaster=2 random=0
-wrote positive callout cache address record
+wrote positive callout cache address record for ok@otherhost
LOG: MAIN REJECT
H=[V4NET.0.0.2] U=root sender verify fail for <ok@otherhost>: response to "RCPT TO:<postmaster@otherhost>" from 127.0.0.1 [127.0.0.1] was: 550 NOT OK
LOG: MAIN REJECT
@@ -261,9 +261,9 @@ Cutthrough cancelled by presence of postmaster verify
SMTP>> RCPT TO:<postmaster@otherhost2>
SMTP<< 250 OK
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for otherhost2:
result=1 postmaster=1 random=0
-wrote positive callout cache address record
+wrote positive callout cache address record for ok@otherhost2
LOG: smtp_connection MAIN
SMTP connection from root closed by QUIT
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
@@ -308,7 +308,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP>> RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost3>
SMTP<< 250 OK
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for otherhost3:
result=1 postmaster=0 random=1
LOG: smtp_connection MAIN
SMTP connection from root closed by QUIT
@@ -352,7 +352,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP>> RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost4>
SMTP<< 250 OK
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for otherhost4:
result=1 postmaster=0 random=1
LOG: smtp_connection MAIN
SMTP connection from root closed by QUIT
@@ -409,9 +409,9 @@ Cutthrough cancelled by presence of postmaster verify
SMTP>> RCPT TO:<postmaster@otherhost41>
SMTP<< 250 OK
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for otherhost41:
result=1 postmaster=1 random=2
-wrote positive callout cache address record
+wrote positive callout cache address record for ok@otherhost41
LOG: smtp_connection MAIN
SMTP connection from root closed by QUIT
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
@@ -464,9 +464,9 @@ Cutthrough cancelled by presence of postmaster verify
SMTP>> RCPT TO:<postmaster@otherhost21>
SMTP<< 250 OK
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for otherhost21:
result=1 postmaster=1 random=0
-wrote positive callout cache address record
+wrote positive callout cache address record for ok@otherhost21
LOG: smtp_connection MAIN
SMTP connection from root closed by QUIT
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
@@ -494,9 +494,9 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP>> RCPT TO:<ok2@otherhost21>
SMTP<< 250 OK
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for otherhost21:
result=1 postmaster=1 random=0
-wrote positive callout cache address record
+wrote positive callout cache address record for ok2@otherhost21
LOG: smtp_connection MAIN
SMTP connection from root closed by QUIT
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
@@ -529,9 +529,9 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP>> RCPT TO:<ok@otherhost31>
SMTP<< 250 OK
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for otherhost31:
result=1 postmaster=0 random=2
-wrote positive callout cache address record
+wrote positive callout cache address record for ok@otherhost31
LOG: smtp_connection MAIN
SMTP connection from root closed by QUIT
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
@@ -559,9 +559,9 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP>> RCPT TO:<okok@otherhost31>
SMTP<< 250 OK
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for otherhost31:
result=1 postmaster=0 random=2
-wrote positive callout cache address record
+wrote positive callout cache address record for okok@otherhost31
LOG: smtp_connection MAIN
SMTP connection from root closed by QUIT
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
@@ -594,9 +594,9 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP>> RCPT TO:<okokok@otherhost31>
SMTP<< 250 OK
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for otherhost31:
result=1 postmaster=0 random=2
-wrote positive callout cache address record
+wrote positive callout cache address record for okokok@otherhost31
LOG: smtp_connection MAIN
SMTP connection from root closed by QUIT
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
@@ -622,7 +622,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP<< 250 OK
SMTP>> RCPT TO:<myhost.test.ex-dddddddd-testing@otherhost51>
SMTP timeout
-wrote callout cache domain record:
+wrote callout cache domain record for otherhost51:
result=1 postmaster=0 random=0
LOG: MAIN REJECT
H=[V4NET.0.0.5] U=root sender verify defer for <okok@otherhost51>: Could not complete sender verify callout
@@ -661,9 +661,9 @@ Cutthrough cancelled by presence of postmaster verify
SMTP>> RCPT TO:<postmaster@otherhost52>
SMTP<< 250 OK
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for otherhost52:
result=1 postmaster=1 random=0
-wrote positive callout cache address record
+wrote positive callout cache address record for okokok@otherhost52
LOG: smtp_connection MAIN
SMTP connection from root closed by QUIT
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
@@ -691,9 +691,9 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP>> RCPT TO:<abcd@x.y.z>
SMTP<< 250 OK
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for x.y.z:
result=1 postmaster=0 random=0
-wrote positive callout cache address record
+wrote positive callout cache address record for abcd@x.y.z/<somesender@a.domain>
LOG: MAIN
<= ok7@otherhost53 H=[V4NET.0.0.7] U=root P=smtp S=sss
LOG: smtp_connection MAIN
@@ -722,7 +722,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP<< 250 OK
SMTP>> RCPT TO:<abcd@x.y.z>
SMTP timeout
-wrote callout cache domain record:
+wrote callout cache domain record for x.y.z:
result=1 postmaster=0 random=0
LOG: MAIN
<= ok7@otherhost53 H=[V4NET.0.0.8] U=root P=smtp S=sss
@@ -761,9 +761,9 @@ Cutthrough cancelled by presence of postmaster verify
SMTP>> RCPT TO:<postmaster>
SMTP<< 250 OK
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for otherhost9:
result=1 postmaster=1 random=0
-wrote positive callout cache address record
+wrote positive callout cache address record for ok@otherhost9
LOG: smtp_connection MAIN
SMTP connection from root closed by QUIT
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
@@ -803,9 +803,9 @@ Cutthrough cancelled by presence of postmaster verify
SMTP>> RCPT TO:<postmaster@test.ex>
SMTP<< 250 OK
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for test.ex:
result=1 postmaster=1 random=2
-wrote positive callout cache address record
+wrote positive callout cache address record for z@test.ex/<postmaster@myhost.test.ex>
LOG: smtp_connection MAIN
SMTP connection from root closed by QUIT
>>>>>>>>>>>>>>>> Exim pid=pppp terminating with rc=0 >>>>>>>>>>>>>>>>
diff --git a/test/stderr/0398 b/test/stderr/0398
index 17d580669..0a4d1fe23 100644
--- a/test/stderr/0398
+++ b/test/stderr/0398
@@ -143,10 +143,10 @@ EXIM_DBOPEN(TESTSUITE/spool/db/callout)
returned from EXIM_DBOPEN
opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR|O_CREAT
dbfn_write: key=remote
-wrote callout cache domain record:
+wrote callout cache domain record for remote:
result=1 postmaster=0 random=0
dbfn_write: key=qq@remote
-wrote negative callout cache address record
+wrote negative callout cache address record for qq@remote
----------- end verify ------------
l_message: $acl_verify_message
warn: condition test succeeded in ACL "rcpt"
diff --git a/test/stderr/0432 b/test/stderr/0432
index 6a7aebe15..95a24a9eb 100644
--- a/test/stderr/0432
+++ b/test/stderr/0432
@@ -104,10 +104,10 @@ EXIM_DBOPEN(TESTSUITE/spool/db/callout)
returned from EXIM_DBOPEN
opened hints database TESTSUITE/spool/db/callout: flags=O_RDWR|O_CREAT
dbfn_write: key=y
-wrote callout cache domain record:
+wrote callout cache domain record for y:
result=1 postmaster=0 random=0
dbfn_write: key=x@y
-wrote positive callout cache address record
+wrote positive callout cache address record for x@y
----------- end verify ------------
sender x@y verified ok
accept: condition test succeeded in ACL "mail"
@@ -254,9 +254,9 @@ MUNGED: ::1 will be omitted in what follows
>>> SMTP>> RCPT TO:<a@b>
>>> SMTP<< 250 OK
>>> SMTP>> QUIT
->>> wrote callout cache domain record:
+>>> wrote callout cache domain record for b:
>>> result=1 postmaster=0 random=0
->>> wrote positive callout cache address record
+>>> wrote positive callout cache address record for a@b
>>> ----------- end verify ------------
>>> accept: condition test succeeded in ACL "mail"
>>> end of ACL "mail": ACCEPT
diff --git a/test/stderr/0462 b/test/stderr/0462
index 0d6d719cf..f8cb9b7c6 100644
--- a/test/stderr/0462
+++ b/test/stderr/0462
@@ -28,9 +28,9 @@ Cutthrough cancelled by presence of postmaster verify
SMTP>> RCPT TO:<postmaster@localhost>
SMTP<< 550 NO
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for localhost:
result=1 postmaster=2 random=0
-wrote positive callout cache address record
+wrote positive callout cache address record for Ok@localhost
LOG: MAIN REJECT
H=[V4NET.0.0.1] U=root sender verify fail for <Ok@localhost>: response to "RCPT TO:<postmaster@localhost>" from 127.0.0.1 [127.0.0.1] was: 550 NO
created log directory TESTSUITE/spool/log
@@ -70,9 +70,9 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP>> RCPT TO:<NOTok@elsewhere>
SMTP<< 550 NO
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for elsewhere:
result=1 postmaster=0 random=0
-wrote negative callout cache address record
+wrote negative callout cache address record for NOTok@elsewhere
LOG: MAIN REJECT
H=[V4NET.0.0.2] U=root sender verify fail for <NOTok@elsewhere>: response to "RCPT TO:<NOTok@elsewhere>" from 127.0.0.1 [127.0.0.1] was: 550 NO
LOG: MAIN REJECT
@@ -103,9 +103,9 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP>> RCPT TO:<NOTok2@elsewhere>
SMTP<< 550 NO
SMTP>> QUIT
-wrote callout cache domain record:
+wrote callout cache domain record for elsewhere:
result=1 postmaster=0 random=0
-wrote negative callout cache address record
+wrote negative callout cache address record for NOTok2@elsewhere
LOG: MAIN REJECT
H=[V4NET.0.0.2] U=root F=<NOTok2@elsewhere> rejected RCPT <nocheckpm@test.ex>: Sender verify failed
LOG: smtp_connection MAIN
diff --git a/test/stderr/0473 b/test/stderr/0473
index 257af6c38..3fd0cbb51 100644
--- a/test/stderr/0473
+++ b/test/stderr/0473
@@ -20,7 +20,7 @@ Connecting to 127.0.0.1 [127.0.0.1]:1224 ... connected
SMTP<< 250 OK
SMTP>> RCPT TO:<r11@two.test.ex>
SMTP timeout
-wrote callout cache domain record:
+wrote callout cache domain record for two.test.ex:
result=1 postmaster=0 random=0
LOG: MAIN REJECT
U=CALLER F=<x11@two.test.ex> temporarily rejected RCPT r11@two.test.ex: Could not complete recipient verify callout
diff --git a/test/stderr/5403 b/test/stderr/5403
index 49d3574fe..b088f32f1 100644
--- a/test/stderr/5403
+++ b/test/stderr/5403
@@ -65,8 +65,7 @@ MUNGED: ::1 will be omitted in what follows
>>> name=127.0.0.1 address=127.0.0.1
>>> routed by all router
>>> Attempting full verification using callout
->>> callout cache: no domain record found for domain.com
->>> callout cache: no address record found for verify@domain.com/<CALLER@myhost.test.ex>
+>>> callout cache: disabled by no_cache
>>> interface=ip4.ip4.ip4.ip4 port=1224
>>> Connecting to 127.0.0.1 [127.0.0.1]:1224 from ip4.ip4.ip4.ip4 ... connected
>>> SMTP<< 220 server ready
@@ -78,9 +77,7 @@ MUNGED: ::1 will be omitted in what follows
>>> SMTP<< 250 OK
>>> SMTP>> RCPT TO:<verify@domain.com>
>>> SMTP<< 250 OK
->>> wrote callout cache domain record:
->>> result=1 postmaster=0 random=0
->>> wrote positive callout cache address record
+>>> holding verify callout open for cutthrough delivery
>>> ----------- end verify ------------
>>> warn: condition test succeeded in ACL "ar"
>>> processing "accept"
diff --git a/test/stderr/5410 b/test/stderr/5410
index 8762f82a1..1ed0824e8 100644
--- a/test/stderr/5410
+++ b/test/stderr/5410
@@ -116,6 +116,7 @@ considering: :}}
SMTP<< 250 OK
SMTP>> RCPT TO:<userx@domain.com>
SMTP<< 250 Accepted
+holding verify callout open for cutthrough delivery
----------- end cutthrough setup ------------
processing "accept"
accept: condition test succeeded in inline ACL
@@ -329,6 +330,7 @@ considering: *}{:}}
SMTP<< 250 OK
SMTP>> RCPT TO:<usery@domain.com>
SMTP<< 250 Accepted
+holding verify callout open for cutthrough delivery
----------- end cutthrough setup ------------
processing "accept"
accept: condition test succeeded in inline ACL
@@ -542,6 +544,7 @@ considering: *}{:}}
SMTP<< 250 OK
SMTP>> RCPT TO:<usery@domain.com>
SMTP<< 250 Accepted
+holding verify callout open for cutthrough delivery
----------- end cutthrough setup ------------
processing "accept"
accept: condition test succeeded in inline ACL
diff --git a/test/stderr/5420 b/test/stderr/5420
index f289d1a4c..05135dd5a 100644
--- a/test/stderr/5420
+++ b/test/stderr/5420
@@ -115,6 +115,7 @@ considering: :}}
SMTP<< 250 OK
SMTP>> RCPT TO:<userx@domain.com>
SMTP<< 250 Accepted
+holding verify callout open for cutthrough delivery
----------- end cutthrough setup ------------
processing "accept"
accept: condition test succeeded in inline ACL
@@ -328,6 +329,7 @@ considering: *}{:}}
SMTP<< 250 OK
SMTP>> RCPT TO:<usery@domain.com>
SMTP<< 250 Accepted
+holding verify callout open for cutthrough delivery
----------- end cutthrough setup ------------
processing "accept"
accept: condition test succeeded in inline ACL
@@ -541,6 +543,7 @@ considering: *}{:}}
SMTP<< 250 OK
SMTP>> RCPT TO:<usery@domain.com>
SMTP<< 250 Accepted
+holding verify callout open for cutthrough delivery
----------- end cutthrough setup ------------
processing "accept"
accept: condition test succeeded in inline ACL
diff --git a/test/stderr/5840 b/test/stderr/5840
index 91e80e8ea..250e606ca 100644
--- a/test/stderr/5840
+++ b/test/stderr/5840
@@ -51,9 +51,9 @@ MUNGED: ::1 will be omitted in what follows
>>> SMTP>> RCPT TO:<CALLER@dane256ee.test.ex>
>>> SMTP<< 250 Accepted
>>> SMTP>> QUIT
->>> wrote callout cache domain record:
+>>> wrote callout cache domain record for dane256ee.test.ex:
>>> result=1 postmaster=0 random=0
->>> wrote positive callout cache address record
+>>> wrote positive callout cache address record for CALLER@dane256ee.test.ex
>>> ----------- end verify ------------
>>> accept: condition test succeeded in inline ACL
>>> end of inline ACL: ACCEPT