mirror of https://github.com/python/cpython
4aaa4259b5
gh-121650: Encode newlines in headers, and verify headers are sound (GH-122233)
GH-GH- Encode header parts that contain newlines
Per RFC 2047:
> [...] these encoding schemes allow the
> encoding of arbitrary octet values, mail readers that implement this
> decoding should also ensure that display of the decoded data on the
> recipient's terminal will not cause unwanted side-effects
It seems that the "quoted-word" scheme is a valid way to include
a newline character in a header value, just like we already allow
undecodable bytes or control characters.
They do need to be properly quoted when serialized to text, though.
GH-GH- Verify that email headers are well-formed
This should fail for custom fold() implementations that aren't careful
about newlines.
(cherry picked from commit
|
||
---|---|---|
.. | ||
data | ||
__init__.py | ||
__main__.py | ||
test__encoded_words.py | ||
test__header_value_parser.py | ||
test_asian_codecs.py | ||
test_contentmanager.py | ||
test_defect_handling.py | ||
test_email.py | ||
test_generator.py | ||
test_headerregistry.py | ||
test_inversion.py | ||
test_message.py | ||
test_parser.py | ||
test_pickleable.py | ||
test_policy.py | ||
test_utils.py | ||
torture_test.py |