diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2014-01-05 15:27:19 +0000 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2014-01-05 15:27:57 +0000 |
commit | 73305f2ddd22b79d59780a522e16b233228f2ad3 (patch) | |
tree | 0d6aec04d89baea53d9fbde4b542e7aa4f275753 | |
parent | a3bddaa8058346a11835f0d9947f3f60bb029fef (diff) | |
parent | d6e96b36bd210fc2dbf8830202ff4daf0720ef1a (diff) |
Explicitly disable cutthrough on transports having filters
-rw-r--r-- | doc/doc-docbook/spec.xfpt | 1 | ||||
-rw-r--r-- | src/src/verify.c | 13 |
2 files changed, 9 insertions, 5 deletions
diff --git a/doc/doc-docbook/spec.xfpt b/doc/doc-docbook/spec.xfpt index f29c38722..0ed811ab5 100644 --- a/doc/doc-docbook/spec.xfpt +++ b/doc/doc-docbook/spec.xfpt @@ -27303,6 +27303,7 @@ line. Delivery in this mode avoids the generation of a bounce mail to a (possibly faked) sender when the destination system is doing content-scan based rejection. +Cutthrough delivery is not supported via transport-filters. .vitem &*control&~=&~debug/*&<&'options'&> diff --git a/src/src/verify.c b/src/src/verify.c index a09782bcd..911d67227 100644 --- a/src/src/verify.c +++ b/src/src/verify.c @@ -694,13 +694,15 @@ else done = TRUE; /* so far so good; have response to HELO */ - /*XXX the EHLO response would be analyzed here for IGNOREQUOTA, SIZE, PIPELINING, AUTH */ - /* If we haven't authenticated, but are required to, give up. */ + /*XXX the EHLO response would be analyzed here for IGNOREQUOTA, SIZE, PIPELINING */ - /*XXX "filter command specified for this transport" ??? */ - /* for now, transport_filter by cutthrough-delivery is not supported */ + /* For now, transport_filter by cutthrough-delivery is not supported */ /* Need proper integration with the proper transport mechanism. */ - + if (cutthrough_delivery && addr->transport->filter_command) + { + cutthrough_delivery= FALSE; + HDEBUG(D_acl|D_v) debug_printf("Cutthrough cancelled by presence of transport filter\n"); + } SEND_FAILED: RESPONSE_FAILED: @@ -722,6 +724,7 @@ else } } + /* If we haven't authenticated, but are required to, give up. */ /* Try to AUTH */ else done = smtp_auth(responsebuffer, sizeof(responsebuffer), |