aboutsummaryrefslogtreecommitdiff
path: root/b4/mbox.py
diff options
context:
space:
mode:
authorKonstantin Ryabitsev <konstantin@linuxfoundation.org>2020-12-28 13:04:02 -0500
committerKonstantin Ryabitsev <konstantin@linuxfoundation.org>2020-12-28 13:13:37 -0500
commitf93bbd3e50b1fb4507aa537f4004da545af9d890 (patch)
treef35124bf089c1683a01f0ee81945a2214140bce2 /b4/mbox.py
parentab9c6a69a6bc0e1e4a5de232fee29acdaa69d2a5 (diff)
downloadb4-f93bbd3e50b1fb4507aa537f4004da545af9d890.tar.gz
Save to/cc headers as-is for tracking
If we clean the to/cc headers to get rid of all unicode escaping, we run into a Python bug that is unable to properly parse addresses, e.g.: In [5]: from email import utils In [6]: utils.getaddresses(['foo <foo@bar.com>']) Out[6]: [('foo', 'foo@bar.com')] In [7]: utils.getaddresses(['Shuming [范書銘] <shumingf@realtek.com>']) Out[7]: [('', 'Shuming'), ('', ''), ('', '范書銘'), ('', ''), ('', 'shumingf@realtek.com')] If we store the headers as-is from the original message, we are less likely to run into this bug, as all non-ascii sequences should be qp-escaped in the original headers: =?big5?B?U2h1bWluZyBbrVOu0bvKXQ==?= <shumingf@realtek.com> This doesn't fix the underlying bug in Python, but works around it. Reported-by: Mark Brown <broonie@kernel.org> Signed-off-by: Konstantin Ryabitsev <konstantin@linuxfoundation.org>
Diffstat (limited to 'b4/mbox.py')
-rw-r--r--b4/mbox.py4
1 files changed, 2 insertions, 2 deletions
diff --git a/b4/mbox.py b/b4/mbox.py
index 38b2f0e..d998380 100644
--- a/b4/mbox.py
+++ b/b4/mbox.py
@@ -299,8 +299,8 @@ def thanks_record_am(lser, cherrypick=None):
'subject': lmsg.full_subject,
'fromname': lmsg.fromname,
'fromemail': lmsg.fromemail,
- 'to': b4.format_addrs(allto),
- 'cc': b4.format_addrs(allcc),
+ 'to': b4.format_addrs(allto, clean=False),
+ 'cc': b4.format_addrs(allcc, clean=False),
'references': b4.LoreMessage.clean_header(lmsg.msg['References']),
'sentdate': b4.LoreMessage.clean_header(lmsg.msg['Date']),
'quote': b4.make_quote(lmsg.body, maxlines=5),