summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeremy Harris <jgh146exb@wizmail.org>2018-03-26 16:59:29 +0100
committerJeremy Harris <jgh146exb@wizmail.org>2018-03-26 17:34:17 +0100
commitc85476e9d9f9002927fc3e2a6a12005423359ff1 (patch)
tree00babbe0446408b62b056c57967d3a2e3f5cb7dc /src
parent5add7dc43769f6bac7de978b778b20276e7b0464 (diff)
Cutthrough: for an onward finaldot timeout, generate an initator 450 in defer=pass mode
Diffstat (limited to 'src')
-rw-r--r--src/src/receive.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/src/receive.c b/src/src/receive.c
index 4cc43eb3a..4e1dca5c5 100644
--- a/src/src/receive.c
+++ b/src/src/receive.c
@@ -4157,9 +4157,11 @@ if(cutthrough.fd >= 0 && cutthrough.delivery)
case '4': /* Temp-reject. Keep spoolfiles and accept, unless defer-pass mode.
... for which, pass back the exact error */
if (cutthrough.defer_pass) smtp_reply = string_copy_malloc(msg);
- /*FALLTRHOUGH*/
+ cutthrough_done = TMP_REJ; /* Avoid the usual immediate delivery attempt */
+ break; /* message_id needed for SMTP accept below */
default: /* Unknown response, or error. Treat as temp-reject. */
+ if (cutthrough.defer_pass) smtp_reply = US"450 Onward transmission not accepted";
cutthrough_done = TMP_REJ; /* Avoid the usual immediate delivery attempt */
break; /* message_id needed for SMTP accept below */