@@ -120,23 +120,27 @@ test(U, U, 'TLS_method', U, U, 'TLSv1_2_method', 'TLSv1.2');
120
120
test ( U , U , 'TLS_method' , U , U , 'TLSv1_1_method' , 'TLSv1.1' ) ;
121
121
test ( U , U , 'TLS_method' , U , U , 'TLSv1_method' , 'TLSv1' ) ;
122
122
123
+ // OpenSSL 1.1.1 and 3.0 use a different error code and alert (sent to the
124
+ // client) when no protocols are enabled on the server.
125
+ const NO_PROTOCOLS_AVAILABLE_SERVER = common . hasOpenSSL3 ?
126
+ 'ERR_SSL_NO_PROTOCOLS_AVAILABLE' : 'ERR_SSL_INTERNAL_ERROR' ;
127
+ const NO_PROTOCOLS_AVAILABLE_SERVER_ALERT = common . hasOpenSSL3 ?
128
+ 'ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION' : 'ERR_SSL_TLSV1_ALERT_INTERNAL_ERROR' ;
129
+
123
130
// SSLv23 also means "any supported protocol" greater than the default
124
131
// minimum (which is configurable via command line).
125
132
if ( DEFAULT_MIN_VERSION === 'TLSv1.3' ) {
126
133
test ( U , U , 'TLSv1_2_method' , U , U , 'SSLv23_method' ,
127
- U , 'ECONNRESET' , common . hasOpenSSL3 ?
128
- 'ERR_SSL_NO_PROTOCOLS_AVAILABLE' : 'ERR_SSL_INTERNAL_ERROR' ) ;
134
+ U , NO_PROTOCOLS_AVAILABLE_SERVER_ALERT , NO_PROTOCOLS_AVAILABLE_SERVER ) ;
129
135
} else {
130
136
test ( U , U , 'TLSv1_2_method' , U , U , 'SSLv23_method' , 'TLSv1.2' ) ;
131
137
}
132
138
133
139
if ( DEFAULT_MIN_VERSION === 'TLSv1.3' ) {
134
140
test ( U , U , 'TLSv1_1_method' , U , U , 'SSLv23_method' ,
135
- U , 'ECONNRESET' , common . hasOpenSSL3 ?
136
- 'ERR_SSL_NO_PROTOCOLS_AVAILABLE' : 'ERR_SSL_INTERNAL_ERROR' ) ;
141
+ U , NO_PROTOCOLS_AVAILABLE_SERVER_ALERT , NO_PROTOCOLS_AVAILABLE_SERVER ) ;
137
142
test ( U , U , 'TLSv1_method' , U , U , 'SSLv23_method' ,
138
- U , 'ECONNRESET' , common . hasOpenSSL3 ?
139
- 'ERR_SSL_NO_PROTOCOLS_AVAILABLE' : 'ERR_SSL_INTERNAL_ERROR' ) ;
143
+ U , NO_PROTOCOLS_AVAILABLE_SERVER_ALERT , NO_PROTOCOLS_AVAILABLE_SERVER ) ;
140
144
test ( U , U , 'SSLv23_method' , U , U , 'TLSv1_1_method' ,
141
145
U , 'ERR_SSL_NO_PROTOCOLS_AVAILABLE' , 'ERR_SSL_UNEXPECTED_MESSAGE' ) ;
142
146
test ( U , U , 'SSLv23_method' , U , U , 'TLSv1_method' ,
@@ -145,9 +149,11 @@ if (DEFAULT_MIN_VERSION === 'TLSv1.3') {
145
149
146
150
if ( DEFAULT_MIN_VERSION === 'TLSv1.2' ) {
147
151
test ( U , U , 'TLSv1_1_method' , U , U , 'SSLv23_method' ,
148
- U , 'ECONNRESET' , 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
152
+ U , 'ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION' ,
153
+ 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
149
154
test ( U , U , 'TLSv1_method' , U , U , 'SSLv23_method' ,
150
- U , 'ECONNRESET' , 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
155
+ U , 'ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION' ,
156
+ 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
151
157
test ( U , U , 'SSLv23_method' , U , U , 'TLSv1_1_method' ,
152
158
U , 'ERR_SSL_UNSUPPORTED_PROTOCOL' , 'ERR_SSL_WRONG_VERSION_NUMBER' ) ;
153
159
test ( U , U , 'SSLv23_method' , U , U , 'TLSv1_method' ,
@@ -157,7 +163,8 @@ if (DEFAULT_MIN_VERSION === 'TLSv1.2') {
157
163
if ( DEFAULT_MIN_VERSION === 'TLSv1.1' ) {
158
164
test ( U , U , 'TLSv1_1_method' , U , U , 'SSLv23_method' , 'TLSv1.1' ) ;
159
165
test ( U , U , 'TLSv1_method' , U , U , 'SSLv23_method' ,
160
- U , 'ECONNRESET' , 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
166
+ U , 'ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION' ,
167
+ 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
161
168
test ( U , U , 'SSLv23_method' , U , U , 'TLSv1_1_method' , 'TLSv1.1' ) ;
162
169
test ( U , U , 'SSLv23_method' , U , U , 'TLSv1_method' ,
163
170
U , 'ERR_SSL_UNSUPPORTED_PROTOCOL' , 'ERR_SSL_WRONG_VERSION_NUMBER' ) ;
@@ -179,9 +186,11 @@ test(U, U, 'TLSv1_method', U, U, 'TLSv1_method', 'TLSv1');
179
186
// The default default.
180
187
if ( DEFAULT_MIN_VERSION === 'TLSv1.2' ) {
181
188
test ( U , U , 'TLSv1_1_method' , U , U , U ,
182
- U , 'ECONNRESET' , 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
189
+ U , 'ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION' ,
190
+ 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
183
191
test ( U , U , 'TLSv1_method' , U , U , U ,
184
- U , 'ECONNRESET' , 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
192
+ U , 'ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION' ,
193
+ 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
185
194
186
195
if ( DEFAULT_MAX_VERSION === 'TLSv1.2' ) {
187
196
test ( U , U , U , U , U , 'TLSv1_1_method' ,
@@ -191,17 +200,20 @@ if (DEFAULT_MIN_VERSION === 'TLSv1.2') {
191
200
} else {
192
201
// TLS1.3 client hellos are are not understood by TLS1.1 or below.
193
202
test ( U , U , U , U , U , 'TLSv1_1_method' ,
194
- U , 'ECONNRESET' , 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
203
+ U , 'ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION' ,
204
+ 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
195
205
test ( U , U , U , U , U , 'TLSv1_method' ,
196
- U , 'ECONNRESET' , 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
206
+ U , 'ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION' ,
207
+ 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
197
208
}
198
209
}
199
210
200
211
// The default with --tls-v1.1.
201
212
if ( DEFAULT_MIN_VERSION === 'TLSv1.1' ) {
202
213
test ( U , U , 'TLSv1_1_method' , U , U , U , 'TLSv1.1' ) ;
203
214
test ( U , U , 'TLSv1_method' , U , U , U ,
204
- U , 'ECONNRESET' , 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
215
+ U , 'ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION' ,
216
+ 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
205
217
test ( U , U , U , U , U , 'TLSv1_1_method' , 'TLSv1.1' ) ;
206
218
207
219
if ( DEFAULT_MAX_VERSION === 'TLSv1.2' ) {
@@ -210,7 +222,8 @@ if (DEFAULT_MIN_VERSION === 'TLSv1.1') {
210
222
} else {
211
223
// TLS1.3 client hellos are are not understood by TLS1.1 or below.
212
224
test ( U , U , U , U , U , 'TLSv1_method' ,
213
- U , 'ECONNRESET' , 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
225
+ U , 'ERR_SSL_TLSV1_ALERT_PROTOCOL_VERSION' ,
226
+ 'ERR_SSL_UNSUPPORTED_PROTOCOL' ) ;
214
227
}
215
228
}
216
229
0 commit comments