ietf-nntp Article concepts

Clive D. W. Feather clive at on-the-train.demon.co.uk
Tue Apr 1 12:29:29 PST 2003


-----BEGIN PGP SIGNED MESSAGE-----

In message <yld6k76yew.fsf at windlord.stanford.edu>, Russ Allbery 
<rra at stanford.edu> 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.
>
>I'm not sure I entirely understand what that provision means.  I'm not
>really advocating changing it, just registering some confusion as to what
>the intended implication is.

What I'm trying to say is that a client mustn't barf if it finds an 
article that conforms to this but not 1036 or 2822.

For example, if the reply to ARTICLE contains a CR not followed by LF, 
the client can reasonably close the connection immediately because the 
server has broken a MUST NOT. On the other hand, if the reply begins:

     Headers: This does not conform to 1036 or 2822.

     This is the first line of the body ...

it has to cope with it. It might decide not to present the article to 
the user, but it MUST NOT go wrong.

>  It feels like it would be sufficient to say
>"articles MUST conform to the rules in this section" and ending the
>sentence there.

It doesn't feel sufficient to me. Equally, I'd be happy for someone to 
offer better wording.

>>    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
>>    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.
>
>Nit:  The body cannot both end with a CRLF pair and be empty.  Perhaps
>"and MUST end with a CRLF pair or be completely empty"?

Picked nit: I don't say that the body must end with CRLF, I say that the 
article must end with CRLF. If the body is empty, this CRLF is the one 
at the end of the separating line.

The syntax makes this clear.

>>    There MAY be more than
>>    one header line with the same name amd different values.
>There may also be more than one header line with the same name and the
>same value.  I'd just omit "and different values."

Okay.

>>    The presence or absence of folding
>>    does not affect the meaning of the header line.
>The last sentence mostly covers this, but for additional clarity it may be
>good to say explicitly something like "the CRLF pairs introduced by
>folding are not considered part of the header value."

Fine.

- -- 
Clive D.W. Feather     |  Internet Expert  | Work: <clive at demon.net>
Tel: +44 20 8371 1138  |  Demon Internet   | Home: <clive at davros.org>
Fax: +44 870 051 9937  |  Thus plc         | Web:  <http://www.davros.org>
Written on my laptop; please observe the Reply-To address

-----BEGIN PGP SIGNATURE-----
Version: PGPsdk 2.0.5

iQEVAwUBPon2qCNAHP3TFZrhAQGfSggAl1+9hvQq0DC2N9+jVL7BbfnAx1bP0MQG
zt383RQ2DBhqrf9frIYveLl48vPnAvUqaOJSzqqv0AAWKKwkBsCAPR4yDZ3ytRhg
LgnUCnwD3vQLaBf/aGWaa8qbs6skoM5YLgSMIBErzCfg7xi1tVxDYnArpN6RJvVA
b0nKPCiEt39mGo9GBGbunThtbBx0RdHUckRbRzuasBS6PUcf0dk3jFBSOO49g6W3
6PNdCFL+83PBGMtW47sQwVaYN2dmzqtnvHB2XRrxZa2xCC6FuIOpUj1I5w+qJ91X
suv6Ob20rBa5g3VWgLvdbV+mhU7amONfJR/WoU72E1QXRqwYxjqkxg==
=Glni
-----END PGP SIGNATURE-----



More information about the ietf-nntp mailing list