[PATCH 5/9] parser: Handle even more exotically broken headers

Andrew Donnellan andrew.donnellan at au1.ibm.com
Thu Feb 22 14:35:49 AEDT 2018


On 22/02/18 01:17, Daniel Axtens wrote:
> An archive of the Ubuntu kernel team mailing list contains a
> fascinating email that causes the following parse error:
> 
> email.errors.HeaderParseError: header value appears to contain an embedded header:
>    '4Mf^tnii7k\\_EnR5aobBm6Di[DZ9 at AX1wJ"okBdX-UoJ>:SRn]c6DDU"qUIwfs98vF>...
> 
> The broken bit seem related to a UTF-8 quoted-printable encoded
> section and to be from an internal attempt to break it over multiple
> lines: here's a snippet from the error message:
>      '\n\t=?utf-8?q?Tnf?=\n'
> but interesting the header itself does not contain the new lines, so
> clearly something quite weird is happening behind the scenes!
> 
> This only throws on header.encode(): it actually makes it through
> sanitise_header and into find_headers before throwing the assertion.
> 
> So, try to encode in sanitize_header as a final step.
> 
> Also, fix a hilarious* python bug that this exposes: whitespace-only
> headers cause an index error!
> 
> Signed-off-by: Daniel Axtens <dja at axtens.net>

Reviewed-by: Andrew Donnellan <andrew.donnellan at au1.ibm.com>


-- 
Andrew Donnellan              OzLabs, ADL Canberra
andrew.donnellan at au1.ibm.com  IBM Australia Limited



More information about the Patchwork mailing list