X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/d12746bc15d83ab821be36975da0179672708bc1..fb34a7cb31f66ad7311687840214a92e3737f10b:/src/src/smtp_out.c diff --git a/src/src/smtp_out.c b/src/src/smtp_out.c index 9bd90c77a..4be7b9c17 100644 --- a/src/src/smtp_out.c +++ b/src/src/smtp_out.c @@ -191,6 +191,8 @@ switch (tcp_out_fastopen) tcp_out_fastopen = TFO_NOT_USED; } break; + + default: break; /* compiler quietening */ } # endif } @@ -688,22 +690,27 @@ Returns: TRUE if a valid, non-error response was received; else FALSE /*XXX could move to smtp transport; no other users */ BOOL -smtp_read_response(void * sx0, uschar *buffer, int size, int okdigit, +smtp_read_response(void * sx0, uschar * buffer, int size, int okdigit, int timeout) { smtp_context * sx = sx0; -uschar *ptr = buffer; +uschar * ptr = buffer; int count = 0; errno = 0; /* Ensure errno starts out zero */ #ifdef EXPERIMENTAL_PIPE_CONNECT if (sx->pending_BANNER || sx->pending_EHLO) - if (smtp_reap_early_pipe(sx, &count) != OK) + { + int rc; + if ((rc = smtp_reap_early_pipe(sx, &count)) != OK) { DEBUG(D_transport) debug_printf("failed reaping pipelined cmd responsess\n"); + buffer[0] = '\0'; + if (rc == DEFER) errno = ERRNO_TLSFAILURE; return FALSE; } + } #endif /* This is a loop to read and concatenate the lines that make up a multi-line