X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Ftransports%2Flmtp.c;h=610320c25aa86f7174d8cda09e4d50b92657a1cf;hb=b7d3afcfad94edf99a8dbc50ab670ded417e6bea;hp=0cd89af8f8dd6350936f48b46ef13267c7475755;hpb=3386088d5af4d4c61faa12ae29560e2c5bd43304;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/transports/lmtp.c b/src/src/transports/lmtp.c index 0cd89af8f..610320c25 100644 --- a/src/src/transports/lmtp.c +++ b/src/src/transports/lmtp.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2016 */ /* See the file NOTICE for conditions of use and distribution. */ @@ -106,7 +106,7 @@ Arguments: more_errno from the top address for use with ERRNO_FILTER_FAIL buffer the LMTP response buffer yield where to put a one-digit LMTP response code - message where to put an errror message + message where to put an error message Returns: TRUE if a "QUIT" command should be sent, else FALSE */ @@ -217,6 +217,7 @@ va_list ap; va_start(ap, format); if (!string_vformat(big_buffer, big_buffer_size, CS format, ap)) { + va_end(ap); errno = ERRNO_SMTPFORMAT; return FALSE; } @@ -608,6 +609,13 @@ for (addr = addrlist; addr != NULL; addr = addr->next) if (send_data) { BOOL ok; + transport_ctx tctx = { + fd_in, + tblock, + addrlist, + US".", US"..", + ob->options + }; if (!lmtp_write_command(fd_in, "DATA\r\n")) goto WRITE_FAILED; if (!lmtp_read_response(out, buffer, sizeof(buffer), '3', timeout)) @@ -627,9 +635,7 @@ if (send_data) debug_printf(" LMTP>> writing message and terminating \".\"\n"); transport_count = 0; - ok = transport_write_message(addrlist, fd_in, ob->options, 0, - tblock->add_headers, tblock->remove_headers, US".", US"..", - tblock->rewrite_rules, tblock->rewrite_existflags); + ok = transport_write_message(&tctx, 0); /* Failure can either be some kind of I/O disaster (including timeout), or the failure of a transport filter or the expansion of added headers. */ @@ -654,7 +660,7 @@ if (send_data) if (lmtp_read_response(out, buffer, sizeof(buffer), '2', timeout)) { addr->transport_return = OK; - if ((log_extra_selector & LX_smtp_confirmation) != 0) + if (LOGGING(smtp_confirmation)) { const uschar *s = string_printing(buffer); /* de-const safe here as string_printing known to have alloc'n'copied */