[NNTP] Re: MODE READER

Clive D.W. Feather clive at demon.net
Wed Nov 10 00:32:40 PST 2004


Russ Allbery said:
>>> (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.

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

I don't follow. On a reader-only server, IHAVE is a documented command that
will be rejected by the server because it only handles a subset of
legitimate cases - it doesn't handle the transit case. Or transit is an
optional feature that isn't provided.

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

Argh. 500/501 should mean "you've said something nonsensical".

502 doesn't make sense, because it implies that reconnecting can give you
the appropriate authority.

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

Note that this text has now been deleted, because we don't have any
optional commands any more, just extensions that aren't available.

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

Indeed. On the other hand, I don't like thinking of "reader-mode" or
"transit-mode" as an extension, because after all you need to have one or
the other.

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

I really really really don't like thinking of the reader commands as an
extension. Apart from anything else, it will make a real mess of the
document and confuse the readers.

-- 
Clive D.W. Feather  | Work:  <clive at demon.net>   | Tel:    +44 20 8495 6138
Internet Expert     | Home:  <clive at davros.org>  | Fax:    +44 870 051 9937
Demon Internet      | WWW: http://www.davros.org | Mobile: +44 7973 377646
Thus plc            |                            |



More information about the ietf-nntp mailing list