From 1f07fd8db98bc7dcbb0bf0d47a1c73274d30e634 Mon Sep 17 00:00:00 2001
From: ale <ale@incal.net>
Date: Tue, 9 Feb 2021 17:54:34 +0000
Subject: [PATCH] Parse messages in their binary form

---
 feedbackloop/arf.py   | 4 ++--
 feedbackloop/parse.py | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/feedbackloop/arf.py b/feedbackloop/arf.py
index eb7cc72..592e589 100644
--- a/feedbackloop/arf.py
+++ b/feedbackloop/arf.py
@@ -18,7 +18,7 @@
     http://www.faqs.org/rfcs/rfc5965.html
 """
 import json
-from email.parser import Parser
+from email.parser import BytesParser
 from email.message import Message
 
 class ARFMessage(object):
@@ -26,7 +26,7 @@ class ARFMessage(object):
     """
 
     def __init__(self, arf_source):
-        self._message = Parser().parsestr(arf_source)
+        self._message = BytesParser().parsebytes(arf_source)
 
     def _get_part(self, subtype):
         for part in self._message.walk():
diff --git a/feedbackloop/parse.py b/feedbackloop/parse.py
index aa35ab1..d28d358 100644
--- a/feedbackloop/parse.py
+++ b/feedbackloop/parse.py
@@ -114,7 +114,7 @@ class MailScanner():
             try:
 
                 # Parse the ARF message body.
-                msg = ARFMessage(raw_msg.decode('utf-8'))
+                msg = ARFMessage(raw_msg)
                 report_sender, _ = _normalize_addr(
                     _hdr(msg.get_message_headers(), 'From'))
 
-- 
GitLab