26 package sun.security.ssl;
27
28 import java.util.ArrayList;
29 import java.util.List;
30
31 final class ExtensionType {
32
33 final int id;
34 final String name;
35
36 private ExtensionType(int id, String name) {
37 this.id = id;
38 this.name = name;
39 }
40
41 @Override
42 public String toString() {
43 return name;
44 }
45
46 static List<ExtensionType> knownExtensions = new ArrayList<ExtensionType>(9);
47
48 static ExtensionType get(int id) {
49 for (ExtensionType ext : knownExtensions) {
50 if (ext.id == id) {
51 return ext;
52 }
53 }
54 return new ExtensionType(id, "type_" + id);
55 }
56
57 private static ExtensionType e(int id, String name) {
58 ExtensionType ext = new ExtensionType(id, name);
59 knownExtensions.add(ext);
60 return ext;
61 }
62
63 // extensions defined in RFC 3546
64 final static ExtensionType EXT_SERVER_NAME =
65 e(0x0000, "server_name"); // IANA registry value: 0
66 final static ExtensionType EXT_MAX_FRAGMENT_LENGTH =
|
26 package sun.security.ssl;
27
28 import java.util.ArrayList;
29 import java.util.List;
30
31 final class ExtensionType {
32
33 final int id;
34 final String name;
35
36 private ExtensionType(int id, String name) {
37 this.id = id;
38 this.name = name;
39 }
40
41 @Override
42 public String toString() {
43 return name;
44 }
45
46 static List<ExtensionType> knownExtensions =
47 new ArrayList<ExtensionType>(9);
48
49 static ExtensionType get(int id) {
50 for (ExtensionType ext : knownExtensions) {
51 if (ext.id == id) {
52 return ext;
53 }
54 }
55 return new ExtensionType(id, "type_" + id);
56 }
57
58 private static ExtensionType e(int id, String name) {
59 ExtensionType ext = new ExtensionType(id, name);
60 knownExtensions.add(ext);
61 return ext;
62 }
63
64 // extensions defined in RFC 3546
65 final static ExtensionType EXT_SERVER_NAME =
66 e(0x0000, "server_name"); // IANA registry value: 0
67 final static ExtensionType EXT_MAX_FRAGMENT_LENGTH =
|