[NNTP] [Errata Rejected] RFC3977 (2004)

Julien ÉLIE julien at trigofacile.com
Sun May 13 12:17:24 PDT 2012


Dear Barry Leiba,

I have just been aware that erratum 2004 was rejected.
Yet, I do not understand why.

> --------------------------------------
> You may review the report below and at:
> http://www.rfc-editor.org/errata_search.php?rfc=3977&eid=2004
> --------------------------------------
> Status: Rejected
> Type: Technical
>
> Reported by: Julien Élie
> Date Reported: 2010-01-14
> Rejected by: Barry Leiba (IESG)



The given reason is:

> --VERIFIER NOTES-- Section 6.2.1.2 paragraph 6 says "a previously
> valid article number MAY become invalid if the article has been
> removed". Therefore the correct response in the situation being
> addressed would be 420, not 423.
>
> This could be a case that might be considered if the document is
> updated, but certainly it's not a simple error in the document.

We are not speaking about the situation you mention.  There is a 
difference between valid/invalid article numbers and valid/invalid 
*current* article numbers.
Section 6.2.1.2 speaks about valid/invalid article numbers, and in this 
situation, we are in the *second* form (article number specified) of the 
ARTICLE command.  The possible answers are:

    Second form (article number specified)
      220 n message-id      Article follows (multi-line)
      412                   No newsgroup selected
      423                   No article with that number

The 423 response code is therefore sent here, for the second form.

In Section 6.2.1.3:

    Example of an unsuccessful retrieval of an article by number:

       [C] GROUP misc.test
       [S] 211 1234 3000234 3002322 news.groups
       [C] ARTICLE 300256
       [S] 423 No article with that number




The erratum I filled is related to the *third* form (current article 
number used), that is to say when no article number is specified.  The 
possible answers mentioned in RFC 3977 are:

    Third form (current article number used)
      220 n message-id      Article follows (multi-line)
      412                   No newsgroup selected
      420                   Current article number is invalid

However, the 423 response code is also a valid response code in the 
third form.
Returning 420 in the case of a removed article is wrong because it would 
imply that the current article number is invalid whereas it *is* valid 
(and properly set to the article number of a removed article).

The validity of the *current* article number does not depend on the fact 
that the article number is valid or invalid.  These are two different 
things.

That's why the 423 response code MUST be sent in such a situation, using 
the *third* form of the command.


Please have a look at the discussion we had in January 2010 in the IETF 
NNTP working group.

   http://lists.eyrie.org/pipermail/ietf-nntp/2010-January/006145.html

Clive D.W. Feather (the author of RFC 3977) explains in the above 
message the reason why 423 is a valid answer for the third form and that 
it is "a corner case that we don't seem to have thought of" when writing 
RFC 3977.
This code was allowed in RFC 977 (obsoleted by 3977), per Section 3.1.3 
of RFC 977.  When the response codes were reworded to distinguish three 
forms in RFC 3977, this corner case of 423 for the third form was 
technically forgotten and not mentioned whereas it is the response code 
that has *always* been implemented in NNTP servers for this situation, 
in the third form.  No change was meant to be done in the NNTP protocol 
by RFC 3977 about this behaviour.  It would otherwise have been 
mentioned in Appendix D of RFC 3977!  That's why it is a genuine erratum 
that must be considered in RFC 3977.

I am at your disposal if you need more information or have any question.

-- 
Julien ÉLIE

« It's documented in The Book, somewhere… » (Larry Wall)


More information about the ietf-nntp mailing list