Re: [Exim] Definition of header field in Exim?

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: michael
CC: exim-users
Subject: Re: [Exim] Definition of header field in Exim?
On 6 Feb 2003 michael@??? wrote:

> Exim 4.12 defines header fields in src/expand.c:445 as sequence of
> characters of
>
> mac_isgraph(*s) && *s != ':'
>
> Said macro is:
>
> #define mac_isgraph(c) \
> ((uschar)(c) > 32 && (uschar)(c) != 127)
>
> That includes in 8-bit characters.
>
> RFC 2822, section 3.6.8 says:
>
> field-name      =       1*ftext

>
> ftext           =       %d33-57 /               ; Any character except
>                         %d59-126                ;  controls, SP, and
>                                                 ;  ":".

>
> That forbids 8-bit characters. Shouldn't Exim follow the RFC there?


Exim is 8-bit clean and always has been. Along with some other MTA
writers, I feel that forcibly restricting messages to 7-bit characters
is silly nowadays. If you are going to allow 8-bit characters, I see no
point in allowing them only in some places and not others.

Every now and again there is an inconclusive discussion, bordering on a
flame-war, on certain mailing lists. There is very little progress
towards an agreement on extending the official character set, though I
think everyone agrees that it needs extending. The latest discussion
(calmed down now) was "just go for Unicode (UTF-8)" vs "you need
complicated encoding mechanisms to maintain compatibility".
Inconclusive, as I said.

--
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.