New submission from Bryce Drennan <pyt...@accounts.brycedrennan.com>:

Starting in 3.6.4, the header flattening ignores the EmailyPolicy.utf8 
attribute if a header is longer than maxlen.  I believe this was introduced in 
https://github.com/python/cpython/pull/4693.  Specifically this part: 
https://github.com/miss-islington/cpython/blob/8085ac188785ad0301760869a08b83c2945257a4/Lib/email/_header_value_parser.py#L2668-L2673

This causes problems as the dkim-signature header of parsed email messages gets 
mangled when they are flattened.

It should look like this:

    DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; 
t=1532918961; bh=AwLeVe/FpXHJ9+VNy8QKwz2N5wuNF5ZkyXE3tLVBrFY=; 
h=Date:From:Reply-To:To:Subject:References:From:Subject; 
b=rSWZ7vyWIZqflUJS9ysVQvDxeoMxepEqPr/EoVkqpilCP1ryvci6/jCsFe75M2Jr5NJjzg6yJ6Xew8rpq8SMnZeNhTMmCK8jy\r\n
 
WwSamcZ14t0LUZEt30+9Ump0KbPq+WRQK2rM9NnBVhE6pyvANfgsKMqgXlYzAmHk7P8cZ7ztJMSrtOeOr3u5RRNwvYJ+OYHZSFHiQZrPopNDKovVBcAc+6yVBI3YsI1qsgDmoQ/F5NszOLsBit2IkcvWr7z
 [...]

but instead gets output like this:

    DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; 
s=s2048;\r\n t=1532918961; bh=AwLeVe/FpXHJ9+VNy8QKwz2N5wuNF5ZkyXE3tLVBrFY=;\r\n 
h=Date:From:Reply-To:To:Subject:References:From:Subject; 
=?utf-8?q?b=3DrSWZ?=\r\n 
=?utf-8?q?7vyWIZqflUJS9ysVQvDxeoMxepEqPr/EoVkqpilCP1ryvci6/jCsFe75M2Jr5NJjz?=\r\n
 =?utf-8?q?g6yJ6Xew8rpq8SMnZeN [...]

Attached is a test that passes in 3.6.3 and fails in 3.6.4.

----------
components: email
files: test_header_folding.py
messages: 322653
nosy: barry, bryced, r.david.murray
priority: normal
severity: normal
status: open
title: EmailPolicy not followed
versions: Python 3.6, Python 3.7
Added file: https://bugs.python.org/file47720/test_header_folding.py

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue34277>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to