errata logo graphic

Found 22 records.

Status: Verified (8)

RFC3977, "Network News Transfer Protocol (NNTP)", October 2006

Source of RFC: nntpext (app)

Errata ID: 1524

Status: Verified
Type: Technical

Reported By: Julien Élie
Date Reported: 2008-09-23
Verifier Name: Lisa Dusseault
Date Verified: 2009-11-23

Throughout the document, when it says:

If the argument is a message-id and no such article exists, a 430
response MUST be returned.  If the argument is a number or is omitted
and the currently selected newsgroup is invalid, a 412 response MUST
be returned.  If the argument is a number and that article does not
exist in the currently selected newsgroup, a 423 response MUST be
returned.  If the argument is omitted and the current article number
is invalid, a 420 response MUST be returned.

It should say:

If the argument is a message-id and no such article exists, a 430
response MUST be returned.  If the argument is a number or is omitted,
and the currently selected newsgroup is invalid, a 412 response MUST
be returned.  If the argument is a number and that article does not
exist in the currently selected newsgroup, a 423 response MUST be
returned.  If the argument is omitted and the currently selected
newsgroup is valid but the current article number is invalid, a 420
response MUST be returned.

Notes:

A comma should be added after "omitted" in the second sentence. The detail about the validity of the currently selected newsgroup should be added to the last sentence.
Note that this remark applies to sections 6.2.1.2 (ARTICLE), 8.3.2 (OVER) and 8.5.2 (HDR). In the case of OVER and HDR, although the wording is different (ranges are used instead of article numbers), the changes to apply remain the same.


Errata ID: 1525

Status: Verified
Type: Technical

Reported By: Julien Élie
Date Reported: 2008-09-24
Verifier Name: Lisa Dusseault
Date Verified: 2009-11-23

Section 3.2.1.1 says:

Example of an attempt to access a facility not available to this
connection:

   [C] MODE READER
   [S] 200 Reader mode, posting permitted
   [C] IHAVE <i.am.an.article.you.will.want@example.com>
   [S] 500 Permission denied

It should say:

Example of an attempt to access a facility not available to this
connection:

   [C] MODE READER
   [S] 200 Reader mode, posting permitted
   [C] IHAVE <i.am.an.article.you.will.want@example.com>
   [S] 502 Permission denied

Notes:

The response code is 502 in that case because IHAVE is a recognized
command. It is not available to this connection but may be available
from another connection.


Errata ID: 1932

Status: Verified
Type: Technical

Reported By: Julien Élie
Date Reported: 2009-10-25
Verifier Name: Lisa Dusseault
Date Verified: 2009-11-03

Section 9.4.3 says:

over-content = 1*6(TAB hdr-content) /
      7(TAB hdr-content) *(TAB hdr-n-content)

It should say:

over-content = 7(TAB hdr-content) *(TAB hdr-n-content)

Notes:

Section 8.3.2 describes the OVER command and mentions that there are seven mandatory fields. Though trailing tabs MAY be omitted in OVER responses, it is impossible to have 1*6(TAB hdr-content) owing to the sixth and seventh fields being the metadata :bytes and :lines which are mandatory items (and MUST be computed by the news server).

Less than 7 entries cannot occur for news servers implementing OVER (which should not be confused with XOVER).


Errata ID: 2720

Status: Verified
Type: Technical

Reported By: Julien Élie
Date Reported: 2011-02-15
Verifier Name: Barry Leiba
Date Verified: 2012-05-12

Section 9.4.3 says:

   This syntax defines the content of the various multi-line responses;
   more precisely, it defines the part of the response in the multi-line
   data block after any "dot-stuffing" has been undone.  The numeric
|  portion of each non-terminal name indicates the response code that is
   followed by this data.

It should say:

   This syntax defines the content of the various multi-line responses;
   more precisely, it defines the part of the response in the multi-line
   data block after any "dot-stuffing" has been undone.  The numeric
