Cyrus nntpd not handling NEXT and LAST correctly?

Lars Kellogg-Stedman lars at oddbit.com
Sat Nov 12 16:34:56 EST 2005


[I initially posted this via Gmane, but it doesn't appear to have made
it to the list.  My apologies if y'all end up seeing two copies of
this message.]

Hello Cyrus nntp people,

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 my.group
  S: 211 5 6 22 my.group
  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.

The NEXT command also has issues...selecting an article with ARTICLE
and then sending NEXT will get you the second article in the
newsgroup.

This all seems to work on other news servers.  Is this a bug?  Or just
a poorly specified RFC?



More information about the Info-cyrus mailing list