[ietf-nntp] What commands can be implemented?

Russ Allbery rra at stanford.edu
Sat Jul 3 12:59:31 PDT 2004


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

> Let us start from first principles. The commands implemented by any given
> server may be:
> (1) a core command in [NNTP]
> (2) a command from one of the extensions in [NNTP]
> (3) a command from another extension in the IANA registry (e.g. AUTHINFO)
> (4) a command in a private extension.

> The term "standard extension" means (2) alone; (2) and (3) together are
> described as "extension[s] registered with IANA" or similar terms.

Hurm.  I'm not hugely fond of drawing a distinction between (2) and (3),
although I expect it won't matter all that much.  (Or, rather, I think a
"standard extension" should be equivalent to "an extension specified by a
standards-track RFC".)

> ** Do we want to put something in the IANA requirements that two
> different registered extensions can't each use the same command name?

Yes, I think so.  To me, that's a large part of the point of the registry,
to avoid having conflicting commands.  I'm trying to think of cases where
that would cause problems, and I can't think of any; if an extension has
varients that change the meanings of its commands, it seems like those
should be specified as parameters in the LIST EXTENSIONS output.

> ** The wording concerning the LIST EXTENSIONS output is not
> consistent. If a server does not support any registered extensions, it
> need not provide the LIST EXTENSIONS command. However, if it *does*
> support the command, then what should the requirements for the output
> be:
> (A) it MUST list all extensions, including private ones;
> (B) it MUST list registered extensions and SHOULD list private ones;
> (C) it MUST list registered extensions and MAY list private ones.

My preference would be (B).

> ** We currently say that the names of private extensions SHOULD begin
> with an X. Do we want to change that to a MUST, or will it break too
> many servers?

I think we need to leave it as a SHOULD to handle the case of, say, a
server implementing OVER right now, before the extension has been formally
accepted by IANA.  SHOULD gives the right tone -- don't do it unless you
have some compelling reason, like being fairly certain that it's about to
be standardized under that name.

> Or we could say that the name MUST NOT be the same as one in the IANA
> registry.

I think this is a good idea.  Say that it SHOULD begin with an X and MUST
NOT conflict with an extension in the IANA registry.

> ** The 8.2 text currently forbids a private extension providing a
> command with the same name as a standard extension. This means that
> anyone implementing LIST OVERVIEW.FMT without OVER is non-compliant. Is
> this what we want? I guess not; apart from anything else, it could make
> implementations retroactively non-compliant if a new extension is
> registered.

Right, I don't like this too much.

> However, we need to say *something* to ensure that if LIST EXTENSIONS
> returns "OVER", then the OVER command does what [NNTP] says.

That seems like a separate question.  If LIST EXTENSIONS returns a
particular extension, then the commands specified by that extension must
work as specified.  If the server has a LIST OVERVIEW.FMT command without
OVER, it can't advertise the OVER extension, but it can still continue to
have a LIST OVERVIEW.FMT command.

Does that make sense?

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



More information about the ietf-nntp mailing list