|  portion of each non-terminal name indicates the response code of the
|  initial-response-line that is followed by this data.

Notes:

The last sentence in the RFC text is misleading; there may be (and in fact, in several cases — cf. Section 9.4.2, there indeed are) response-arguments between the response code and the data specified by the multi-line-response-content production.

First reported by Alfred Hönes.


Errata ID: 1533

Status: Verified
Type: Editorial

Reported By: Julien Élie
Date Reported: 2008-10-01
Verifier Name: Lisa Dusseault
Date Verified: 2009-11-23

Section 5.3.3 says:

Example of use of the MODE READER command on a server that provides
reading facilities:

   [C] CAPABILITIES
   [S] 101 Capability list:
   [S] VERSION 2
   [S] READER
   [S] LIST ACTIVE NEWSGROUPS
   [S] .
   [C] MODE READER
   [S] 200 Reader mode, posting permitted
   [C] IHAVE <i.am.an.article.you.have@example.com>
   [S] 500 Permission denied
   [C] GROUP misc.test
   [S] 211 1234 3000234 3002322 misc.test

It should say:

Example of use of the MODE READER command on a server that provides
reading facilities:

   [C] CAPABILITIES
   [S] 101 Capability list:
   [S] VERSION 2
   [S] READER
   [S] LIST ACTIVE NEWSGROUPS
   [S] .
   [C] MODE READER
   [S] 200 Reader mode, posting permitted
   [C] IHAVE <i.am.an.article.you.have@example.com>
   [S] 500 Unknown command
   [C] GROUP misc.test
   [S] 211 1234 3000234 3002322 misc.test

Notes:

The response code 500 is sent because this server does not implement the IHAVE command at all. Therefore, IHAVE is not recognized.
Had the server known the command, it would have replied "502 Permission denied" (according to the result of CAPABILITIES, there is no possibility to authenticate or negotiate a TLS layer which could have provided the availability of the command).


Errata ID: 1929

Status: Verified
Type: Editorial

Reported By: Julien Élie
Date Reported: 2009-10-24
Verifier Name: Lisa Dusseault
Date Verified: 2009-11-03

Section 9.2 says:

group-command = "GROUP" [WS newsgroup-name]

It should say:

group-command = "GROUP" WS newsgroup-name

Notes:

The ABNF syntax for the GROUP command makes its argument optional. However, that is not the case. Section 6.1.1 clearly shows that the argument (a newsgroup name) is mandatory.


Errata ID: 1930

Status: Verified
Type: Editorial

Reported By: Julien Élie
Date Reported: 2009-10-24
Verifier Name: Lisa Dusseault
Date Verified: 2009-11-03

Section 7.6.1.2 says:

If the keyword is not recognised, or if an argument is specified and
the keyword does not expect one, a 501 response code MUST BE
returned.  If the keyword is recognised but the server does not
maintain the information, a 503 response code MUST BE returned.

It should say:

If the keyword is not recognised, or if an argument is specified and
the keyword does not expect one, a 501 response code MUST be
returned.  If the keyword is recognised but the server does not
maintain the information, a 503 response code MUST be returned.

Notes:

So as to be homogeneous with the rest of the document, lower-case letters should be used for the verb after "MUST".


Errata ID: 1931

Status: Verified
Type: Editorial

Reported By: Julien Élie
Date Reported: 2009-10-24
Verifier Name: Lisa Dusseault
Date Verified: 2009-11-03

Section 6.1.1.3 says:

Example reselecting the currently selected newsgroup:

   [C] GROUP misc.test
   [S] 211 1234 234 567 misc.test
   [C] STAT 444
   [S] 223 444 <123456@example.net> retrieved
   [C] GROUP misc.test
   [S] 211 1234 234 567 misc.test
   [C] STAT
   [S] 223 234 <different@example.net> retrieved

It should say:

