Subject: Multi-point injection

From: "Forrest J. Cavalier III" <[email-masked]>
Date: Tue, 16 Jan 2007 14:12:19 -0500

In a quick review, I don't see anything under "Duties of an Injection Agent" 
that a Message ID field present in a proto-article MUST be preserved.
(This is required for multi-point injection.)

What am I missing?

---

From: Russ Allbery <[email-masked]>
Date: Tue, 16 Jan 2007 11:33:53 -0800

Forrest J Cavalier <[email-masked]> writes:

> In a quick review, I don't see anything under "Duties of an Injection
> Agent" that a Message ID field present in a proto-article MUST be
> preserved.  (This is required for multi-point injection.)

> What am I missing?

Well, there's:

   6.   The injecting agent MUST NOT alter the body of the article in
        any way (including any change of Content-Transfer-Encoding).  It
        MAY add other header fields not already provided by the poster,
        but injecting agents are encouraged to use the Injection-Info
        header for such information and to minimize the addition of
        other headers.  It SHOULD NOT alter, delete, or reorder any
        existing header field except the Path header.

but I think you're right that message ID is special and needs a stronger
constraint than SHOULD.

-- 
Russ Allbery ([email-masked])             <http://www.eyrie.org/~eagle/>

---

From: Frank Ellermann <[email-masked]>
Date: Wed, 17 Jan 2007 11:25:01 +0100

Russ Allbery wrote:
 
> I think you're right that message ID is special and needs a stronger
> constraint than SHOULD.

+1

Not limited to the Message-ID.  If they don't like a header field they
should reject the message.  

An "add missing magic SP on the fly" strategy could make sense, but in
the times of DKIM even that isn't necessarily okay.

Frank

---

From: "Charles Lindsey" <[email-masked]>
Date: Wed, 17 Jan 2007 11:38:53 GMT

>        existing header field except the Path header.

Yes, that is the wording intended to cover the matter. Just to recall the
history, those words were written as a compromise after a long battle as
to whether in injecting agent was allowed to alter (NO) or add (YES) a
Sender header, but they were intended to cover all headers.

>but I think you're right that message ID is special and needs a stronger

No, I think SHOULD is sufficient. As usual, it means "there needs to be an
exceptional reason to break it". I can't think of such a reason offhand,
but that is not to say it cannot arise. OTOH, there appears to be no
interoperability problem, unless you want to count the existence of two
articles with the same text as interoperability.

-- 
Charles H. Lindsey ---------At Home, doing my own thing------------------------
Tel: +44 161 436 6131 Fax: +44 161 436 6133   Web: http://www.cs.man.ac.uk/~chl
Email: [email-masked]      Snail: 5 Clerewood Ave, CHEADLE, SK8 3JU, U.K.
PGP: 2C15F1A9      Fingerprint: 73 6D C2 51 93 A0 01 E7 65 E8 64 7E 14 A4 AB A5

---

From: Russ Allbery <[email-masked]>
Date: Wed, 17 Jan 2007 09:01:07 -0800

Charles Lindsey <[email-masked]> writes:

> No, I think SHOULD is sufficient. As usual, it means "there needs to be
> an exceptional reason to break it". I can't think of such a reason
> offhand, but that is not to say it cannot arise. OTOH, there appears to
> be no interoperability problem, unless you want to count the existence
> of two articles with the same text as interoperability.

There is a significant interoperability problem in that we support
simultaneous injection with multiple injecting agents and rewriting the
message ID breaks that.  This is, in practice, not an uncommon thing to
want to do.

Message-ID here is special because of that.

---

From: "Charles Lindsey" <[email-masked]>
Date: Thu, 18 Jan 2007 15:14:17 GMT

>Message-ID here is special because of that.

A valid point. I still mildly prefer remaining with SHOULD, but accept
that I seem to be outvoted.

---

From: "Forrest J. Cavalier III" <[email-masked]>
Date: Thu, 18 Jan 2007 13:49:09 -0500

> that I seem to be outvoted.

That's a fallacy that you were "outvoted."

You were "out-argued."

You produced no _reason_ for preferring SHOULD, not even a contrived special
case.  You provided a preference, a mere feeling.  Then, you concede a "valid 
point", but it seems to have no effect on what you think, beyond stating its 
validity.

If you expect people to continue to offer patient explanations, can you at least 
provide an illusion that your opinion is open to good reasoning?

Feelings are a fine place to start, but we aren't writing a novel.

---

From: "Charles Lindsey" <[email-masked]>
Date: Fri, 19 Jan 2007 20:30:33 GMT

>that I seem to be outvoted.

I have been thinking further about this, and the consequences if various
headers DO get changed by injecting agents and the article is then
injected in two places.

Message-ID:

If that case you have, technically speaking, two distinct articles which
just happen to be otherwise identical, and they will both propagate around
Usenet quite happily causing no technical harm whatsoever. Of course, it
will annoy people (and indeed it often happens currently, usually because
someone thought his article had failed to get out, and pressed 'send'
again - usually resulting in mild flames in his direction).

Date:, Path:, Sender:, User-Agent (and anything else an injecting agent
might be tempted to change)

In that case you have two different versions off what is supposed to be
the same article (i.e. they have the same messagg-id). Some sites will see
one and some the other. That is not supposed to happen in a well-regulated
network. OTOH, no huge harm arises, so "SHOULD NOT alter" (as in the
present text) may be sufficient. It just strikes me as slightly odd that
we are proposing a "MUST NOT alter" for the case that causes no technical
harm (but much annoyance, because people will notice, which they would not
in the other cases).

Xref:, newly added bits of Path:, Injection-Info (and maybe Injection-Date:
according to the outcome of #1416)

And these, of course, are actually intended to be different.