git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix ${run } arg parsing
[exim.git]
/
src
/
src
/
transport.c
diff --git
a/src/src/transport.c
b/src/src/transport.c
index f21b87c2202367741afe6a232f48cb33299c298e..d6cedf91171eea5a1f93ecd880a9c6ee9ba912cb 100644
(file)
--- a/
src/src/transport.c
+++ b/
src/src/transport.c
@@
-2,9
+2,10
@@
* Exim - an Internet mail transport agent *
*************************************************/
* Exim - an Internet mail transport agent *
*************************************************/
+/* Copyright (c) The Exim Maintainers 2020 - 2022 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
/* Copyright (c) University of Cambridge 1995 - 2018 */
-/* Copyright (c) The Exim Maintainers 2020 - 2021 */
/* See the file NOTICE for conditions of use and distribution. */
/* See the file NOTICE for conditions of use and distribution. */
+/* SPDX-License-Identifier: GPL-2.0-or-later */
/* General functions concerned with transportation, and generic options for all
transports. */
/* General functions concerned with transportation, and generic options for all
transports. */
@@
-2189,6
+2190,8
@@
if (expand_arguments)
for (int i = 0; argv[i]; i++)
{
for (int i = 0; argv[i]; i++)
{
+ DEBUG(D_expand) debug_printf_indent("arg %d\n", i);
+
/* Handle special fudge for passing an address list */
if (addr &&
/* Handle special fudge for passing an address list */
if (addr &&
@@
-2344,9
+2347,10
@@
if (expand_arguments)
else
{
const uschar *expanded_arg;
else
{
const uschar *expanded_arg;
+ BOOL enable_dollar_recipients_g = f.enable_dollar_recipients;
f.enable_dollar_recipients = allow_dollar_recipients;
expanded_arg = expand_cstring(argv[i]);
f.enable_dollar_recipients = allow_dollar_recipients;
expanded_arg = expand_cstring(argv[i]);
- f.enable_dollar_recipients =
FALSE
;
+ f.enable_dollar_recipients =
enable_dollar_recipients_g
;
if (!expanded_arg)
{
if (!expanded_arg)
{
@@
-2362,7
+2366,7
@@
if (expand_arguments)
return FALSE;
}
return FALSE;
}
- if ( f.running_in_test_harness && is_tainted(expanded_arg)
+ if (
f.running_in_test_harness && is_tainted(expanded_arg)
&& Ustrcmp(etext, "queryprogram router") == 0)
{ /* hack, would be good to not need it */
DEBUG(D_transport)
&& Ustrcmp(etext, "queryprogram router") == 0)
{ /* hack, would be good to not need it */
DEBUG(D_transport)