[NNTP] Extension snapshots 2

Clive D.W. Feather clive at demon.net
Fri Jan 7 07:39:28 PST 2005


Russ Allbery said:
> >> What I've put in snapshot 6 is:
> >>    A client MAY use the CAPABILITIES command to determine whether it
> >>    needs to issue a MODE READER command and SHOULD NOT do so if it is
> >>    unnecessary.  If the server does not support CAPABILITIES (and
> >>    therefore does not conform to this specification), the client MAY use
> >>    the following heuristic:
> >>    o  if the client wishes to use the IHAVE command, it SHOULD NOT use
> >>       the MODE READER command or any command that is not marked as
> >>       mandatory in this specification;
> 
> I'm not sure we need the bit after the "or"; I don't think that really
> provides anything useful at this point.  It's not like the world ends if
> they try it and the command fails, since we're already into guesswork
> territory given that the server doesn't support CAPABILITIES.

True. I was trying to write text that says "beware, the server might be
mode-switching and so won't support both IHAVE and GROUP etc. at the
same time".

How about this?

    o  if the client wishes to use the IHAVE command, it SHOULD NOT use
       the MODE READER command, but should be prepared for some
       commands to be unavailable;

or "some READER commands".

>>>    o  otherwise the client SHOULD use the MODE READER command
>>>       immediately after the initial connection, and then SHOULD NOT use
>>>       the IHAVE command.
> Likewise here, I would drop everything after the comma.

Okay.

>>>    The client MUST NOT send this command after any other command except
>>>    CAPABILITIES (in particular, it MUST NOT send this command twice in
>>>    a session); if it does so, the server MAY violate this specification
>>>    even if it returns a successful response (for example, the server
>>>    MAY forget the currently selected newsgroup or change its privacy or
>>>    authentication status).
>>> How's that?
> 
> I would replace this whole paragraph with my paragraph from before:
> 
>     If a client intends to use the MODE READER command, it SHOULD issue it
>     before issuing any commands other than CAPABILITIES and MUST issue it
>     before any security or privacy commands are issued.

I was going to object to calling out security or privacy specially, but
I've just remembered we do that elsewhere.

> I don't think we need to allow for the server doing strange things in
> response to a second MODE READER command.

Remember that "strange things" includes forgetting the currently selected
group. Put another way, does MODE READER reset the internal state or not?
We never did resolve that, and that's what I'm trying to avoid having to
do.

Editorially, I don't like "intends to use" as a way of describing protocol
restrictions. All existing uses of the term are usage like "The IHAVE
command is intended for transmitting conforming articles between a system
of NNTP servers".

>> Don't we also want text somewhere that states that "the MODE-READER
>> capability MUST NOT be advertised after any security or privacy commands
>> have completed successfully"?
> Yes, I think so.

Actually, given this whole thing is aimed at solving one very restricted
problem, how about being prescriptive:

    The client MUST NOT send this command, and the server MUST NOT
    advertise the MODE-READER capability, after any other command except
    CAPABILITIES has been used in the session.

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