summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2018-03-26 15:59:25 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2018-03-26 17:34:17 +0100
commit5add7dc43769f6bac7de978b778b20276e7b0464 (patch)
tree8d104d14c6b70ee5a4091f98116a555ad2fe99bb
parent857eaf37225f30609fef43222ba4db4ad88847e6 (diff)
downloadexim4-5add7dc43769f6bac7de978b778b20276e7b0464.tar.gz
ARC: cutthrough delivery may not be used with ARC signing
-rw-r--r--doc/doc-txt/ChangeLog1
-rw-r--r--doc/doc-txt/experimental-spec.txt4
-rw-r--r--src/src/verify.c4
3 files changed, 7 insertions, 2 deletions
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog
index 525f47b31..cbc7f2baa 100644
--- a/doc/doc-txt/ChangeLog
+++ b/doc/doc-txt/ChangeLog
@@ -181,6 +181,7 @@ JH/33 SPF: remove support for the "spf" ACL condition outcome values "err_temp"
JH/34 Re-introduce enforcement of no cutthrough delivery on transports having
transport-filters or DKIM-signing. The restriction was lost in the
consolidation of verify-callout and delivery SMTP handling.
+ Extend the restriction to also cover ARC-signing.
Exim version 4.90
diff --git a/doc/doc-txt/experimental-spec.txt b/doc/doc-txt/experimental-spec.txt
index 4be142e66..4e244ac5f 100644
--- a/doc/doc-txt/experimental-spec.txt
+++ b/doc/doc-txt/experimental-spec.txt
@@ -820,6 +820,10 @@ Caveats:
should try to stick to one ADMD, so pick a primary domain and use that for
AR headers and outbound signing.
+Signing is not compatible with cutthrough delivery; any (before expansion)
+value set for the option will result in cutthrough delivery not being
+used via the transport in question.
+
--------------------------------------------------------------
diff --git a/src/src/verify.c b/src/src/verify.c
index 1df856604..1555838ac 100644
--- a/src/src/verify.c
+++ b/src/src/verify.c
@@ -1033,10 +1033,10 @@ no_conn:
cutthrough.delivery= FALSE;
HDEBUG(D_acl|D_v) debug_printf("Cutthrough cancelled by presence of transport filter\n");
}
- if (ob->dkim.dkim_domain)
+ if (ob->dkim.dkim_domain || ob->arc_sign)
{
cutthrough.delivery= FALSE;
- HDEBUG(D_acl|D_v) debug_printf("Cutthrough cancelled by presence of DKIM signing\n");
+ HDEBUG(D_acl|D_v) debug_printf("Cutthrough cancelled by presence of DKIM or ARC signing\n");
}
}