X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/eb24befc3e9ad0a36ef8f0bc3527a9bc6c923a7b..6707bfa9fb78858de938a1abca2846c820c5ded7:/src/src/transports/lmtp.c?ds=sidebyside diff --git a/src/src/transports/lmtp.c b/src/src/transports/lmtp.c index 517a13494..2dd0f328b 100644 --- a/src/src/transports/lmtp.c +++ b/src/src/transports/lmtp.c @@ -2,8 +2,10 @@ * Exim - an Internet mail transport agent * *************************************************/ +/* Copyright (c) The Exim Maintainers 2020 - 2022 */ /* Copyright (c) University of Cambridge 1995 - 2018 */ /* See the file NOTICE for conditions of use and distribution. */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ #include "../exim.h" @@ -239,7 +241,7 @@ if (!string_vformat(&gs, SVFMT_TAINT_NOCHK, CS format, ap)) return FALSE; } va_end(ap); -DEBUG(D_transport|D_v) debug_printf(" LMTP>> %s", string_from_gstring(&gs)); +DEBUG(D_transport|D_v) debug_printf(" LMTP>> %Y", &gs); rc = write(fd, gs.s, gs.ptr); gs.ptr -= 2; string_from_gstring(&gs); /* remove \r\n for debug and error message */ if (rc > 0) return TRUE; @@ -488,8 +490,8 @@ if (ob->cmd) { DEBUG(D_transport) debug_printf("using command %s\n", ob->cmd); sprintf(CS buffer, "%.50s transport", tblock->name); - if (!transport_set_up_command(&argv, ob->cmd, TRUE, PANIC, addrlist, buffer, - NULL)) + if (!transport_set_up_command(&argv, ob->cmd, TSUC_EXPAND_ARGS, PANIC, + addrlist, buffer, NULL)) return FALSE; /* If the -N option is set, can't do any more. Presume all has gone well. */ @@ -557,23 +559,23 @@ allows for message+recipient checks after the message has been received. */ /* First thing is to wait for an initial greeting. */ Ustrcpy(big_buffer, US"initial connection"); -if (!lmtp_read_response(out, buffer, sizeof(buffer), '2', - timeout)) goto RESPONSE_FAILED; +if (!lmtp_read_response(out, buffer, sizeof(buffer), '2', timeout)) + goto RESPONSE_FAILED; /* Next, we send a LHLO command, and expect a positive response */ -if (!lmtp_write_command(fd_in, "%s %s\r\n", "LHLO", - primary_hostname)) goto WRITE_FAILED; +if (!lmtp_write_command(fd_in, "%s %s\r\n", "LHLO", primary_hostname)) + goto WRITE_FAILED; -if (!lmtp_read_response(out, buffer, sizeof(buffer), '2', - timeout)) goto RESPONSE_FAILED; +if (!lmtp_read_response(out, buffer, sizeof(buffer), '2', timeout)) + goto RESPONSE_FAILED; /* If the ignore_quota option is set, note whether the server supports the IGNOREQUOTA option, and if so, set an appropriate addition for RCPT. */ if (ob->ignore_quota) - igquotstr = (pcre_exec(regex_IGNOREQUOTA, NULL, CS buffer, - Ustrlen(CS buffer), 0, PCRE_EOPT, NULL, 0) >= 0)? US" IGNOREQUOTA" : US""; + igquotstr = regex_match(regex_IGNOREQUOTA, buffer, -1, NULL) + ? US" IGNOREQUOTA" : US""; /* Now the envelope sender */