Example reselecting the currently selected newsgroup:

   [C] GROUP misc.test
   [S] 211 123 234 567 misc.test
   [C] STAT 444
   [S] 223 444 <123456@example.net> retrieved
   [C] GROUP misc.test
   [S] 211 123 234 567 misc.test
   [C] STAT
   [S] 223 234 <different@example.net> retrieved

Notes:

Section 6.1.1.2 mentions that "if the group is not empty, the estimate MUST be at least the actual number of articles available and MUST be no greater than one more than the difference between the reported low and high water marks".

The count 1234 is not correct because there are less than 567-234+1=334 articles in the newsgroup.


Status: Held for Document Update (10)

RFC3977, "Network News Transfer Protocol (NNTP)", October 2006

Source of RFC: nntpext (app)

Errata ID: 1527

Status: Held for Document Update
Type: Technical

Reported By: Julien Élie
Date Reported: 2008-09-24
Held for Document Update by: Lisa Dusseault

Section 3.2.1 says:

401: The client must change the state of the connection in some other
   manner.  The first argument of the response MUST be the capability
   label (see Section 5.2) of the facility that provides the
   necessary mechanism (usually an extension, which may be a private
   extension).  The server MUST NOT use this response code except as
   specified by the definition of the capability in question.

Notes:

The 401 code is never dealt with in the whole RFC 3977. Even the definition of the MODE-READER capability does not indicate when the 401 return code should be used.
It should be said that it MUST be used in answers to commands only available after having sent MODE READER. Maybe section 5.3.2 that described the MODE READER command, is the right place to use in order to specify that behaviour.

[C] CAPABILITIES
[S] 101 Capability list:
[S] VERSION 2
[S] IHAVE
[S] MODE-READER
[S] .
[C] POST
[S] 401 MODE-READER
[C] MODE READER
[S] 200 Reader mode, posting permitted
[C] CAPABILITIES
[S] 101 Capability list:
[S] VERSION 2
[S] READER
[S] POST
[S] .
[C] POST
[S] 340 Input article; end with <CR-LF>.<CR-LF>
[C] From: "Demo User" <nobody@example.net>
[C] Newsgroups: misc.test
[C] Subject: I am just a test article
[C] Organization: An Example Net
[C]
[C] This is just a test article.
[C] .
[S] 240 Article received OK


Errata ID: 2003

Status: Held for Document Update
Type: Technical

Reported By: Julien Élie
Date Reported: 2010-01-14
Held for Document Update by: Peter Saint-Andre

Throughout the document, when it says:

(a)  Section 6.1.3.2, last paragraph about LAST:

   If the current article number is already the first article of the
   newsgroup, a 422 response MUST be returned.  If the current article
   number is invalid, a 420 response MUST be returned.  If the currently
   selected newsgroup is invalid, a 412 response MUST be returned.  In
   all three cases, the currently selected newsgroup and current article
   number MUST NOT be altered.


(b)  Section 6.1.4.2, last paragraph about NEXT:

   If the current article number is already the last article of the
   newsgroup, a 421 response MUST be returned.  In all other aspects
   (apart, of course, from the lack of 422 response), this command is
   identical to the LAST command (Section 6.1.3).

It should say:

(a)  Section 6.1.3.2, last paragraph about LAST:

   If the currently selected newsgroup is invalid, a 412 response MUST
   be returned.  If the currently selected newsgroup is valid but the
   current article number is invalid, a 420 response MUST be returned.
   If the current article number is valid and there is no previous article
   in the currently selected newsgroup, a 422 response MUST be returned.
   In all three cases, the currently selected newsgroup and current article
   number MUST NOT be altered.


(b)  Section 6.1.4.2, last paragraph about NEXT:

   If the current article number is valid and there is no next article
   in the currently selected newsgroup, a 421 response MUST be returned.
   In all other aspects (apart, of course, from the lack of 422 response),
   this command is identical to the LAST command (Section 6.1.3).

Notes:

