summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2018-03-26 15:53:49 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2018-04-04 00:21:14 +0100
commitcb387849bcd092eab3a7dbebb7580db044eff0bd (patch)
treef2c092b00f36461cdb4572f8dfc55ffd83935114 /src
parentdb17048e236a120da3918e3ea5badd4a5193e24c (diff)
Cutthrough: enforce non-use in combination with DKIM signing or transport filter
Broken-by: 02b41d7106
Diffstat (limited to 'src')
-rw-r--r--src/src/verify.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/src/verify.c b/src/src/verify.c
index 9582fe5b7..1df856604 100644
--- a/src/src/verify.c
+++ b/src/src/verify.c
@@ -1026,6 +1026,20 @@ no_conn:
here is where we want to leave the conn open. Ditto for a lazy-close
verify. */
+ if (cutthrough.delivery)
+ {
+ if (addr->transport->filter_command)
+ {
+ cutthrough.delivery= FALSE;
+ HDEBUG(D_acl|D_v) debug_printf("Cutthrough cancelled by presence of transport filter\n");
+ }
+ if (ob->dkim.dkim_domain)
+ {
+ cutthrough.delivery= FALSE;
+ HDEBUG(D_acl|D_v) debug_printf("Cutthrough cancelled by presence of DKIM signing\n");
+ }
+ }
+
if ( (cutthrough.delivery || options & vopt_callout_hold)
&& rcpt_count == 1
&& done