X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/190404d75c168ce1e6dbf6ee08bdbbf62b365e4b..4e48d56c083d2f763a5978e1dbf515b12dc12f96:/src/src/smtp_out.c diff --git a/src/src/smtp_out.c b/src/src/smtp_out.c index 8a4dace7e..c1cf901dc 100644 --- a/src/src/smtp_out.c +++ b/src/src/smtp_out.c @@ -444,7 +444,7 @@ BOOL more = mode == SCMD_MORE; HDEBUG(D_transport|D_acl) debug_printf_indent("cmd buf flush %d bytes%s\n", n, more ? " (more expected)" : ""); -#ifdef SUPPORT_TLS +#ifndef DISABLE_TLS if (outblock->cctx->tls_ctx) rc = tls_write(outblock->cctx->tls_ctx, outblock->buffer, n, more); else @@ -641,7 +641,7 @@ for (;;) if((rc = ip_recv(cctx, inblock->buffer, inblock->buffersize, timeout)) <= 0) { - DEBUG(D_deliver|D_transport|D_acl) + DEBUG(D_deliver|D_transport|D_acl|D_v) debug_printf_indent(errno ? " SMTP(%s)<<\n" : " SMTP(closed)<<\n", strerror(errno)); break; @@ -690,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 +#ifdef SUPPORT_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