RFC 3977 is unclear about the 421 and 422 response codes: the first article of a newsgroup is defined as its reported low water mark, and the last article as its reported high water mark (see Section 6.1.1.2). However, there MAY be no previous article in the group, although the current article number is not the reported low water mark (see the second paragraph of Section 6.1.3.2). Therefore, a 422 response code MUST also be returned in that case. A similar case for the next article and the 421 response code exists.

The notion of "previous" and "next" article is respectively defined in the first paragraph of Sections 6.1.3.2 and 6.1.4.2.

This erratum also reverses the order of 412, 420, and 421/422 so that it is clearer that an invalid newsgroup or article number takes precedence in determining the return code.


Errata ID: 2004

Status: Held for Document Update
Type: Technical

Reported By: Julien Élie
Date Reported: 2010-01-14
Held for Document Update by: Barry Leiba
Date Held: 2012-05-12

Throughout the document, when it says:

(a)  Section 6.2.1.1 about ARTICLE:

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


(b)  Section 6.2.1.2, last paragraph about ARTICLE:

   If the argument is a message-id and no such article exists, a 430
   response MUST be returned.  If the argument is a number or is omitted
   and the currently selected newsgroup is invalid, a 412 response MUST
   be returned.  If the argument is a number and that article does not
   exist in the currently selected newsgroup, a 423 response MUST be
   returned.  If the argument is omitted and the current article number
   is invalid, a 420 response MUST be returned.


(c)  Section 6.2.2.1 about HEAD:

   Third form (current article number used)
     221 n message-id      Headers follow (multi-line)
     412                   No newsgroup selected
     420                   Current article number is invalid


(d)  Section 6.2.3.1 about BODY:

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


(e)  Section 6.2.4.1 about STAT:

    Third form (current article number used)
     223 n message-id      Article exists
     412                   No newsgroup selected
     420                   Current article number is invalid


(f)  Section 8.3.1 about OVER:

   Third form (current article number used)
     224    Overview information follows (multi-line)
     412    No newsgroup selected
     420    Current article number is invalid


(g)  Section 8.3.2, last paragraph about OVER:

   If the argument is a message-id and no such article exists, a 430
   response MUST be returned.  If the argument is a range or is omitted
   and the currently selected newsgroup is invalid, a 412 response MUST
   be returned.  If the argument is a range and no articles in that
   number range exist in the currently selected newsgroup, including the
   case where the second number is less than the first one, a 423
   response MUST be returned.  If the argument is omitted and the
   current article number is invalid, a 420 response MUST be returned.


(h)  Section 8.5.1 about HDR:

   Third form (current article number used)
     225    Headers follow (multi-line)
     412    No newsgroup selected
     420    Current article number is invalid


(i)  Section 8.5.2, antepenultimate paragraph about HDR:

   If the second argument is a message-id and no such article exists, a
   430 response MUST be returned.  If the second argument is a range or
   is omitted and the currently selected newsgroup is invalid, a 412
   response MUST be returned.  If the second argument is a range and no
   articles in that number range exist in the currently selected
   newsgroup, including the case where the second number is less than
   the first one, a 423 response MUST be returned.  If the second
   argument is omitted and the current article number is invalid, a 420
   response MUST be returned.

It should say:

(a)  Section 6.2.1.1 about ARTICLE:

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

(b)  Section 6.2.1.2, last paragraph about ARTICLE:

   If the argument is a message-id and no such article exists, a 430
   response MUST be returned.  If the argument is a number or is omitted,
   and the currently selected newsgroup is invalid, a 412 response MUST
   be returned.  If the argument is a number or is omitted, and that
   article does not exist in the currently selected newsgroup, a 423
   response MUST be returned.  If the argument is omitted and the currently
   selected newsgroup is valid but the current article number is invalid,
   a 420 response MUST be returned.


(c)  Section 6.2.2.1 about HEAD:

   Third form (current article number used)
     221 n message-id      Headers follow (multi-line)
     412                   No newsgroup selected
     420                   Current article number is invalid
