ietf-nntp Draft vs Diablo server software
Russell Vincent
rv at openusenet.org
Sun Jul 23 12:37:10 PDT 2000
Here is a list of the commands used in the Diablo NNTP server software.
I did this audit to see how it conforms with draft-ietf-nntpext-base-10.txt
and to compare how another usenet server (with a different architecture
to INN) complies with the draft.
Note that I will update Diablo to conform to the standard where necessary
and feasible.
Summary of major differences that may require clarification or extra
response codes in the draft:
- uses 501 to indicate usage error in commands that require parameters
- uses 502 instead of 504 in GREETING for unauthorised connections (7.1)
- uses 480 to indicate that IHAVE transfer permission is denied (9.3.2)
- uses 481 to indicate that no group was specified for LISTGROUP (9.5.1)
(perhaps use 501 instead)
- DATE not implemented in transfer mode (only reading client mode)
Differences that need to be fixed in Diablo:
- not all wildmat options are implemented (5)
- uses 500 instead of 502 for MODE command failure (7.1.2)
There are also some commands that are only implemented in Diablo and
these will probably be implemented with LIST EXTENSIONS.
For those readers unfamiliar with Diablo; it is currently in wide use
as newsfeeding software and gaining popularity in newsreading,
particularly in very large, distrubuted newsreading systems.
http://www.openusenet.org/diablo/
-Russell
(Current maintainer of Diablo usenet server software)
========================================================================
Differences between draft-ietf-nntpext-base-10.txt and the Diablo
-----------------------------------------------------------------
implementation of the commands.
-------------------------------
Wildmat
- implemented '*', '?' and '!'.
- unimplemented: set ([]), negate set and backslash
GREETING
- implemented: 200/201/400
- uses 502 instead of 504
MODE READER
- implemented: 200/201
- unimplemented: 400
- uses 500 instead of 502
- also implemented
stream
feeder - to switch to feeding mode when connected as reader
headfeed - switch to header-only feed
The last 2 options are implemented due to the distributed nature
of the implementation, which means that the reader frontend only
requires a feed of the article headers
LIST EXTENSIONS
- not yet implemented
GROUP
- conforms
- also implements 501 (no group name specified)
LAST
- implemented: 223/422
- uses 422 for 412/420
- also implements 501 (no group name specified)
NEXT
- implemented: 223/421
- uses 421 for 412/420
- also implements 501 (no group name specified)
ARTICLE
- implemented: 220/412/423/430
- uses 423 for 420
- unimplemented: 502
HEAD
- implemented: 221/412/423/430
- uses 423 for 420
- unimplemented: 502
BODY
- implemented: 222/412/423/430
- uses 423 for 420
- unimplemented: 502
STAT
- implemented: 223/412/423/430
- uses 423 for 420
- unimplemented: 502
POST
- conforms
- also implements a secondary code used after 340 (optional and not
recommended)
340 340 send article to be posted, Message-ID will be accepted
340 345 send article to be posted, but Message-ID will be replaced
IHAVE
- conforms
- also implements:
480 Transfer permission denied
400 I/O Error
LIST ACTIVE
- implemented: 215
- unimplemented: 501/503
LIST ACTIVE.TIMES
- not supported yet
LIST DISTRIBUTIONS
- implemented: 215
- unimplemented: 501/503
LIST DISTRIB.PATS
- implemented: 215
- unimplemented: 501/503
LIST NEWSGROUPS
- implemented: 215
- unimplemented: 501/503
LISTGROUP
- implemented: 211/411
- unimplemented: 412
- also implemented:
481 No group specified
[ This needs changing to 412 ]
LIST OVERVIEW.FMT
- implemented: 215
- unimplemented: 501/503
OVER
- implemented as XOVER
- implemented: 224/412/500
- unimplemented: 420/502
if no article is specified (420), then uses the current article
pointer
PAT
- implemented as XPAT
- implemented: 221/412
- unimplemented: 430/502
- also implemented:
501 Usage error
QUIT
- conforms
DATE
- conforms
- only implemented in reader code
DEBUG
- unimplemented
HELP
- conforms
NEWGROUPS
- conforms
- also implemented:
501 Usage error
NEWNEWS
- unimplemented
Other commands implemented, but not in draft
--------------------------------------------
LISTGROUP
- list all article numbers in a group as '211' followed by
'.\r\n' terminated list of article numbers, one per line.
XGTITLE [group_pattern]
- list description of newsgroup(s)
XHDR header [range|MessageID]
- display a particular article header for a range of articles
XOVER
- see OVER
XPAT
- see OVER
CHECK
TAKETHIS
- used in streaming mode NNTP
OUTQ
- display the size of the feed backlog for the connecting site
FEEDRSET
FEEDADD
FEEDDEL
FEEDCOMMIT
- adjust the newsfeed group patterns for the connecting site
AUTHINFO USER
AUTHINFO PASS
- user authentication to client mode
More information about the ietf-nntp
mailing list