X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/0cc804c87799fb5902e66d5bd537a762f786dc2a..481eeb93961ef9998901c522b498253d75124fb4:/src/src/transports/autoreply.c?ds=sidebyside diff --git a/src/src/transports/autoreply.c b/src/src/transports/autoreply.c index a2441d209..690ec4a92 100644 --- a/src/src/transports/autoreply.c +++ b/src/src/transports/autoreply.c @@ -2,12 +2,15 @@ * Exim - an Internet mail transport agent * *************************************************/ +/* Copyright (c) The Exim Maintainers 2020 - 2022 */ /* Copyright (c) University of Cambridge 1995 - 2018 */ -/* Copyright (c) The Exim Maintainers 2020 - 2021 */ /* See the file NOTICE for conditions of use and distribution. */ +/* SPDX-License-Identifier: GPL-2.0-or-later */ #include "../exim.h" + +#ifdef TRANSPORT_AUTOREPLY /* Remainder of file */ #include "autoreply.h" @@ -313,20 +316,21 @@ if (addr->reply) } else { - uschar *oncerepeat = ob->once_repeat; + uschar * oncerepeat; DEBUG(D_transport) debug_printf("taking data from transport\n"); - from = ob->from; - reply_to = ob->reply_to; - to = ob->to; - cc = ob->cc; - bcc = ob->bcc; - subject = ob->subject; - headers = ob->headers; - text = ob->text; - file = ob->file; - logfile = ob->logfile; - oncelog = ob->oncelog; + GET_OPTION("once_repeat"); oncerepeat = ob->once_repeat; + GET_OPTION("from"); from = ob->from; + GET_OPTION("reply_to"); reply_to = ob->reply_to; + GET_OPTION("to"); to = ob->to; + GET_OPTION("cc"); cc = ob->cc; + GET_OPTION("bcc"); bcc = ob->bcc; + GET_OPTION("subject"); subject = ob->subject; + GET_OPTION("headers"); headers = ob->headers; + GET_OPTION("text"); text = ob->text; + GET_OPTION("file"); file = ob->file; + GET_OPTION("log"); logfile = ob->logfile; + GET_OPTION("once"); oncelog = ob->oncelog; file_expand = ob->file_expand; return_message = ob->return_message; @@ -492,19 +496,7 @@ if (oncelog && *oncelog && to) exim_datum_size_set(&key_datum, Ustrlen(to) + 1); if (exim_dbget(dbm_file, &key_datum, &result_datum)) - { - /* If the datum size is that of a binary time, we are in the new world - where messages are sent periodically. Otherwise the file is an old one, - where the datum was filled with a tod_log time, which is assumed to be - different in size. For that, only one message is ever sent. This change - introduced at Exim 3.00. In a couple of years' time the test on the size - can be abolished. */ - - if (exim_datum_size_get(&result_datum) == sizeof(time_t)) - memcpy(&then, exim_datum_data_get(&result_datum), sizeof(time_t)); - else - then = now; - } + memcpy(&then, exim_datum_data_get(&result_datum), sizeof(time_t)); } /* Either "then" is set zero, if no message has yet been sent, or it @@ -623,7 +615,6 @@ if (text) if (ff) { -debug_printf("%s %d: ff\n", __FUNCTION__, __LINE__); while (Ufgets(big_buffer, big_buffer_size, ff) != NULL) { if (file_expand) @@ -647,7 +638,6 @@ limit if we are returning the body. */ if (return_message) { -debug_printf("%s %d: ret msg\n", __FUNCTION__, __LINE__); uschar *rubric = tblock->headers_only ? US"------ This is a copy of the message's header lines.\n" : tblock->body_only @@ -820,4 +810,5 @@ return FALSE; } #endif /*!MACRO_PREDEF*/ +#endif /*TRANSPORT_AUTOREPOL*/ /* End of transport/autoreply.c */