Re: [exim-dev] Changing received_header_text default?

Top Page
Delete this message
Reply to this message
Author: Michael Haardt
Date:  
To: exim-dev
Subject: Re: [exim-dev] Changing received_header_text default?
On Mon, Mar 13, 2006 at 01:21:50PM +0000, David Woodhouse wrote:
> > And since clients should show headers unfolded in the regular display,
> > folding with a tab causes ugly results. Evolution implements *that*
> > right and many other clients don't.
>
> I disagree with this, because I think you're misreading RFC2822. AFAICT
> it doesn't say that MUAs should _display_ unfolded headers. It says
> (§2.2.3) that "[each] header field should be treated in its unfolded
> form for further syntactic and semantic evaluation". That's all very
> well, but doesn't mean you should _display_ it unfolded.


I read it again very careful, among with a huge amount of discussions
concerning that point and the summary is:

You are right, RFC 2822 does not tell how clients should behave,
meaning it simply does not answer the question.

So, how should clients behave? :-)

Everybody agreed that line breaks in headers do not carry any semantic
content, because agents may re-fold unstructured headers to their taste,
and in fact do. You can not rely on line breaks to be preserved where
they are.

Does displaying semantically useless information make sense? That's the
point where no consensus could be reached in the past. Perhaps that's
why RFC 2822 does not even mention the topic.

IMHO saying a line should be treated unfolded when processing it means
it should be treated unfolded for MIME decoding, too. The result of a MIME
decoding pass that ignores line breaks is no line breaks in the output:
MIME aware clients should not show folding. Since MIME defines how to
transport line breaks in a way that will not be modified, that makes
sense twice - for headers that can be fully MIME encoded.

"Received:" is a structured header. Could it contain MIME encoded words?

RFC 2047:

   + An 'encoded-word' MUST NOT be used in parameter of a MIME
     Content-Type or Content-Disposition field, or in any structured
     field body except within a 'comment' or 'phrase'.


A MUA can not just MIME decode (process) the whole line, but it has
to parse the line to find comments, MIME-decoding them and only them.
What remains is that line breaks still do not carry semantic content,
but no reasoning else.

Oh well. Things looked so clear at first.

Michael