summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>2021-03-31 23:12:44 +0200
committerHeiko Schlittermann (HS12-RIPE) <hs@schlittermann.de>2021-06-24 21:43:10 +0200
commitf7da81e789e2f20b00f46f07260488f337984b84 (patch)
tree8716aba6cfd2c0e17ed96333c8375026307b9327
parentdbac5a049acbe645a816b4a5e895c5be0de53483 (diff)
downloadexim4-f7da81e789e2f20b00f46f07260488f337984b84.tar.gz
deliver
(cherry picked from commit 2fee91ae42e974c21202e0b5e17185f6a87bf8af)
-rw-r--r--src/src/deliver.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/src/deliver.c b/src/src/deliver.c
index 4e472ebe6..a6f68825c 100644
--- a/src/src/deliver.c
+++ b/src/src/deliver.c
@@ -5550,10 +5550,11 @@ FILE * fp = NULL;
if (!s || !*s)
log_write(0, LOG_MAIN|LOG_PANIC,
"Failed to expand %s: '%s'\n", varname, filename);
-else if (*s != '/' || is_tainted(s))
- log_write(0, LOG_MAIN|LOG_PANIC,
- "%s is not %s after expansion: '%s'\n",
- varname, *s == '/' ? "untainted" : "absolute", s);
+else if (*s != '/')
+ log_write(0, LOG_MAIN|LOG_PANIC, "%s is not absolute after expansion: '%s'\n",
+ varname, s);
+else if (is_tainted2(s, LOG_MAIN|LOG_PANIC, "Tainted %s after expansion: '%s'\n", varname, s))
+ ;
else if (!(fp = Ufopen(s, "rb")))
log_write(0, LOG_MAIN|LOG_PANIC, "Failed to open %s for %s "
"message texts: %s", s, reason, strerror(errno));
@@ -6160,12 +6161,13 @@ else if (system_filter && process_recipients != RECIP_FAIL_TIMEOUT)
{
uschar *tmp = expand_string(tpname);
address_file = address_pipe = NULL;
+ uschar *m;
if (!tmp)
p->message = string_sprintf("failed to expand \"%s\" as a "
"system filter transport name", tpname);
- if (is_tainted(tmp))
- p->message = string_sprintf("attempt to used tainted value '%s' for"
- "transport '%s' as a system filter", tmp, tpname);
+ if (is_tainted2(tmp, 0, m = string_sprintf("Tainted values '%s' "
+ "for transport '%s' as a system filter", tmp, tpname)))
+ p->message = m;
tpname = tmp;
}
else