Is Cyrus nntpd "LAST" command per RFC?

Ken Murchison murch at
Sun Nov 13 09:28:42 EST 2005

Lars Kellogg-Stedman wrote:
> Hey folks,
> I'm writing an application in which I'd like to be able to retrieve the 
> last <n> messages from a newsgroup hosted on a Cyrus nntp server.  I 
> figured I could use the ARTICLE command to select the last article in 
> the group and then use the LAST command to step backwards an appropriate 
> number of articles.  Unfortunately, this results in an error:
>   C: GROUP
>   S: 211 5 6 22
>   C: ARTICLE 22
>   S: 220 22 <...message id...>
>   S: ...article contents...
>   S: .
>   C: LAST
>   S: 422 No previous article in this group
> The RFC implies this ought to work -- the ARTICLE command is supposed to 
> update the "current article pointer", and the description of the LAST 
> command says:
>   The internally maintained "current article pointer" is set
>   to the previous article in the current newsgroup. If already 
>   positioned at the first article of the newsgroup, an error 
>   message is returned and the current article remains selected.
> So, is this a bug?  Or just a poorly specified RFC (it doesn't 
> *explicitly* state that you have to use NEXT before you use LAST, but 
> neither does it state the opposite).

Its a bug which I just fixed in CVS:

When I refactored the msgno/msgid/range code, I forgot to have the 
article selection commands set the current article pointer.

Kenneth Murchison
Systems Programmer
Carnegie Mellon University

More information about the Info-cyrus mailing list