emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: master ef14acf: Make nnml handle invalid non-ASCII headers more cons


From: Florian Weimer
Subject: Re: master ef14acf: Make nnml handle invalid non-ASCII headers more consistently
Date: Fri, 16 Dec 2022 23:42:21 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.1 (gnu/linux)

* Lars Ingebrigtsen:

> branch: master
> commit ef14acfb68bb5b0ce42221e9681b93562f8085eb
> Author: Lars Ingebrigtsen <larsi@gnus.org>
> Commit: Lars Ingebrigtsen <larsi@gnus.org>
>
>     Make nnml handle invalid non-ASCII headers more consistently
>     
>     * lisp/gnus/nnml.el (nnml--encode-headers): New function to
>     RFC2047-encode invalid Subject/From headers (bug#45925).  This
>     will make them be displayed more consistently in the Summary
>     buffer (but still "wrong" sometimes, since there's not that much
>     we can guess at at this stage, charset wise).
>     (nnml-parse-head): Use it.
> ---
>  lisp/gnus/nnml.el | 16 ++++++++++++++++
>  1 file changed, 16 insertions(+)
>
> diff --git a/lisp/gnus/nnml.el b/lisp/gnus/nnml.el
> index ebececa..3cdfc74 100644
> --- a/lisp/gnus/nnml.el
> +++ b/lisp/gnus/nnml.el
> @@ -769,8 +769,24 @@ article number.  This function is called narrowed to an 
> article."
>        (let ((headers (nnheader-parse-head t)))
>       (setf (mail-header-chars  headers) chars)
>       (setf (mail-header-number headers) number)
> +     ;; If there's non-ASCII raw characters in the data,
> +     ;; RFC2047-encode them to avoid having arbitrary data in the
> +     ;; .overview file.
> +     (nnml--encode-headers headers)
>       headers))))

Unfortunately, this change in particular causes Gnus to stops storing
messages into nnmail after receiving a message with this header:

From: =?utf-8?b?572X5YuH5YiaKFlvbmdnYW5nIEx1bykgdmlhIEVsZnV0aWxzLWRldmVs?=
 <elfutils-devel@sourceware.org>

The logged error message is:

Mail source (maildir :path …) failed: (error Invalid data for rfc2047 encoding: 
罗勇刚(Yonggang Luo) via Elfutils-devel <elfutils-devel@sourceware.org>)

On an older Emacs without this change, it seems that the original header
is written to the .overview file, which sidestep the problem that not
all strings are encodable by the rfc2047 functions.

Thanks,
Florian




reply via email to

[Prev in Thread] Current Thread [Next in Thread]