[NNTP] [2501] Reader commands in transit servers and vice-versa

Ken Murchison ken at oceana.com
Mon Dec 6 13:23:40 PST 2004


Russ Allbery wrote:

> Charles Lindsey <chl at clerew.man.ac.uk> writes:
> 
>>"Clive D.W. Feather" <clive at demon.net> writes:
> 
> 
>>>In case we ever have more transit commands in the core specification,
>>>do we want a separate capability for IHAVE? Or do we see this (IHAVE
>>>but not other transit commands) as an unlikely enough case to ignore?
> 
> 
>>Yes, when IHAVE is available in reader mode, I would like to see a
>>capability to tell me so.
> 
> 
> That's what the TRANSIT capability does.
> 
> Given that IHAVE is at present the *only* transit command, I'm wondering
> if it might be more future-proof to just call the TRANSIT capability IHAVE
> instead.  What do people feel about that?
> 
> If we did that, we could also potentially take Andrew's simplification
> proposal, at least to some degree, and reduce matters to three cases
> (reader commands supported, reader commands supported after MODE READER,
> reader commands not supported).  But regardless of whether we went that
> route, I think renaming the capability may be a good idea.

Having digested this weekend's posts, here's my current thinking.

-  We have a set of mandatory "core" commands which *all* servers MUST 
implement.  The set of "core" commands is defined by the VERSION 
capability and as of VERSION 2, these are:  CAPABILITIES, QUIT, HEAD, 
STAT, LIST ACTIVE

-  All other commands are optional and MUST be advertised by an 
appropriate capability.  All optional commands (or set of commands) are 
orthorgonal and may be advertised independent of each other.

-  We have a set of optional "reader" commands which, if implemented, 
MUST be implemented in its entirety.  The set of "reader" commands is 
also defined by the VERSION capability and is advertised by the READER 
capability.  The VERSION 2 "reader" commands currently are: GROUP, LAST, 
NEXT, ARTICLE, BODY, DATE, HELP, NEWGROUPS, NEWNEWS, LIST NEWSGROUPS

(Note: a case might be made that both DATE and HELP should be "core" 
commands, and that NEWNEWS should be split from the "reader" commands)

- The other optional capabilities currently are:

MODE_READER (MODE READER required)
POST (might be an argument to READER)
IHAVE
LIST (framework for ACTIVE.TIMES, DISTRIB.PATS, etc)
LISTGROUP
OVER (OVER + LIST OVERVIEW.FMT)
HDR (HDR + LIST HEADERS)


I've included the last 3 in this list because given the fact that the 
line between capabilities and extensions has been blurred, I don't think 
it makes any sense to define "extensions" within the base document.  I'm 
currently thinking that an "extension" is any command (or set of 
commands) defined outside of the base document.  The base document 
should just define mandatory and optional commands, the framework for 
optional LIST variants, and the framework for extensions.

-- 
Kenneth Murchison     Oceana Matrix Ltd.
Software Engineer     21 Princeton Place
716-662-8973 x26      Orchard Park, NY 14127
--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp



More information about the ietf-nntp mailing list