IETF-SSH archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: Message Numbers and Disconnect Codes
Chris Lonvick wrote:
Hi Folks,
I need to bring this up again. :) In the last go-around, I made the
mistake of saying that the Disconnection Codes 'reason code' value was a
byte. The document clearly states, however, that it is a uint32. My bad.
Since we agreed that the high 16 values (what we said were going to be
239..254) would be reserved for local use, I'd like to suggest that this
be retained. This would mean that the values of 0x00000001..0xFFFFFFE9
will be assigned by the IANA and the values of 0xFFFFFFF0..0xFFFFFFFF will
be reserved for local use.
I've also found a couple of more items that need to be listed in
[NUMBERS]. Including the Disconnection Codes we have:
Disconnection Codes from Section 11 in [TRANS]
byte SSH_MSG_DISCONNECT
uint32 reason code
string description [RFC3629]
string language tag [RFC3066]
'reason code' values of 1..15 are assigned
Channel Connection Failure from Section 5.1 in [CONNECT]
byte SSH_MSG_CHANNEL_OPEN_FAILURE
uint32 recipient channel
uint32 reason code
string additional text
string language tag
'reason code' values of 1..4 are assigned
Extended Channel Data Transfer from Section 5.2 in [CONNECT]
byte SSH_MSG_CHANNEL_EXTENDED_DATA
uint32 recipient_channel
uint32 data_type_code
string data
'data_type_code' 1 is assigned
Unless anyone has a better plan, I'll suggest that the actual codes follow
the same pattern:
values 0x00000001..0xFFFFFFE9 are assigned by the IANA
values 0xFFFFFFF0..0xFFFFFFFF are locally assigned.
I'd also like to suggest that we change the name of 'data_type_code' to
'reason code'. Also for consistency, I'd like to make all of the
additional descriptions become 'description' - and remove 'additional
text' and 'data'.
SSH_MSG_CHANNEL_EXTENDED_DATA is dissimilar to the other two... it
is used for sending stderr data. The data is not a description of
any particular event defined in the protocol, but is whatever
arbitrary data is being sent on stderr.
data_type_code describes the data as being stderr data, and provides
a mechanism for future data types to be used. (Personally, if I
had it to do all over again, I'd be tempted to skip the data_type_code...)
But regardless, I think changing the name of those two fields would
be bad.
Indeed, however, 'additional text' should be changed to description,
and the same RFC references included on 'description' and on
'language tag' as for disconnect. (That is another differnece
for EXTENDED_DATA: the data is __not__ UTF8, and there isn't
a language tag.)
As for the ranges, with a 32 bit address space, 16 codes seems
a bit stingy... I'd be tempted to say if the high bit is set
is locally assigned; however, I do not feel strongly about it.
(I can imagine needing more the 16 codes; and i can imagine future
IETF work needing all 256 code points in an 8 bit space... but,
I can't imagine out growing 2 billion codes, nor can I imagine
future IETF work needing more than 2 billion codes.)
- Joseph
Home |
Main Index |
Thread Index |
Old Index