|    423                   No article with that number


(d)  Section 6.2.3.1 about BODY:

   Third form (current article number used)
     222 n message-id      Body follows (multi-line)
     412                   No newsgroup selected
     420                   Current article number is invalid
|    423                   No article with that number


(e)  Section 6.2.4.1 about STAT:

    Third form (current article number used)
     223 n message-id      Article exists
     412                   No newsgroup selected
     420                   Current article number is invalid
|    423                   No article with that number


(f)  Section 8.3.1 about OVER:

   Third form (current article number used)
     224    Overview information follows (multi-line)
     412    No newsgroup selected
     420    Current article number is invalid
|    423    No article with that number


(g)  Section 8.3.2, last paragraph about OVER:

   If the argument is a message-id and no such article exists, a 430
   response MUST be returned.  If the argument is a range or is omitted,
   and the currently selected newsgroup is invalid, a 412 response MUST
   be returned.  If the argument is a range or is omitted, and no articles
   in that number range exist in the currently selected newsgroup, including
   the case where the second number is less than the first one, a 423
   response MUST be returned.  If the argument is omitted and the currently
   selected newsgroup is valid but the current article number is invalid,
   a 420 response MUST be returned.


(h)  Section 8.5.1 about HDR:

   Third form (current article number used)
     225    Headers follow (multi-line)
     412    No newsgroup selected
     420    Current article number is invalid
|    423    No article with that number


(i)  Section 8.5.2, antepenultimate paragraph about HDR:

   If the second argument is a message-id and no such article exists, a
   430 response MUST be returned.  If the second argument is a range or
   is omitted, and the currently selected newsgroup is invalid, a 412
   response MUST be returned.  If the second argument is a range or is
   omitted, and no articles in that number range exist in the currently
   selected newsgroup, including the case where the second number is less
   than the first one, a 423 response MUST be returned.  If the second
   argument is omitted and the currently selected newsgroup is valid but
   the current article number is invalid, a 420 response MUST be returned.

Notes:

RFC 3977 does not define the response code to answer when the third form of ARTICLE, BODY, HDR, HEAD, OVER, and STAT is used while the current article number is valid but does not exist. It is in fact 423: this response code is used by the NNTP reference implementation, as well as major widely used current implementations like INN.

All these commands define that when the argument (or the second argument for HDR) is omitted, the current article number is used.

If 420 is used instead of 423 for that case, RFC 3977 becomes inconsistent regarding the notion of an "invalid current article number", specially for the NEXT and LAST commands. That's why the 423 response code needs to be sent when the current article number is valid but does not exist.

Note that this erratum also takes into account the previously reported erratum 1524.
--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.


Errata ID: 2037

Status: Held for Document Update
Type: Technical

Reported By: Julien Élie
Date Reported: 2010-02-10
Held for Document Update by: Alexey Melnikov

Section 6.2.1.2 says:

   Note that a previously valid article number MAY become invalid if the
   article has been removed.  A previously invalid article number MAY
   become valid if the article has been reinstated, but this article
   number MUST be no less than the reported low water mark for that
   group.

It should say:

   Note that a previously valid article number MAY cease to refer to any
   article if that article has been removed, in which case use of that
   article number (explicitly or implicitly) will cause a 423 response.  A
   previously removed article may be reinstated (but its number MUST be no
   less than the reported low water mark for that group), in which case
   that number will once again refer to that article.

Notes:

The paragraph is misusing the term "invalid article number". The wording should have been something like the corrected text, suggested by Clive Feather.


Errata ID: 2311

Status: Held for Document Update
Type: Technical

Reported By: Julien Élie
Date Reported: 2010-06-24
Held for Document Update by: Alexey Melnikov

