ietf-nntp Article concepts

Charles Lindsey chl at clw.cs.man.ac.uk
Mon Mar 24 03:22:26 PST 2003


In <20030322083800.GN91221 at finch-staff-1.thus.net> "Clive D.W. Feather" <clive at demon.net> writes:

>3.4 Articles

>   NNTP is intended to transfer articles between clients and servers.
>   For the purposes of this specification, articles are required to
>   conform to the rules in this section and clients and servers MUST
>   correctly process any article received from the other that does so.
>   Note that this requirement applies only to the contents of
>   communications over NNTP; it does not prevent a client or server from
                                                  ^
						  the
>   subsequently rejecting an article because of its contents or some
                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
				      for reasons of local policy
>   other reason. In particular, where NNTP is used to transport articles
>   that conform to other specifications such as RFC 1036 [6] or RFC 2822
>   [7], articles must meet both this specification and the other.
                                                        ^^^
							that

>   An article consists of two parts: the headers and the body. They are
>   separated by a single empty line, or in other words by two
>   consecutive US-ASCII CRLF pairs (if there is more than one empty
>   line, the second and subsequent ones are part of the body). In order
>   to meet the general requirements of NNTP, an article MUST NOT include
>   the octet 0x00, MUST NOT contain the octets 0x0A and 0x0D other than
                  ^                                 ^        ^
		  (US_ASCII NUL)           (US-ASCII LF)  (US-ASCII CR)
>   as part of a CRLF pair, and MUST end with a CRLF pair. This
>   specification puts no further restrictions on the body; in
>   particular, it MAY be empty.

>   The headers of an article consist of one or more header lines. Each
>   header line consists of a header name, a colon, a space, the header
>   value, and a CRLF in that order. The name consists of one or more
    ^^^^^
    content

(header-content is the usage in both Son-of-1036 and Usefor)

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).

.....



>   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?

I think we should establish the following:

1. Any article stored by the server MUST have exactly one Message-ID
header.

2. If an article arrives without one by POST, the server MUST generate
one before storing it.

3. If an article arrives without one by IHAVE, then a 437 response is
merited (why was that not a 5xx response BTW)?

4. If the situation envisaged in the ARTICLE command leading to that <0>
should arise, then something is severely broken, meriting a 5xx response.

>   For the purposes of this specification, message-ids are opaque
>   strings that MUST meet the following requirements:

>   o  A message-id MUST begin with 0x3C (US-ASCII "<") and end with 0x3E
>      (US-ASCII ">"), and MUST NOT contain the latter except at the end.

>   o  A message-id MUST be between 3 and 250 octets in length.

>   o  A message-id MUST NOT contain octets other than US-ASCII printable
>      characters.

But now you have to worry about comments and WSP both before and after the
<...> (Usefor currently disallows these, but RFC 2822 does not). You also
have to worry about further cruft after the <...> (at one time Usefor was
going to allow parameters there, but no longer so).

Am I right in supposing that the Message-ID header is the _only_ one that
NNTP needs to parse and dissect in detail?

...

-- 
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: chl at clw.cs.man.ac.uk      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



More information about the ietf-nntp mailing list