◐ Shell
clean mode source ↗

[3.12] gh-121650: Encode newlines in headers, and verify headers are sound (GH-122233) by encukou · Pull Request #122599 · python/cpython

and others added 2 commits

August 2, 2024 11:26
…ound (pythonGH-122233)

- 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.

- Verify that email headers are well-formed

This should fail for custom fold() implementations that aren't careful
about newlines.

Co-authored-by: Bas Bloemsaat <bas@bloemsaat.org>
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
(cherry picked from commit 0976339)

This was referenced

Aug 2, 2024

@encukou encukou deleted the backport-0976339-3.12 branch

August 7, 2024 12:00

smoser added a commit to smoser/advisories that referenced this pull request

Aug 8, 2024

github-merge-queue Bot pushed a commit to wolfi-dev/advisories that referenced this pull request

Aug 8, 2024