diff options
author | Heiko Schlittermann (HS12-RIPE) <hs@schlittermann.de> | 2021-03-28 11:06:27 +0200 |
---|---|---|
committer | Heiko Schlittermann (HS12-RIPE) <hs@schlittermann.de> | 2021-06-24 21:43:08 +0200 |
commit | f7509ba6fb5e1033c1406b87f057c9c48a217d27 (patch) | |
tree | 3bc41b1c8f43e7397938f003097d6a7d548c8217 /src | |
parent | e8b8b133c685e7b09f672016d117c7d8b49e70b1 (diff) |
autoreply
(cherry picked from commit 26de37d8960da80473866fb59b9dfd10a5761538)
Diffstat (limited to 'src')
-rw-r--r-- | src/src/transports/autoreply.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/src/transports/autoreply.c b/src/src/transports/autoreply.c index 865abbf4f..ed99de4c6 100644 --- a/src/src/transports/autoreply.c +++ b/src/src/transports/autoreply.c @@ -404,14 +404,15 @@ recipient cache. */ if (oncelog && *oncelog && to) { + uschar *m; time_t then = 0; - if (is_tainted(oncelog)) + if (m = is_tainted2(oncelog, 0, "Tainted '%s' (once file for %s transport)" + " not permitted", oncelog, tblock->name)) { addr->transport_return = DEFER; addr->basic_errno = EACCES; - addr->message = string_sprintf("Tainted '%s' (once file for %s transport)" - " not permitted", oncelog, tblock->name); + addr->message = m; goto END_OFF; } @@ -515,13 +516,14 @@ if (oncelog && *oncelog && to) if (then != 0 && (once_repeat_sec <= 0 || now - then < once_repeat_sec)) { + uschar *m; int log_fd; - if (is_tainted(logfile)) + if (m = is_tainted2(logfile, 0, "Tainted '%s' (logfile for %s transport)" + " not permitted", logfile, tblock->name)) { addr->transport_return = DEFER; addr->basic_errno = EACCES; - addr->message = string_sprintf("Tainted '%s' (logfile for %s transport)" - " not permitted", logfile, tblock->name); + addr->message = m; goto END_OFF; } @@ -548,12 +550,13 @@ if (oncelog && *oncelog && to) /* We are going to send a message. Ensure any requested file is available. */ if (file) { - if (is_tainted(file)) + uschar *m; + if (m = is_tainted2(file, 0, "Tainted '%s' (file for %s transport)" + " not permitted", file, tblock->name)) { addr->transport_return = DEFER; addr->basic_errno = EACCES; - addr->message = string_sprintf("Tainted '%s' (file for %s transport)" - " not permitted", file, tblock->name); + addr->message = m; return FALSE; } if (!(ff = Ufopen(file, "rb")) && !ob->file_optional) |