X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/18eacc1185bea956bd9c793ab34e582c08941799..80bacd22c5aaacd7fca966af7384ac6f2679cb21:/src/src/dkim_transport.c diff --git a/src/src/dkim_transport.c b/src/src/dkim_transport.c index 5b79b4b76..38f849af6 100644 --- a/src/src/dkim_transport.c +++ b/src/src/dkim_transport.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) The Exim Maintainers 2022 */ +/* Copyright (c) The Exim Maintainers 2022 - 2023 */ /* 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 */ @@ -384,6 +384,8 @@ BOOL dkim_transport_write_message(transport_ctx * tctx, struct ob_dkim * dkim, const uschar ** err) { +BOOL yield; + /* If we can't sign, just call the original function. */ if ( !(dkim->dkim_private_key && dkim->dkim_domain && dkim->dkim_selector) @@ -398,12 +400,16 @@ if ( !transport_filter_argv || !*transport_filter_argv || !**transport_filter_argv ) - return dkt_direct(tctx, dkim, err); + yield = dkt_direct(tctx, dkim, err); + +else + /* Use the transport path to write a file, calculate a dkim signature, + send the signature and then send the file. */ -/* Use the transport path to write a file, calculate a dkim signature, -send the signature and then send the file. */ + yield = dkt_via_kfile(tctx, dkim, err); -return dkt_via_kfile(tctx, dkim, err); +tctx->addr->dkim_used = string_from_gstring(dkim_signing_record); +return yield; } #endif /* whole file */