summaryrefslogtreecommitdiffstats
path: root/debian/patches/75_10-deliver.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/75_10-deliver.patch')
-rw-r--r--debian/patches/75_10-deliver.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/debian/patches/75_10-deliver.patch b/debian/patches/75_10-deliver.patch
new file mode 100644
index 0000000..ea4a542
--- /dev/null
+++ b/debian/patches/75_10-deliver.patch
@@ -0,0 +1,49 @@
+From 2fee91ae42e974c21202e0b5e17185f6a87bf8af Mon Sep 17 00:00:00 2001
+From: "Heiko Schlittermann (HS12-RIPE)" <hs@schlittermann.de>
+Date: Wed, 31 Mar 2021 23:12:44 +0200
+Subject: [PATCH 10/23] deliver
+
+---
+ src/deliver.c | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/src/deliver.c b/src/deliver.c
+index d85edd70e..8b7998f37 100644
+--- a/src/deliver.c
++++ b/src/deliver.c
+@@ -5538,10 +5538,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));
+@@ -6148,12 +6149,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
+--
+2.30.2
+