Opened 14 years ago
#102 new clarification
Extensibility of server_name
Reported by: | pasi.eronen@… | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | |
Component: | rfc4366-bis | Version: | 02 |
Severity: | Active WG Document | Keywords: | |
Cc: |
Description
Mike 2008-05-07:
The server_name extension contains a ServerNameList, where:
struct { NameType name_type; select (name_type) { case host_name: HostName; } name; } ServerName; enum { host_name(0), (255) } NameType; opaque HostName<1..2^16-1>; struct { ServerName server_name_list<1..2^16-1> } ServerNameList;
The text states that this may be extended in the future to other name types, but I don't think that would be possible.
Suppose you were to add a new NameType and define a new structure to hold the name. Software that doesn't know about the new name type won't know how to skip past it while parsing the server_name_list, since ServerName is currently only fully specified for a host_name.
I suppose you could restrict server_name_list to list the ServerNames in order (host_name first, then the next- defined name type, and so on), so software could simply stop decoding once it encounters a type it doesn't know about, but it's probably too late to do that since there is already an installed base.