From 3b6cebb79cab195438e5c3620796aca547fca40f Mon Sep 17 00:00:00 2001 From: Thomas Oettli Date: Fri, 28 Feb 2020 19:28:20 +0100 Subject: [PATCH] Replace 0-bytes and line breaks, pymilter does not like them --- pyheadermilter/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyheadermilter/__init__.py b/pyheadermilter/__init__.py index f102e6a..56ac12d 100644 --- a/pyheadermilter/__init__.py +++ b/pyheadermilter/__init__.py @@ -210,7 +210,8 @@ class HeaderMilter(Milter.Base): for name, hdr, index, occurrence in modified: value = hdr[name] - encoded_value = hdr.as_string().split(": ")[1].rstrip() + # remove illegal characters, pymilter does not like them + encoded_value = hdr.as_string().replace("\r", "").replace("\n", "").replace("\x00", "").split(":", 1)[1].strip() mod_header = "{}: {}".format(name, value) if rule.action == "add": if rule.log: