IETF-SSH archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Message Numbers and Disconnect Codes



Henrick Hellström <henrick%streamsec.se@localhost> writes:

> Martin Forssen wrote:
> 
>  > I agree that 16 seems a bit small. But reserving half the space is
>  > probably overkill. How about making 0xFF000000-0xFFFFFFFF locally
>  > assigned?
> 
> Please also note that "locally assigned" can (and probably must) be
> defined. There are at least three levels that have to be accounted for:

I think, quite strongly, that such substructure should be out of scope
for the core drafts. It would be quite a lot of work to sort the
details of that out properly, and I don't see any huge win in doing
that work. And it's way too late to introduce entirely new concepts
into the specification.

Also note that we are primarily concerned with the protocol on the
wire; how protocol constants are used or misused inside a host is
mostly out of scope.

> 1. The SSH library. [...]
> 2. The application software. [...]
> 3. The specific host

My understanding of "locally assigned" numbers is: Use of locally
assigned numbers is purely an implementation and configuration issue
of the local ssh implementation. The phrase "local ssh implementation"
includes *all* software that speaks the ssh protocols, no matter how
that body of code is divided into libraries and applications.

If you write an ssh library, you are free to reserve some subrange of
the locally assigned space for the library's internal use, and leave
the rest for use by applications (I don't see how locally defined
constants are useful for the library or application, but I imagine you
see some use for it).

That subdivision will then be a part of your library API. If you want
to standardize that subdivision, the right place would be a ssh
library API specification. Which would most likely be of informational
status rather than standards track.

You may of course get into conflicts with other implementation that
uses locally assigned numbers differently. But that's the entire point
of the locally assigned numbers; to allow for some local uncoordinated
experimentation, without interoperability concerns. Whenever you want
interoperability on the wire between different implementations, the
right thing to do is to allocate a new standard number.

Regards,
/Niels



Home | Main Index | Thread Index | Old Index