[exim-cvs] deliver

Página superior
Eliminar este mensaje
Responder a este mensaje
Autor: Exim Git Commits Mailing List
Fecha:  
A: exim-cvs
Asunto: [exim-cvs] deliver
Gitweb: https://git.exim.org/exim.git/commitdiff/f7da81e789e2f20b00f46f07260488f337984b84
Commit:     f7da81e789e2f20b00f46f07260488f337984b84
Parent:     dbac5a049acbe645a816b4a5e895c5be0de53483
Author:     Heiko Schlittermann (HS12-RIPE) <hs@???>
AuthorDate: Wed Mar 31 23:12:44 2021 +0200
Committer:  Heiko Schlittermann (HS12-RIPE) <hs@???>
CommitDate: Thu Jun 24 21:43:10 2021 +0200


    deliver


    (cherry picked from commit 2fee91ae42e974c21202e0b5e17185f6a87bf8af)
---
 src/src/deliver.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)


diff --git a/src/src/deliver.c b/src/src/deliver.c
index 4e472eb..a6f6882 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