[NNTP] Re: MODE READER

Russ Allbery rra at stanford.edu
Tue Nov 9 19:04:58 PST 2004


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

>> (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.

> These two should be 503 ("not supported") rather than 502 ("wrong
> authority").

502 is existing practice.  503 has the following description:

   If the server recognizes the command but does not provide an optional
   feature (for example because it does not store the required
   information), or only handles a subset of legitimate cases (see the HDR
   command (Section 8.6.1) for an example), the response code 503 MUST be
   returned.  Note that where a command is optional (e.g.  LIST
   ACTIVE.TIMES) and is not provided by a server, this MAY be treated as
   an unimplemented command (response code 500 or 501 as appropriate) or
   as a working command where the information is not available (response
   code 503).

This doesn't sound like the right code to use to me, since we're not
talking about optional commands and we're not talking about a client
request for command functionality that isn't supported.  Actually, a 500
or 501 response makes more sense to me than 503, but that means we're
returning unimplemented status codes for mandatory commands.

Of course, once we have LIST EXTENSIONS labels for them, the commands
aren't clearly mandatory, and I'm not sure if this whole mandatory
vs. optional command distinction is really one to hang on to.  The
distinction is really between commands associated with some advertised
extension (which includes all the reader commands) and commands that
everyone has to implement, period, no matter what capabilities they
advertise (like QUIT and LIST EXTENSIONS).

>> (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.

> This one *is* 502, since reconnecting makes transit commands available.

Right.

> Ken writes:
>> The only case which isn't addressed is a reader-only server, which
>> really only effects IHAVE and I think returning a 503 solves this.

> Actually, I agree with Mark here. If we're going to have core
> capabilities described in LIST EXTENSIONS, let's not leave *anything* as
> "suck it and see".

I think we should go ahead and add an IHAVE capability, yes.  Among other
things, some servers offer IHAVE to readers.

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



More information about the ietf-nntp mailing list