ietf-nntp Article concepts

Clive D.W. Feather clive at demon.net
Mon Mar 24 14:11:02 PST 2003


Russ Allbery said:
>> Be careful about that 'space' after the colon. It is not obligatory in
>> RFC 2822, and one day our arms may be twisted to allow it to be omitted
>> in Usefor (I would rather it were made obligatory in 2822bis, but that
>> is beyond our control).
> I included the space in my proposed wording intentionally, since if you
> read through the descriptions of various commands, you'll find that our
> current standard assumes that it will always be there.  There are various
> references to it in, for example, the OVER and HDR descriptions.
> 
> Those descriptions could potentially be rewritten to not make that
> assumption, but I'm not sure if it's worth it.

Indeed. In particular, if there are two or more spaces, we currently say
that the first one *only* is removed from the overview content. Would that
still be the case?

>>>   OUTSTANDING ISSUE
> 
>>>      I would much prefer us to simply say there MUST be exactly one ID,
>>>      but that negates the existing text which says "<0>" MUST be used
>>>      if there is no message-id header line.
> 
>> Yes, that is an exceedingly peculiar line in the present draft. How can
>> it ever come about?
> 
> It comes about if you're serving out messages without a message ID, but I
> don't really see any need for NNTP to allow for that possibility.

Well, we've already got one person who's got a related situation.

And, as you pointed out to me, we can't assume that an NNTP server is only
handling USEFOR-conformant articles. Can we safely assume that no such
article will ever arrive?

If it does, then "ARTICLE 1234" could find itself serving that up.

> I think
> that text was in there for as long as I've been participating in this
> working group, so I don't know where it came from originally.

It's in 977.

>> 1. Any article stored by the server MUST have exactly one Message-ID
>> header.
> 
> Too much article format stuff.  I like the way that Clive handled this,
> and I think that all we additionally have to say is that any article
> stored by the server MUST be associated with a message ID and then
> eliminate the <0> stuff.

Actually, thinking it through, that's not where the problem is. See below.

>> 2. If an article arrives without one by POST, the server MUST generate
>> one before storing it.
> I would dearly like to not get involved in the responsibilities of an
> injecting agent and instead defer them to USEFOR.
[...]

Indeed.

>> But now you have to worry about comments and WSP both before and after
>> the <...> (Usefor currently disallows these, but RFC 2822 does not).
> No, you don't; parsing of the header field is outside the scope of the
> NNTP protocol.  From the NNTP perspective, the server takes the news
> article, consults an oracle, and discovers its message ID.  The details of
> how that happens can be deferred to the relevant article standard.

Right. And the oracle is allowed to say "none", in which case "<0>" comes
into play.

As I said, thinking it through, this isn't where the problems lie. The
problem is *because* I wrote:

    ... message-id, which is the content of the header ...

If, as you say, the server consults an oracle (obviously I won't word it
that way), then all this goes away, I think.

<FX: delay>

Okay, fitting that into the text was easy:

   Each article SHOULD have a message-id.  Two articles processed by
   an NNTP server MUST NOT have the same message-id.  Note that RFC
   1036 further requires that message-ids are globally unique for all
   time.  Where an article does not have a message-id, the server MUST
   use the placeholder "<0>" (without the double quotes) where it is
   required to provide the message-id of that article.

   For the purposes of this specification, message-ids are opaque
   strings that MUST meet the following requirements:
[...]
   considered semantically identical according to the specification in
   RFC 2822.

   This specification does not describe how the message-id of an
   article is determined.  Many servers will extract the message-id
   from the contents of a header with name "Message-ID", but this is
   not required by this document.  In particular, if the article does
   not contain such a header, the server MAY synthesise a message-id
   or MAY choose not to assign a message-id to that article (this will
   restrict the ways in which this article can be accessed by the
   client).

The issues are then as follows:
* What text does POST need to say where the "same message-id" is?
* NEWNEWS needs to say that articles without message-ids are omitted.
* Does OVER return the message-id or the contents of the Message-ID header?

-- 
Clive D.W. Feather  | Work:  <clive at demon.net>   | Tel:  +44 20 8371 1138
Internet Expert     | Home:  <clive at davros.org>  | Fax:  +44 870 051 9937
Demon Internet      | WWW: http://www.davros.org | Mobile: +44 7973 377646
Thus plc            |                            |



More information about the ietf-nntp mailing list