[Top] [All Lists]

Re: 3028bis, section 4.2, paragraph 2

2007-02-07 15:05:34

On Wed, Feb 07, 2007 at 11:52:12AM +0000, Alexey Melnikov wrote:

Arnt Gulbrandsen wrote:

Perhaps: SHOULD ensure that there is sufficient information in the 
chain of 'Received' fields that a human observer can see what happened?

I think this is already covered by existing paragraph in -10 (which 
Philip didn't plan to change):

  The "redirect" action is used to send the message to another user at
  a supplied address, as a mail forwarding feature does.  The
  "redirect" action makes no changes to the message body or existing
  headers, but it may add new headers.  In particular, existing
  Received headers MUST be preserved and the count of Received headers
  in the outgoing message MUST be larger than the same count on the
  message as received by the implementation.  (An implementation that
  adds a Received header before processing the message does not need to
  add another when redirecting.)

That's interesting, I didn't notice that change.  That does mandate the
addition of a Received by (or as of) the time a redirect is done.  It
also implies that adding a Received line is at least discussed elsewhere
in the document, which it isn't (other than a casual mention in loop
control).  Maybe that's picky, but if the addition of a Received line is
alluded to, perhaps it should be discussed.  For example, there could
be a recommendation that an implementation "adds a Received header before
processing the message" -- but then is this considered part of the
original message?  e.g. as applied to the 'editheader' mandate that

    if an error terminates processing of the script, the original
    message header MUST be used when doing the implicit keep required by
    [SIEVE] section 2.10.6.

where I think it could be argued that such an added "Received" line
would be valuable to preserve.  (as would, I think, other annotating
information, but I've said that before: I think that that editheader
prohibition is too broad since it reaches beyond changes made by
editheader, but I seem to be the only one who thinks that.)

The new language that "Received headers MUST be preserved" also implies
that the removal of any Received headers via an extension (e.g.
'editheader') must be ignored for the redirect.  Is that the intent?  I
dunno whether I think that's good -- I probably do, but it certainly
means more special-case work for me :)

mm  (yes, I kind of got off on a tangent)