|
42 | 42 | "valid": true |
43 | 43 | }, |
44 | 44 | { |
45 | | - "description": "a valid punycoded IDN hostname", |
46 | | - "data": "xn--4gbwdl.xn--wgbh1c", |
| 45 | + "description": "single label", |
| 46 | + "data": "hostname", |
47 | 47 | "valid": true |
48 | 48 | }, |
49 | 49 | { |
50 | | - "description": "a host name starting with an illegal character", |
51 | | - "data": "-a-host-name-that-starts-with--", |
52 | | - "valid": false |
53 | | - }, |
54 | | - { |
55 | | - "description": "a host name containing illegal characters", |
56 | | - "data": "not_a_valid_host_name", |
57 | | - "valid": false |
| 50 | + "description": "single label with digits", |
| 51 | + "data": "h0stn4me", |
| 52 | + "valid": true |
58 | 53 | }, |
59 | 54 | { |
60 | | - "description": "a host name with a component too long", |
61 | | - "data": "a-vvvvvvvvvvvvvvvveeeeeeeeeeeeeeeerrrrrrrrrrrrrrrryyyyyyyyyyyyyyyy-long-host-name-component", |
62 | | - "valid": false |
| 55 | + "description": "single label starting with digit", |
| 56 | + "data": "1host", |
| 57 | + "valid": true |
63 | 58 | }, |
64 | 59 | { |
65 | | - "description": "starts with hyphen", |
66 | | - "data": "-hostname", |
67 | | - "valid": false |
| 60 | + "description": "single label ending with digit", |
| 61 | + "data": "hostnam3", |
| 62 | + "valid": true |
68 | 63 | }, |
69 | 64 | { |
70 | | - "description": "ends with hyphen", |
71 | | - "data": "hostname-", |
| 65 | + "description": "empty string", |
| 66 | + "data": "", |
72 | 67 | "valid": false |
73 | 68 | }, |
74 | 69 | { |
75 | | - "description": "starts with underscore", |
76 | | - "data": "_hostname", |
| 70 | + "description": "single dot", |
| 71 | + "data": ".", |
77 | 72 | "valid": false |
78 | 73 | }, |
79 | 74 | { |
80 | | - "description": "ends with underscore", |
81 | | - "data": "hostname_", |
| 75 | + "description": "leading dot", |
| 76 | + "data": ".example", |
82 | 77 | "valid": false |
83 | 78 | }, |
84 | 79 | { |
85 | | - "description": "contains underscore", |
86 | | - "data": "host_name", |
| 80 | + "description": "trailing dot", |
| 81 | + "data": "example.", |
87 | 82 | "valid": false |
88 | 83 | }, |
89 | 84 | { |
90 | | - "description": "maximum label length", |
91 | | - "data": "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijk.com", |
92 | | - "valid": true |
93 | | - }, |
94 | | - { |
95 | | - "description": "exceeds maximum label length", |
96 | | - "data": "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl.com", |
| 85 | + "description": "IDN label separator", |
| 86 | + "data": "example\uff0ecom", |
97 | 87 | "valid": false |
98 | 88 | }, |
99 | | - { |
100 | | - "description": "single label", |
101 | | - "data": "hostname", |
102 | | - "valid": true |
103 | | - }, |
104 | 89 | { |
105 | 90 | "description": "single label with hyphen", |
106 | 91 | "data": "host-name", |
107 | 92 | "valid": true |
108 | 93 | }, |
109 | 94 | { |
110 | | - "description": "single label with digits", |
111 | | - "data": "h0stn4me", |
112 | | - "valid": true |
113 | | - }, |
114 | | - { |
115 | | - "description": "single label starting with digit", |
116 | | - "data": "1host", |
117 | | - "valid": true |
| 95 | + "description": "starts with hyphen", |
| 96 | + "data": "-hostname", |
| 97 | + "valid": false |
118 | 98 | }, |
119 | 99 | { |
120 | | - "description": "single label ending with digit", |
121 | | - "data": "hostnam3", |
122 | | - "valid": true |
| 100 | + "description": "ends with hyphen", |
| 101 | + "data": "hostname-", |
| 102 | + "valid": false |
123 | 103 | }, |
124 | 104 | { |
125 | | - "description": "empty string", |
126 | | - "data": "", |
| 105 | + "description": "contains \"--\" in the 3rd and 4th position", |
| 106 | + "comment": "https://tools.ietf.org/html/rfc5891#section-4.2.3.1 https://tools.ietf.org/html/rfc5890#section-2.3.2.1", |
| 107 | + "data": "XN--aa---o47jg78q", |
127 | 108 | "valid": false |
128 | 109 | }, |
129 | 110 | { |
130 | | - "description": "single dot", |
131 | | - "data": ".", |
| 111 | + "description": "contains underscore", |
| 112 | + "data": "host_name", |
132 | 113 | "valid": false |
133 | 114 | }, |
134 | 115 | { |
135 | | - "description": "leading dot", |
136 | | - "data": ".example", |
| 116 | + "description": "exceeds maximum overall length (256)", |
| 117 | + "data": "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijk.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijk.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijk.abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijk.com", |
137 | 118 | "valid": false |
138 | 119 | }, |
139 | 120 | { |
140 | | - "description": "trailing dot", |
141 | | - "data": "example.", |
142 | | - "valid": false |
| 121 | + "description": "maximum label length (63)", |
| 122 | + "data": "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijk.com", |
| 123 | + "valid": true |
143 | 124 | }, |
144 | 125 | { |
145 | | - "description": "IDN label separator", |
146 | | - "data": "example\uff0ecom", |
| 126 | + "description": "exceeds maximum label length (63)", |
| 127 | + "data": "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijkl.com", |
147 | 128 | "valid": false |
148 | 129 | } |
149 | 130 | ] |
|
0 commit comments