summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/doc-docbook/spec.xfpt6
-rw-r--r--doc/doc-txt/ChangeLog6
-rw-r--r--src/src/verify.c3
3 files changed, 11 insertions, 4 deletions
diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt
index e38e2847e..128aef3d1 100644
--- a/doc/doc-docbook/spec.xfpt
+++ b/doc/doc-docbook/spec.xfpt
@@ -29044,7 +29044,7 @@ any ACL verb, including &%deny%& (though this is potentially useful only in a
RCPT ACL).
Headers will not be added to the message if the modifier is used in
-DATA, MIME or DKIM ACLs for messages delivered by cutthrough routing.
+DATA, MIME or DKIM ACLs for a message delivered by cutthrough routing.
Leading and trailing newlines are removed from
the data for the &%add_header%& modifier; if it then
@@ -29145,8 +29145,8 @@ receiving a message). The message must ultimately be accepted for
with any ACL verb, including &%deny%&, though this is really not useful for
any verb that doesn't result in a delivered message.
-Headers will not be removed to the message if the modifier is used in
-DATA, MIME or DKIM ACLs for messages delivered by cutthrough routing.
+Headers will not be removed from the message if the modifier is used in
+DATA, MIME or DKIM ACLs for a message delivered by cutthrough routing.
More than one header can be removed at the same time by using a colon separated
list of header names. The header matching is case insensitive. Wildcards are
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index c1b43244b..0fe63f123 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -49,6 +49,12 @@ JH/11 Cutthrough: avoid using the callout hints db on a verify callout when
JH/12 Cutthrough: disable when verify option success_on_redirect is used, and
when routing results in more than one destination address.
+JH/13 Cutthrough: expand transport dkim_domain option when testing for dkim
+ signing (which inhibits the cutthrough capability). Previously only
+ the presence of an option was tested; now an expansion evaluating as
+ empty is permissible (obviously it should depend only on data available
+ when the cutthrough connection is made).
+
Exim version 4.87
-----------------
diff --git a/src/src/verify.c b/src/src/verify.c
index a73004028..3624af0bc 100644
--- a/src/src/verify.c
+++ b/src/src/verify.c
@@ -889,13 +889,14 @@ can do it there for the non-rcpt-verify case. For this we keep an addresscount.
/* Need proper integration with the proper transport mechanism. */
if (cutthrough.delivery)
{
+ uschar * s;
if (addr->transport->filter_command)
{
cutthrough.delivery = FALSE;
HDEBUG(D_acl|D_v) debug_printf("Cutthrough cancelled by presence of transport filter\n");
}
#ifndef DISABLE_DKIM
- if (ob->dkim_domain)
+ else if ((s = ob->dkim_domain) && (s = expand_string(s)) && *s)
{
cutthrough.delivery = FALSE;
HDEBUG(D_acl|D_v) debug_printf("Cutthrough cancelled by presence of DKIM signing\n");