diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2020-02-16 21:03:46 +0000 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2020-02-17 13:53:18 +0000 |
commit | 5bf8a51681e171328e72f5d5b5ef8fd8a67d5f05 (patch) | |
tree | 8592c691af40544f36f7447d7840dc7d19d408c8 | |
parent | 777cc7485cb3242eb627fbd9fa004b7a4e58ae92 (diff) |
Fix continued-connection SIZE parameter on MAIL commmand. Bug 2525
-rw-r--r-- | doc/doc-txt/ChangeLog | 5 | ||||
-rw-r--r-- | src/src/transports/smtp.c | 3 |
2 files changed, 6 insertions, 2 deletions
diff --git a/doc/doc-txt/ChangeLog b/doc/doc-txt/ChangeLog index 22ea6ad7b..116df90d0 100644 --- a/doc/doc-txt/ChangeLog +++ b/doc/doc-txt/ChangeLog @@ -126,6 +126,11 @@ JH/25 Fix use of concurrent TLS connections under GnuTLS. When a callout was used rather than per-connection info for tracking the state of data queued for transmission. This could result in a connection hang. +JH/26 Fix use of the SIZE parameter on MAIL commands, on continued connections. + Previously, when delivering serveral messages down a single connection + only the first would provide a SIZE. This was due to the size information + not being properly tracked. + Exim version 4.93 ----------------- diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c index b748b7657..5c5f37d2b 100644 --- a/src/src/transports/smtp.c +++ b/src/src/transports/smtp.c @@ -2377,6 +2377,7 @@ else } sx->inblock.cctx = sx->outblock.cctx = &sx->cctx; smtp_command = big_buffer; + sx->peer_offered = smtp_peer_options; sx->helo_data = NULL; /* ensure we re-expand ob->helo_data */ /* For a continued connection with TLS being proxied for us, or a @@ -2387,7 +2388,6 @@ else && cutthrough.is_tls) ) { - sx->peer_offered = smtp_peer_options; sx->pipelining_used = pipelining_active = !!(smtp_peer_options & OPTION_PIPE); HDEBUG(D_transport) debug_printf("continued connection, %s TLS\n", continue_proxy_cipher ? "proxied" : "verify conn with"); @@ -3512,7 +3512,6 @@ always has a sequence number greater than one. */ if (continue_hostname && continue_sequence == 1) { - sx->peer_offered = smtp_peer_options; /* sx->pending_MAIL = FALSE; */ sx->ok = TRUE; /* sx->next_addr = NULL; */ |