diff options
author | Jeremy Harris <jgh146exb@wizmail.org> | 2020-03-10 17:06:26 +0000 |
---|---|---|
committer | Jeremy Harris <jgh146exb@wizmail.org> | 2020-03-10 17:06:26 +0000 |
commit | 4ca005cdf526b0c6803c29a154bd85dc112bc6a3 (patch) | |
tree | a5c7c572072bc27e43bc9dfdcfc25c1ccb0ab16c /src | |
parent | 691ca88ca06899e02e77cb28fbf075de450607bc (diff) |
Early-pipe: retry without pipelining on first-response failure
Diffstat (limited to 'src')
-rw-r--r-- | src/src/transports/smtp.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/src/transports/smtp.c b/src/src/transports/smtp.c index 13410b839..6f999097a 100644 --- a/src/src/transports/smtp.c +++ b/src/src/transports/smtp.c @@ -2079,6 +2079,7 @@ if (!continue_hostname) else DEBUG(D_transport) debug_printf("helo needs $sending_ip_address\n"); +PIPE_CONNECT_RETRY: if (sx->early_pipe_active) sx->outblock.conn_args = &sx->conn_args; else @@ -2425,7 +2426,10 @@ if ( smtp_peer_options & OPTION_TLS { HDEBUG(D_transport) debug_printf("failed reaping pipelined cmd responses\n"); - goto RESPONSE_FAILED; + close(sx->cctx.sock); + sx->cctx.sock = -1; + sx->early_pipe_active = FALSE; + goto PIPE_CONNECT_RETRY; } #endif |