[NNTP] Re: MODE READER

Russ Allbery rra at stanford.edu
Tue Nov 9 19:00:02 PST 2004


Clive D W Feather <clive at demon.net> writes:

> There are three classes of commands: "transit", "reader", and "general".
> Of the core commands apart from MODE READER:
> * IHAVE is transit
> * HEAD, STAT, LIST ACTIVE, LIST EXTENSIONS are general
>   (that's what the present text implies; I think at least QUIT needs
>    to be added to that list)

QUIT is indeed also a general command.  (In practice, STAT probably is
too, but we didn't put it into that category for some reason that I don't
recall off-hand and which isn't important enough to revisit.)

> * everything else is reader.

Right.

> There are *four* possible types of connection. The connection type
> depends on the server, the connecting IP, the connection port, and
> possibly the phase of the moon :-)

> (1) Full-functional. MODE READER is a no-op. The client can use any
> command at any time (I'm ignoring authentication etc. for the moment).

> (2) Reader-only. MODE READER is a no-op. The client can *not* use any
> transit command (it gets 502), but can use all other commands at any
> time.

> (3) Transit-only. MODE READER is a no-op. The client can *not* use any
> reader command (it gets 502), but can use all other commands at any time.

> (4) Switching. Initially reader commands cannot be used; they get a 401
> response. Once MODE READER has been issued, transit commands cannot be
> used; they get a 502 response. MODE READER destroys all server state
> apart from the switch and therefore LIST EXTENSIONS output can change in
> this one case.

> Is this correct, in people's opinion?

This is correct according to what's specified in our standard.  It's worth
noting that, as 401 is an innovation of this document, the last point
isn't what happens right now in practice; instead, 502 is returned.

> If so, then why don't I revamp the description to express it like that?
> MODE READER can then be rewritten in these terms, which I expect will be
> far less confusing. LIST EXTENSIONS can indicate which of the four cases
> applies (I would make (1) the default, with the others being
> READER_ONLY, TRANSIT_ONLY, and MODE_READER). We'll need to decide which
> commands are "transit" and which are "reader", but that won't hold up
> the rewrite.

I'm not entirely sure that this will really be an improvement, but it may
be.  In any case, let's hold off until we decide what extensions we're
using to advertise the availability of IHAVE, POST, and reader commands,
since that will have a lot of influence on the wording of the MODE READER
description.

-- 
Russ Allbery (rra at stanford.edu)             <http://www.eyrie.org/~eagle/>



More information about the ietf-nntp mailing list