Section 8.3.2 says:

   For all fields, the value is processed by first removing all CRLF
   pairs (that is, undoing any folding and removing the terminating
   CRLF) and then replacing each TAB with a single space.  If there is
   no such header in the article, no such metadata item, or no header or
   item stored in the database for that article, the corresponding field
   MUST be empty.

It should say:

   For all fields, the value is processed by first removing all CRLF
   pairs (that is, undoing any folding and removing the terminating
   CRLF) and then replacing each TAB with a single space.  If there is
   no such header in the article, no such metadata item, or no header or
   item stored in the database for that article, the corresponding field
   MUST be empty.  If a given header occurs in the article more than once,
   only the content of the first occurrence is returned by OVER.

Notes:

The precision about using the first occurrence of a given header exists for the HDR command (Section 8.5.2). The same thing should be done for OVER, out of consistency between the two commands.

Note: Maybe future versions of the protocol should consider the notion of concatenation of header fields. (We could transform "Comments: Line 1\r\nComments: Line 2" into "Comments: Line 1 Line 2" in the overview field instead of losing information.)


Errata ID: 2312

Status: Held for Document Update
Type: Technical

Reported By: Julien Élie
Date Reported: 2010-06-24
Held for Document Update by: Alexey Melnikov

Section 8.5.2 says:

   If the information is available, it is returned as a multi-line data
   block following the 225 response code and contains one line for each
   article in the range that exists.

It should say:

   If the information is available, it is returned as a multi-line data
   block following the 225 response code and contains one line for each
   article in the range that exists, sorted in numerical order of article
   number.

Notes:

The precision about using a numerical order exists for the OVER command (Section 8.3.2). The same thing should be done for HDR, out of consistency between the two commands.


Errata ID: 1522

Status: Held for Document Update
Type: Editorial

Reported By: Julien Élie
Date Reported: 2008-09-23
Held for Document Update by: Lisa Dusseault

Section 5.3.3 says:

Example of use of the MODE READER command on a transit-only server
(which therefore does not providing reading facilities):

It should say:

Example of use of the MODE READER command on a transit-only server
(which therefore does not provide reading facilities):

Errata ID: 1529

Status: Held for Document Update
Type: Editorial

Reported By: Clive Feather
Date Reported: 2008-09-29
Held for Document Update by: Lisa Dusseault

Section 13 says:

Other people who contributed to this document include:

      Matthias Andree
      Greg Andruk
      Daniel Barclay
      Maurizio Codogno
      Mark Crispin
      Andrew Gierth
      Juergen Helbing
      Scott Hollenbeck
      Urs Janssen
      Charles Lindsey
      Ade Lovett
      David Magda
      Ken Murchison
      Francois Petillon
      Peter Robinson
      Rob Siemborski
      Howard Swinehart
      Ruud van Tol
      Jeffrey Vinocur
      Erik Warmelink

It should say:

Other people who contributed to this document include:

      Matthias Andree
      Greg Andruk
      Daniel Barclay
      Maurizio Codogno
      Mark Crispin
      Julien Elie
      Andrew Gierth
      Juergen Helbing
      Scott Hollenbeck
      Urs Janssen
      Charles Lindsey
      Ade Lovett
      David Magda
      Ken Murchison
      Francois Petillon
      Peter Robinson
      Rob Siemborski
      Howard Swinehart
      Ruud van Tol
      Jeffrey Vinocur
      Erik Warmelink

Notes:

On the basis that at least one of his reported errata is being accepted, insert Julien Elie into this list at the appropriate place.

In those versions that can cope, the first letter of his surname should carry an acute accent (U+00C9).


Errata ID: 2719

Status: Held for Document Update
Type: Editorial

Reported By: Julien Élie
Date Reported: 2011-02-15
Held for Document Update by: Peter Saint-Andre

Section 7.2.3 says:

   [C] HELP
   [S] 100 Help text follows
   [S] This is some help text.  There is no specific
|  [S] formatting requirement for this test, though
   [S] it is customary for it to list the valid commands
   [S] and give a brief definition of what they do.
   [S] .

