[PATCH] skip original Content-Transfer-Encoding for mbox
Veronika Kabatova
vkabatov at redhat.com
Tue May 8 03:44:14 AEST 2018
----- Original Message -----
> From: "Daniel Axtens" <dja at axtens.net>
> To: patchwork at lists.ozlabs.org, vkabatov at redhat.com, "yuri volchkov" <yuri.volchkov at gmail.com>
> Sent: Monday, May 7, 2018 5:57:55 PM
> Subject: [PATCH] skip original Content-Transfer-Encoding for mbox
>
> In the commit 01b9cbb9 all original mail headers are copied into the
> resulted mbox file. This means that some headers are going to be
> present twice in the generated mbox. That is fine unless the original
> email arrived in base64 encoding.
>
> Apparently git relies on the latest Content-Transfer-Encoding key. And
> since downloaded patch's actual encoding is '7bit', git fails to apply
> it with the message 'Patch is empty'.
>
> Since patchwork adds a proper 'Content-Transfer-Encoding' anyways,
> let's skip this field while copying headers from the original mail
>
> Signed-off-by: Yuri Volchkov <yuri.volchkov at gmail.com>
> ---
>
> Daniel Axtens writes: Yuri sent me an email saying his message didn't
> reach the list, so I'm forwarding this on his behalf. Veronika: you
> authored 01b9cbb9 so perhaps you could take a look to see if this is the
> best way. My guess is that this is probably right but you might have
> other thoughts.
>
Hm, I didn't meet with any base64-encoded emails that weren't autoconverted
on their way so I didn't run into this issue. I agree that since the
Content-Transfer-Encoding header is added based on the charset (which we
pass on message creation), skipping the original header is both the easiest
and correct way to solve this problem.
Acked-by: Veronika Kabatova <vkabatov at redhat.com>
> ---
> patchwork/views/utils.py | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/patchwork/views/utils.py b/patchwork/views/utils.py
> index f5ff43c..2357ab8 100644
> --- a/patchwork/views/utils.py
> +++ b/patchwork/views/utils.py
> @@ -99,6 +99,8 @@ def _submission_to_mbox(submission):
>
> orig_headers = HeaderParser().parsestr(str(submission.headers))
> for key, val in orig_headers.items():
> + if key == 'Content-Transfer-Encoding':
> + continue
> mail[key] = val
>
> if 'Date' not in mail:
> --
> 2.17.0
>
More information about the Patchwork
mailing list