From d4e0aaa76bd9e7a9e36abf47dc9ad3ea8bc10334 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Sat, 16 Sep 2023 11:15:46 -0300 Subject: [PATCH] devel/nmweb: read mail files in binary mode. "ju" reported on IRC that browsing https://nmbug.notmuchmail.org/nmweb/show/20160719094205.qmf5sjnja6crt5t3%40gotlib crashed. The underlying issue is that python3 defaults to utf8 decoding files unless they are opened in binary mode. The file in question (in the nmbug archive; it depends a bit on the routing the message took) has Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit and some of it is not valid utf8. --- devel/notmuch-web/nmweb.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devel/notmuch-web/nmweb.py b/devel/notmuch-web/nmweb.py index b0d4d5cd..e0e87b49 100755 --- a/devel/notmuch-web/nmweb.py +++ b/devel/notmuch-web/nmweb.py @@ -207,7 +207,7 @@ env.globals['thread_nav'] = thread_nav def format_message(nm_msg, mid): fn = list(nm_msg.filenames())[0] - msg = MaildirMessage(open(fn)) + msg = MaildirMessage(open(fn, 'rb')) return format_message_walk(msg, mid) def decodeAnyway(txt, charset='ascii'):