summaryrefslogtreecommitdiffstats
path: root/debian/patches/75_09-pipe.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/75_09-pipe.patch')
-rw-r--r--debian/patches/75_09-pipe.patch36
1 files changed, 36 insertions, 0 deletions
diff --git a/debian/patches/75_09-pipe.patch b/debian/patches/75_09-pipe.patch
new file mode 100644
index 0000000..0ec9bcf
--- /dev/null
+++ b/debian/patches/75_09-pipe.patch
@@ -0,0 +1,36 @@
+From f9628406706112be459adb3f121db8e6cf282c2d Mon Sep 17 00:00:00 2001
+From: "Heiko Schlittermann (HS12-RIPE)" <hs@schlittermann.de>
+Date: Fri, 2 Apr 2021 17:30:27 +0200
+Subject: [PATCH 09/23] pipe
+
+---
+ src/transports/pipe.c | 9 ++++++---
+ 1 file changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/src/transports/pipe.c b/src/transports/pipe.c
+index 27422bd42..4c9e68beb 100644
+--- a/src/transports/pipe.c
++++ b/src/transports/pipe.c
+@@ -599,13 +599,16 @@ if (!cmd || !*cmd)
+ tblock->name);
+ return FALSE;
+ }
+-if (is_tainted(cmd))
++
++{ uschar *m;
++if (m = is_tainted2(cmd, 0, "Tainted '%s' (command "
++ "for %s transport) not permitted", cmd, tblock->name))
+ {
+- addr->message = string_sprintf("Tainted '%s' (command "
+- "for %s transport) not permitted", cmd, tblock->name);
+ addr->transport_return = PANIC;
++ addr->message = m;
+ return FALSE;
+ }
++}
+
+ /* When a pipe is set up by a filter file, there may be values for $thisaddress
+ and numerical the variables in existence. These are passed in
+--
+2.30.2
+