diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2012-04-29 18:22:56 +0100 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2012-06-04 14:57:02 +0100 |
commit | 528fde2aff25fbe284332ad2ec4b8cb5fc8c7859 (patch) | |
tree | 0af9393516072f04c2712bcb9db897e4a547da97 /src | |
parent | e4bdf6524e2611c6bc0279b33037c31eec6daa35 (diff) |
Testsuite cases for basic cutthrough_delivery.
Also fixed bug where a predata acl was required for cutthrough.
Diffstat (limited to 'src')
-rw-r--r-- | src/src/smtp_in.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/src/smtp_in.c b/src/src/smtp_in.c index 38162cd4c..9652a06e6 100644 --- a/src/src/smtp_in.c +++ b/src/src/smtp_in.c @@ -3773,12 +3773,14 @@ while (done <= 0) } /* If there is an ACL, re-check the synchronization afterwards, since the - ACL may have delayed. */ + ACL may have delayed. To handle cutthrough delivery enforce a dummy call + to get the DATA command sent. */ - if (acl_smtp_predata == NULL) rc = OK; else + if (acl_smtp_predata == NULL && cutthrough_fd < 0) rc = OK; else { + uschar * acl= acl_smtp_predata ? acl_smtp_predata : US"accept"; enable_dollar_recipients = TRUE; - rc = acl_check(ACL_WHERE_PREDATA, NULL, acl_smtp_predata, &user_msg, + rc = acl_check(ACL_WHERE_PREDATA, NULL, acl, &user_msg, &log_msg); enable_dollar_recipients = FALSE; if (rc == OK && !check_sync()) goto SYNC_FAILURE; |