[NNTP] Article Numbers Becoming Invalid (RFC 3977)

Julien ÉLIE julien at trigofacile.com
Mon Dec 28 04:24:40 PST 2009


Hi Sabahattin,

>> Isn't there a contradiction between the fact that the current article
>> number MUST be set to the [next] article in the newsgroup (and therefore
>> returning 423) and the fact that the current article number is invalid
>> (and therefore returning 420)?
>
> My feeling exactly.

I think that sections 6.1.3.2 and 6.1.4.2 mix the current article number and
the *new* current article number.  Only the adjective "new" is missing at some
places.

Unless we have confirmation that "new" must not be added, NEXT is supposed
to return 420 after ARTICLE has returned 420.


> The article pointer can't be manipulated while invalid according to spec,
> and it's only ever valid if set explicitly.  So how do you find the first
> valid article number without setting it?

What INN does is that after GROUP, the article number is set to the low
water mark.  It is what is considered to be the first article in the group
(allowing a possible reinstatement).
If the group is empty, the new current article number is still invalid
(because it does not exist).
Note that if a new article arrives in that newsgroup, it will become valid
because INN uses the high water mark + 1 to give a number to the new article
(the high water mark is one less than the low water mark in the case of
an empty newsgroup).

How does INN find the first valid article number?  INN just tries every number
below the high water mark.  The first valid one is what will be returned
by NEXT.
It is also how LISTGROUP behaves:  INN will scan every number article
in the provided range (if specified).

I hope it answers your question.


Here is the relevant excerpt from RFC 3977 for GROUP:

   When a valid group is selected by means of this command, the
   currently selected newsgroup MUST be set to that group, and the
   current article number MUST be set to the first article in the group
   (this applies even if the group is already the currently selected
   newsgroup).  If an empty newsgroup is selected, the current article
   number is made invalid.  If an invalid group is specified, the
   currently selected newsgroup and current article number MUST NOT be
   changed.

-- 
Julien ÉLIE

« Ne parlez jamais de vous, ni en bien, car on ne vous
  croirait pas, ni en mal car on ne vous croirait que trop. » (Confucius)



More information about the ietf-nntp mailing list