It should say:

   [C] HELP
   [S] 100 Help text follows
   [S] This is some help text.  There is no specific
|  [S] formatting requirement for this text, though
   [S] it is customary for it to list the valid commands
   [S] and give a brief definition of what they do.
   [S] .

Notes:

A simple typo "test" -> "text".

First reported by Alfred Hönes.


Errata ID: 2721

Status: Held for Document Update
Type: Editorial

Reported By: Julien Élie
Date Reported: 2011-02-15
Held for Document Update by: Peter Saint-Andre

Section 14 says:

Section 14.1 (Normative References):

[RFC977]      Kantor, B. and P. Lapsley, "Network News Transfer
              Protocol", RFC 977, February 1986.

It should say:

Section 14.2 (Informative References):

[RFC977]      Kantor, B. and P. Lapsley, "Network News Transfer
              Protocol", RFC 977, February 1986.

Notes:

This Reference should be moved to the Informative References (Section 14.2) because:

* RFC 3977 is published as Proposed Standard, and it has formally obsoleted RFC 977, thus removing it from the Standards track.
* Normative References in a Standards Track RFC must be at a comparable (or higher) level on the IETF Standards Track (or at similar position in other Standards Bodies' scheme).
* All uses of the Ref. tag [RFC977] are non-normative in nature.

First reported by Alfred Hönes.


Status: Rejected (4)

RFC3977, "Network News Transfer Protocol (NNTP)", October 2006

Source of RFC: nntpext (app)

Errata ID: 1521

Status: Rejected
Type: Technical

Reported By: Julien Élie
Date Reported: 2008-09-23
Rejected by: Lisa Dusseault
Date Rejected: 2008-09-29

Section 3.4.1 says:

Except as an effect of the MODE READER command (Section 5.3) on a
mode-switching server, once a server advertises either or both of the
IHAVE or READER capabilities, it MUST continue to advertise them for
the entire session.

It should say:

Except as an effect of the MODE READER command (Section 5.3) on a
mode-switching server, once a server advertises either or both of the
IHAVE or READER capabilities, it SHOULD continue to advertise them for
the entire session.

Notes:

This condition should not be treated as a MUST but as a SHOULD.
Indeed, we can have the following case (amongst others):
* a news server connects to another one in transit mode;
* IHAVE is advertised;
* the news server authenticates via AUTHINFO (an NNTP
extension defined in RFC 4643);
* it is now authorized to only stream articles, thus IHAVE
is no longer available, replaced with STREAMING (an NNTP
extension defined in RFC 4644).

RFC 3977 should not prevent such a case from happening.
Otherwise, it would compel a news server to advertise IHAVE
even though that command is not available to the user.
The same remark also applies to the READER capability.
--VERIFIER NOTES--
This is a request to change the protocol, not an errata. Changes like this need to go through a new RFC.


Errata ID: 1523

Status: Rejected
Type: Technical

Reported By: Julien Élie
Date Reported: 2008-09-23
Rejected by: Lisa Dusseault
Date Rejected: 2008-09-29

Section 5.3.3 says:

Example of use of the MODE READER command on a mode-switching server:

    [C] CAPABILITIES
    [S] 101 Capability list:
    [S] VERSION 2
    [S] IHAVE
    [S] MODE-READER
    [S] .
    [C] MODE READER
    [S] 200 Reader mode, posting permitted
    [C] CAPABILITIES
    [S] 101 Capability list:
    [S] VERSION 2
    [S] READER
    [S] NEWNEWS
    [S] LIST ACTIVE NEWSGROUPS
    [S] STARTTLS
    [S] .

In this case, the server offers (but does not require) TLS privacy in
its reading mode but not in its transit mode.

It should say:

Example of use of the MODE READER command on a mode-switching server:

  [C] CAPABILITIES
  [S] 101 Capability list:
  [S] VERSION 2
  [S] IHAVE
  [S] MODE-READER
  [S] .
  [C] MODE READER
  [S] 200 Reader mode, posting permitted
  [C] CAPABILITIES
  [S] 101 Capability list:
  [S] VERSION 2
  [S] READER
  [S] NEWNEWS
  [S] LIST ACTIVE NEWSGROUPS
  [S] STARTTLS
  [S] .

In this case, the server offers (but does not require) TLS privacy in
its reading mode but not in its transit mode.  Despite the 200
response code, the POST capability is not advertised, indicating that
the POST command is not yet available but may become available later
(presumably after a TLS negotiation and possibly authentication).
This example shows a case where the 200 response code cannot be as
accurate or fine-grained as the CAPABILITIES response.

Notes:

This precision should be added because of the comment "Reader mode, posting permitted". It makes it clearer and incidentally provides an interesting example regarding the use of the 200 response code.
--VERIFIER NOTES--
This is a request to change the document, not an erratum.

--RFC EDITOR NOTE--
2009-11-27: The Corrected Text was updated per a request from Julien Élie.


Errata ID: 1526

Status: Rejected
Type: Technical

Reported By: Julien Élie
Date Reported: 2008-09-24
Rejected by: Lisa Dusseault
Date Rejected: 2009-11-23

Section 9.2 says:

mode-reader-command = "MODE" WS "READER"

It should say:

mode-command = "MODE" WS mode-variant
mode-variant = keyword

Notes:

Even though the ABNF syntax directly treats MODE READER as a command, MODE is
a base command and READER is a variant of this base command.
Therefore, when the keyword is an invalid mode, the 501 response code is sent:

[C] MODE UNKNOWN
[S] 501 Unknown MODE variant

--VERIFIER NOTES--
the errata contributor asked me to reject it.


Errata ID: 1707

Status: Rejected
Type: Technical

Reported By: Julien Élie
Date Reported: 2009-03-05
Rejected by: Lisa Dusseault
Date Rejected: 2010-01-19

Section 6.1.1.2 says:

o  The high water mark will be one less than the low water mark, and
 the estimated article count will be zero.  Servers SHOULD use this
 method to show an empty group.  This is the only time that the
 high water mark can be less than the low water mark.

It should say:

o  The low water mark will be one more than the high water mark, and
 the estimated article count will be zero.  Servers SHOULD use this
 method to show an empty group.  This is the only time that the
 high water mark can be less than the low water mark.

Notes:

The difference in wording is subtle. The low water mark is one more than
the high water mark (that is to say that the low water mark has increased,
and the high water mark has not decreased). It will permit the following
article arrival to be handled by incrementing the high water mark and
leaving the low water mark unchanged.

To be more precise, if at a given time we have only one article in misc.test
and the following answer to a GROUP command:

[C] GROUP misc.test
[S] 211 1 12 12 misc.test

After cancelling this article, the same GROUP command SHOULD give:

[C] GROUP misc.test
[S] 211 0 13 12 misc.test


Besides, RFC 3977 also mentions in the same section:

The client may make use of the low water mark to
remove all remembered information about articles with lower numbers,
as these will never recur. This includes the situation when the high
water mark is one less than the low water mark.

It should be read as "when the low water mark is one more than the high
water mark". The answer to the previous GROUP command is not
"211 0 12 11 misc.test". Otherwise, a news client may still wrongly
consider that the article whose number is 12 is still present whereas
it could remove it if the low water mark was set to 13.

--VERIFIER NOTES--
[updated 2012-05-15 by Barry Leiba]

The high water mark is one less than the low water mark for empty
newsgroups. A major reason for doing it this way was to deal with
clusters of servers. If they're not perfectly synchronized, then
a cancel might be visible on one and not another. So if you connect
to the second one, it looks as if the article has been reinstated.
Wording it like this meant we didn't need special treatment of such
clusters. The low water mark cannot decrease.


Report New Errata