]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/blob
075737e7d1ae503d15e01ef7ce382d4e40eb511b
[thirdparty/openembedded/openembedded-core-contrib.git] /
1 From db5c5763f3e3172f1dd011355b41469770dafc0f Mon Sep 17 00:00:00 2001
2 From: Petr Viktorin <encukou@gmail.com>
3 Date: Thu, 28 Nov 2024 13:29:27 +0100
4 Subject: [PATCH] gh-127330: Update for OpenSSL 3.4 & document+improve the
5 update process (GH-127331)
6
7 - Add `git describe` output to headers generated by `make_ssl_data.py`
8
9 This info is more important than the date when the file was generated.
10 It does mean that the tool now requires a Git checkout of OpenSSL,
11 not for example a release tarball.
12
13 - Regenerate the older file to add the info.
14 To the other older file, add a note about manual edits.
15
16 - Add notes on how to add a new OpenSSL version
17
18 - Add 3.4 error messages and multissl tests
19
20 Upstream-Status: Submitted [https://github.com/python/cpython/commit/db5c5763f3e3172f1dd011355b41469770dafc0f]
21 Signed-off-by: Peter Marko <peter.marko@siemens.com>
22 ---
23 Modules/_ssl.c | 2 +-
24 Modules/_ssl_data_111.h | 4 +-
25 Modules/_ssl_data_300.h | 5 +-
26 Modules/{_ssl_data_31.h => _ssl_data_34.h} | 674 ++++++++++++++++++++-
27 Tools/c-analyzer/cpython/_parser.py | 4 +-
28 Tools/ssl/make_ssl_data.py | 34 +-
29 Tools/ssl/multissltests.py | 1 +
30 7 files changed, 714 insertions(+), 10 deletions(-)
31 rename Modules/{_ssl_data_31.h => _ssl_data_34.h} (92%)
32
33 diff --git a/Modules/_ssl.c b/Modules/_ssl.c
34 index b6b5ebf094c..e5b8bf21002 100644
35 --- a/Modules/_ssl.c
36 +++ b/Modules/_ssl.c
37 @@ -121,7 +121,7 @@ static void _PySSLFixErrno(void) {
38
39 /* Include generated data (error codes) */
40 #if (OPENSSL_VERSION_NUMBER >= 0x30100000L)
41 -#include "_ssl_data_31.h"
42 +#include "_ssl_data_34.h"
43 #elif (OPENSSL_VERSION_NUMBER >= 0x30000000L)
44 #include "_ssl_data_300.h"
45 #elif (OPENSSL_VERSION_NUMBER >= 0x10101000L)
46 diff --git a/Modules/_ssl_data_111.h b/Modules/_ssl_data_111.h
47 index 093c786e6a2..061fac2bd58 100644
48 --- a/Modules/_ssl_data_111.h
49 +++ b/Modules/_ssl_data_111.h
50 @@ -1,4 +1,6 @@
51 -/* File generated by Tools/ssl/make_ssl_data.py *//* Generated on 2023-06-01T02:58:04.081473 */
52 +/* File generated by Tools/ssl/make_ssl_data.py */
53 +/* Generated on 2024-11-27T12:48:46.194048+00:00 */
54 +/* Generated from Git commit OpenSSL_1_1_1w-0-ge04bd3433f */
55 static struct py_ssl_library_code library_codes[] = {
56 #ifdef ERR_LIB_ASN1
57 {"ASN1", ERR_LIB_ASN1},
58 diff --git a/Modules/_ssl_data_300.h b/Modules/_ssl_data_300.h
59 index dc66731f6b6..b687ce43c77 100644
60 --- a/Modules/_ssl_data_300.h
61 +++ b/Modules/_ssl_data_300.h
62 @@ -1,4 +1,7 @@
63 -/* File generated by Tools/ssl/make_ssl_data.py *//* Generated on 2023-06-01T03:03:52.163218 */
64 +/* File generated by Tools/ssl/make_ssl_data.py */
65 +/* Generated on 2023-06-01T03:03:52.163218 */
66 +/* Manually edited to add definitions from 1.1.1 (GH-105174) */
67 +
68 static struct py_ssl_library_code library_codes[] = {
69 #ifdef ERR_LIB_ASN1
70 {"ASN1", ERR_LIB_ASN1},
71 diff --git a/Modules/_ssl_data_31.h b/Modules/_ssl_data_34.h
72 similarity index 92%
73 rename from Modules/_ssl_data_31.h
74 rename to Modules/_ssl_data_34.h
75 index c589c501f4e..d4af3e1c1fa 100644
76 --- a/Modules/_ssl_data_31.h
77 +++ b/Modules/_ssl_data_34.h
78 @@ -1,4 +1,6 @@
79 -/* File generated by Tools/ssl/make_ssl_data.py *//* Generated on 2023-06-01T03:04:00.275280 */
80 +/* File generated by Tools/ssl/make_ssl_data.py */
81 +/* Generated on 2024-11-27T12:35:52.276767+00:00 */
82 +/* Generated from Git commit openssl-3.4.0-0-g98acb6b028 */
83 static struct py_ssl_library_code library_codes[] = {
84 #ifdef ERR_LIB_ASN1
85 {"ASN1", ERR_LIB_ASN1},
86 @@ -300,6 +302,11 @@ static struct py_ssl_error_code error_codes[] = {
87 #else
88 {"FIRST_NUM_TOO_LARGE", 13, 122},
89 #endif
90 + #ifdef ASN1_R_GENERALIZEDTIME_IS_TOO_SHORT
91 + {"GENERALIZEDTIME_IS_TOO_SHORT", ERR_LIB_ASN1, ASN1_R_GENERALIZEDTIME_IS_TOO_SHORT},
92 + #else
93 + {"GENERALIZEDTIME_IS_TOO_SHORT", 13, 232},
94 + #endif
95 #ifdef ASN1_R_HEADER_TOO_LONG
96 {"HEADER_TOO_LONG", ERR_LIB_ASN1, ASN1_R_HEADER_TOO_LONG},
97 #else
98 @@ -730,6 +737,11 @@ static struct py_ssl_error_code error_codes[] = {
99 #else
100 {"UNSUPPORTED_TYPE", 13, 196},
101 #endif
102 + #ifdef ASN1_R_UTCTIME_IS_TOO_SHORT
103 + {"UTCTIME_IS_TOO_SHORT", ERR_LIB_ASN1, ASN1_R_UTCTIME_IS_TOO_SHORT},
104 + #else
105 + {"UTCTIME_IS_TOO_SHORT", 13, 233},
106 + #endif
107 #ifdef ASN1_R_WRONG_INTEGER_TYPE
108 {"WRONG_INTEGER_TYPE", ERR_LIB_ASN1, ASN1_R_WRONG_INTEGER_TYPE},
109 #else
110 @@ -845,6 +857,11 @@ static struct py_ssl_error_code error_codes[] = {
111 #else
112 {"LISTEN_V6_ONLY", 32, 136},
113 #endif
114 + #ifdef BIO_R_LOCAL_ADDR_NOT_AVAILABLE
115 + {"LOCAL_ADDR_NOT_AVAILABLE", ERR_LIB_BIO, BIO_R_LOCAL_ADDR_NOT_AVAILABLE},
116 + #else
117 + {"LOCAL_ADDR_NOT_AVAILABLE", 32, 111},
118 + #endif
119 #ifdef BIO_R_LOOKUP_RETURNED_NOTHING
120 {"LOOKUP_RETURNED_NOTHING", ERR_LIB_BIO, BIO_R_LOOKUP_RETURNED_NOTHING},
121 #else
122 @@ -860,6 +877,11 @@ static struct py_ssl_error_code error_codes[] = {
123 #else
124 {"NBIO_CONNECT_ERROR", 32, 110},
125 #endif
126 + #ifdef BIO_R_NON_FATAL
127 + {"NON_FATAL", ERR_LIB_BIO, BIO_R_NON_FATAL},
128 + #else
129 + {"NON_FATAL", 32, 112},
130 + #endif
131 #ifdef BIO_R_NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED
132 {"NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED", ERR_LIB_BIO, BIO_R_NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED},
133 #else
134 @@ -880,6 +902,26 @@ static struct py_ssl_error_code error_codes[] = {
135 #else
136 {"NO_SUCH_FILE", 32, 128},
137 #endif
138 + #ifdef BIO_R_PEER_ADDR_NOT_AVAILABLE
139 + {"PEER_ADDR_NOT_AVAILABLE", ERR_LIB_BIO, BIO_R_PEER_ADDR_NOT_AVAILABLE},
140 + #else
141 + {"PEER_ADDR_NOT_AVAILABLE", 32, 114},
142 + #endif
143 + #ifdef BIO_R_PORT_MISMATCH
144 + {"PORT_MISMATCH", ERR_LIB_BIO, BIO_R_PORT_MISMATCH},
145 + #else
146 + {"PORT_MISMATCH", 32, 150},
147 + #endif
148 + #ifdef BIO_R_TFO_DISABLED
149 + {"TFO_DISABLED", ERR_LIB_BIO, BIO_R_TFO_DISABLED},
150 + #else
151 + {"TFO_DISABLED", 32, 106},
152 + #endif
153 + #ifdef BIO_R_TFO_NO_KERNEL_SUPPORT
154 + {"TFO_NO_KERNEL_SUPPORT", ERR_LIB_BIO, BIO_R_TFO_NO_KERNEL_SUPPORT},
155 + #else
156 + {"TFO_NO_KERNEL_SUPPORT", 32, 108},
157 + #endif
158 #ifdef BIO_R_TRANSFER_ERROR
159 {"TRANSFER_ERROR", ERR_LIB_BIO, BIO_R_TRANSFER_ERROR},
160 #else
161 @@ -920,6 +962,11 @@ static struct py_ssl_error_code error_codes[] = {
162 #else
163 {"UNABLE_TO_REUSEADDR", 32, 139},
164 #endif
165 + #ifdef BIO_R_UNABLE_TO_TFO
166 + {"UNABLE_TO_TFO", ERR_LIB_BIO, BIO_R_UNABLE_TO_TFO},
167 + #else
168 + {"UNABLE_TO_TFO", 32, 109},
169 + #endif
170 #ifdef BIO_R_UNAVAILABLE_IP_FAMILY
171 {"UNAVAILABLE_IP_FAMILY", ERR_LIB_BIO, BIO_R_UNAVAILABLE_IP_FAMILY},
172 #else
173 @@ -1230,6 +1277,11 @@ static struct py_ssl_error_code error_codes[] = {
174 #else
175 {"ERROR_VALIDATING_SIGNATURE", 58, 171},
176 #endif
177 + #ifdef CMP_R_EXPECTED_POLLREQ
178 + {"EXPECTED_POLLREQ", ERR_LIB_CMP, CMP_R_EXPECTED_POLLREQ},
179 + #else
180 + {"EXPECTED_POLLREQ", 58, 104},
181 + #endif
182 #ifdef CMP_R_FAILED_BUILDING_OWN_CHAIN
183 {"FAILED_BUILDING_OWN_CHAIN", ERR_LIB_CMP, CMP_R_FAILED_BUILDING_OWN_CHAIN},
184 #else
185 @@ -1250,16 +1302,51 @@ static struct py_ssl_error_code error_codes[] = {
186 #else
187 {"FAIL_INFO_OUT_OF_RANGE", 58, 129},
188 #endif
189 + #ifdef CMP_R_GENERATE_CERTREQTEMPLATE
190 + {"GENERATE_CERTREQTEMPLATE", ERR_LIB_CMP, CMP_R_GENERATE_CERTREQTEMPLATE},
191 + #else
192 + {"GENERATE_CERTREQTEMPLATE", 58, 197},
193 + #endif
194 + #ifdef CMP_R_GENERATE_CRLSTATUS
195 + {"GENERATE_CRLSTATUS", ERR_LIB_CMP, CMP_R_GENERATE_CRLSTATUS},
196 + #else
197 + {"GENERATE_CRLSTATUS", 58, 198},
198 + #endif
199 + #ifdef CMP_R_GETTING_GENP
200 + {"GETTING_GENP", ERR_LIB_CMP, CMP_R_GETTING_GENP},
201 + #else
202 + {"GETTING_GENP", 58, 192},
203 + #endif
204 + #ifdef CMP_R_GET_ITAV
205 + {"GET_ITAV", ERR_LIB_CMP, CMP_R_GET_ITAV},
206 + #else
207 + {"GET_ITAV", 58, 199},
208 + #endif
209 #ifdef CMP_R_INVALID_ARGS
210 {"INVALID_ARGS", ERR_LIB_CMP, CMP_R_INVALID_ARGS},
211 #else
212 {"INVALID_ARGS", 58, 100},
213 #endif
214 + #ifdef CMP_R_INVALID_GENP
215 + {"INVALID_GENP", ERR_LIB_CMP, CMP_R_INVALID_GENP},
216 + #else
217 + {"INVALID_GENP", 58, 193},
218 + #endif
219 + #ifdef CMP_R_INVALID_KEYSPEC
220 + {"INVALID_KEYSPEC", ERR_LIB_CMP, CMP_R_INVALID_KEYSPEC},
221 + #else
222 + {"INVALID_KEYSPEC", 58, 202},
223 + #endif
224 #ifdef CMP_R_INVALID_OPTION
225 {"INVALID_OPTION", ERR_LIB_CMP, CMP_R_INVALID_OPTION},
226 #else
227 {"INVALID_OPTION", 58, 174},
228 #endif
229 + #ifdef CMP_R_INVALID_ROOTCAKEYUPDATE
230 + {"INVALID_ROOTCAKEYUPDATE", ERR_LIB_CMP, CMP_R_INVALID_ROOTCAKEYUPDATE},
231 + #else
232 + {"INVALID_ROOTCAKEYUPDATE", 58, 195},
233 + #endif
234 #ifdef CMP_R_MISSING_CERTID
235 {"MISSING_CERTID", ERR_LIB_CMP, CMP_R_MISSING_CERTID},
236 #else
237 @@ -1425,6 +1512,21 @@ static struct py_ssl_error_code error_codes[] = {
238 #else
239 {"TRANSFER_ERROR", 58, 159},
240 #endif
241 + #ifdef CMP_R_UNCLEAN_CTX
242 + {"UNCLEAN_CTX", ERR_LIB_CMP, CMP_R_UNCLEAN_CTX},
243 + #else
244 + {"UNCLEAN_CTX", 58, 191},
245 + #endif
246 + #ifdef CMP_R_UNEXPECTED_CERTPROFILE
247 + {"UNEXPECTED_CERTPROFILE", ERR_LIB_CMP, CMP_R_UNEXPECTED_CERTPROFILE},
248 + #else
249 + {"UNEXPECTED_CERTPROFILE", 58, 196},
250 + #endif
251 + #ifdef CMP_R_UNEXPECTED_CRLSTATUSLIST
252 + {"UNEXPECTED_CRLSTATUSLIST", ERR_LIB_CMP, CMP_R_UNEXPECTED_CRLSTATUSLIST},
253 + #else
254 + {"UNEXPECTED_CRLSTATUSLIST", 58, 201},
255 + #endif
256 #ifdef CMP_R_UNEXPECTED_PKIBODY
257 {"UNEXPECTED_PKIBODY", ERR_LIB_CMP, CMP_R_UNEXPECTED_PKIBODY},
258 #else
259 @@ -1435,11 +1537,21 @@ static struct py_ssl_error_code error_codes[] = {
260 #else
261 {"UNEXPECTED_PKISTATUS", 58, 185},
262 #endif
263 + #ifdef CMP_R_UNEXPECTED_POLLREQ
264 + {"UNEXPECTED_POLLREQ", ERR_LIB_CMP, CMP_R_UNEXPECTED_POLLREQ},
265 + #else
266 + {"UNEXPECTED_POLLREQ", 58, 105},
267 + #endif
268 #ifdef CMP_R_UNEXPECTED_PVNO
269 {"UNEXPECTED_PVNO", ERR_LIB_CMP, CMP_R_UNEXPECTED_PVNO},
270 #else
271 {"UNEXPECTED_PVNO", 58, 153},
272 #endif
273 + #ifdef CMP_R_UNEXPECTED_SENDER
274 + {"UNEXPECTED_SENDER", ERR_LIB_CMP, CMP_R_UNEXPECTED_SENDER},
275 + #else
276 + {"UNEXPECTED_SENDER", 58, 106},
277 + #endif
278 #ifdef CMP_R_UNKNOWN_ALGORITHM_ID
279 {"UNKNOWN_ALGORITHM_ID", ERR_LIB_CMP, CMP_R_UNKNOWN_ALGORITHM_ID},
280 #else
281 @@ -1450,6 +1562,11 @@ static struct py_ssl_error_code error_codes[] = {
282 #else
283 {"UNKNOWN_CERT_TYPE", 58, 135},
284 #endif
285 + #ifdef CMP_R_UNKNOWN_CRL_ISSUER
286 + {"UNKNOWN_CRL_ISSUER", ERR_LIB_CMP, CMP_R_UNKNOWN_CRL_ISSUER},
287 + #else
288 + {"UNKNOWN_CRL_ISSUER", 58, 200},
289 + #endif
290 #ifdef CMP_R_UNKNOWN_PKISTATUS
291 {"UNKNOWN_PKISTATUS", ERR_LIB_CMP, CMP_R_UNKNOWN_PKISTATUS},
292 #else
293 @@ -1465,6 +1582,11 @@ static struct py_ssl_error_code error_codes[] = {
294 #else
295 {"UNSUPPORTED_KEY_TYPE", 58, 137},
296 #endif
297 + #ifdef CMP_R_UNSUPPORTED_PKIBODY
298 + {"UNSUPPORTED_PKIBODY", ERR_LIB_CMP, CMP_R_UNSUPPORTED_PKIBODY},
299 + #else
300 + {"UNSUPPORTED_PKIBODY", 58, 101},
301 + #endif
302 #ifdef CMP_R_UNSUPPORTED_PROTECTION_ALG_DHBASEDMAC
303 {"UNSUPPORTED_PROTECTION_ALG_DHBASEDMAC", ERR_LIB_CMP, CMP_R_UNSUPPORTED_PROTECTION_ALG_DHBASEDMAC},
304 #else
305 @@ -1825,6 +1947,11 @@ static struct py_ssl_error_code error_codes[] = {
306 #else
307 {"NO_SIGNERS", 46, 135},
308 #endif
309 + #ifdef CMS_R_OPERATION_UNSUPPORTED
310 + {"OPERATION_UNSUPPORTED", ERR_LIB_CMS, CMS_R_OPERATION_UNSUPPORTED},
311 + #else
312 + {"OPERATION_UNSUPPORTED", 46, 182},
313 + #endif
314 #ifdef CMS_R_PEER_KEY_ERROR
315 {"PEER_KEY_ERROR", ERR_LIB_CMS, CMS_R_PEER_KEY_ERROR},
316 #else
317 @@ -1960,6 +2087,11 @@ static struct py_ssl_error_code error_codes[] = {
318 #else
319 {"UNSUPPORTED_RECIPIENT_TYPE", 46, 154},
320 #endif
321 + #ifdef CMS_R_UNSUPPORTED_SIGNATURE_ALGORITHM
322 + {"UNSUPPORTED_SIGNATURE_ALGORITHM", ERR_LIB_CMS, CMS_R_UNSUPPORTED_SIGNATURE_ALGORITHM},
323 + #else
324 + {"UNSUPPORTED_SIGNATURE_ALGORITHM", 46, 195},
325 + #endif
326 #ifdef CMS_R_UNSUPPORTED_TYPE
327 {"UNSUPPORTED_TYPE", ERR_LIB_CMS, CMS_R_UNSUPPORTED_TYPE},
328 #else
329 @@ -1985,6 +2117,31 @@ static struct py_ssl_error_code error_codes[] = {
330 #else
331 {"WRAP_ERROR", 46, 159},
332 #endif
333 + #ifdef COMP_R_BROTLI_DECODE_ERROR
334 + {"BROTLI_DECODE_ERROR", ERR_LIB_COMP, COMP_R_BROTLI_DECODE_ERROR},
335 + #else
336 + {"BROTLI_DECODE_ERROR", 41, 102},
337 + #endif
338 + #ifdef COMP_R_BROTLI_DEFLATE_ERROR
339 + {"BROTLI_DEFLATE_ERROR", ERR_LIB_COMP, COMP_R_BROTLI_DEFLATE_ERROR},
340 + #else
341 + {"BROTLI_DEFLATE_ERROR", 41, 103},
342 + #endif
343 + #ifdef COMP_R_BROTLI_ENCODE_ERROR
344 + {"BROTLI_ENCODE_ERROR", ERR_LIB_COMP, COMP_R_BROTLI_ENCODE_ERROR},
345 + #else
346 + {"BROTLI_ENCODE_ERROR", 41, 106},
347 + #endif
348 + #ifdef COMP_R_BROTLI_INFLATE_ERROR
349 + {"BROTLI_INFLATE_ERROR", ERR_LIB_COMP, COMP_R_BROTLI_INFLATE_ERROR},
350 + #else
351 + {"BROTLI_INFLATE_ERROR", 41, 104},
352 + #endif
353 + #ifdef COMP_R_BROTLI_NOT_SUPPORTED
354 + {"BROTLI_NOT_SUPPORTED", ERR_LIB_COMP, COMP_R_BROTLI_NOT_SUPPORTED},
355 + #else
356 + {"BROTLI_NOT_SUPPORTED", 41, 105},
357 + #endif
358 #ifdef COMP_R_ZLIB_DEFLATE_ERROR
359 {"ZLIB_DEFLATE_ERROR", ERR_LIB_COMP, COMP_R_ZLIB_DEFLATE_ERROR},
360 #else
361 @@ -2000,6 +2157,26 @@ static struct py_ssl_error_code error_codes[] = {
362 #else
363 {"ZLIB_NOT_SUPPORTED", 41, 101},
364 #endif
365 + #ifdef COMP_R_ZSTD_COMPRESS_ERROR
366 + {"ZSTD_COMPRESS_ERROR", ERR_LIB_COMP, COMP_R_ZSTD_COMPRESS_ERROR},
367 + #else
368 + {"ZSTD_COMPRESS_ERROR", 41, 107},
369 + #endif
370 + #ifdef COMP_R_ZSTD_DECODE_ERROR
371 + {"ZSTD_DECODE_ERROR", ERR_LIB_COMP, COMP_R_ZSTD_DECODE_ERROR},
372 + #else
373 + {"ZSTD_DECODE_ERROR", 41, 108},
374 + #endif
375 + #ifdef COMP_R_ZSTD_DECOMPRESS_ERROR
376 + {"ZSTD_DECOMPRESS_ERROR", ERR_LIB_COMP, COMP_R_ZSTD_DECOMPRESS_ERROR},
377 + #else
378 + {"ZSTD_DECOMPRESS_ERROR", 41, 109},
379 + #endif
380 + #ifdef COMP_R_ZSTD_NOT_SUPPORTED
381 + {"ZSTD_NOT_SUPPORTED", ERR_LIB_COMP, COMP_R_ZSTD_NOT_SUPPORTED},
382 + #else
383 + {"ZSTD_NOT_SUPPORTED", 41, 110},
384 + #endif
385 #ifdef CONF_R_ERROR_LOADING_DSO
386 {"ERROR_LOADING_DSO", ERR_LIB_CONF, CONF_R_ERROR_LOADING_DSO},
387 #else
388 @@ -2085,6 +2262,11 @@ static struct py_ssl_error_code error_codes[] = {
389 #else
390 {"RECURSIVE_DIRECTORY_INCLUDE", 14, 111},
391 #endif
392 + #ifdef CONF_R_RECURSIVE_SECTION_REFERENCE
393 + {"RECURSIVE_SECTION_REFERENCE", ERR_LIB_CONF, CONF_R_RECURSIVE_SECTION_REFERENCE},
394 + #else
395 + {"RECURSIVE_SECTION_REFERENCE", 14, 126},
396 + #endif
397 #ifdef CONF_R_RELATIVE_PATH
398 {"RELATIVE_PATH", ERR_LIB_CONF, CONF_R_RELATIVE_PATH},
399 #else
400 @@ -2370,6 +2552,11 @@ static struct py_ssl_error_code error_codes[] = {
401 #else
402 {"TOO_MANY_BYTES", 15, 113},
403 #endif
404 + #ifdef CRYPTO_R_TOO_MANY_NAMES
405 + {"TOO_MANY_NAMES", ERR_LIB_CRYPTO, CRYPTO_R_TOO_MANY_NAMES},
406 + #else
407 + {"TOO_MANY_NAMES", 15, 132},
408 + #endif
409 #ifdef CRYPTO_R_TOO_MANY_RECORDS
410 {"TOO_MANY_RECORDS", ERR_LIB_CRYPTO, CRYPTO_R_TOO_MANY_RECORDS},
411 #else
412 @@ -2560,6 +2747,11 @@ static struct py_ssl_error_code error_codes[] = {
413 #else
414 {"INVALID_SECRET", 5, 128},
415 #endif
416 + #ifdef DH_R_INVALID_SIZE
417 + {"INVALID_SIZE", ERR_LIB_DH, DH_R_INVALID_SIZE},
418 + #else
419 + {"INVALID_SIZE", 5, 129},
420 + #endif
421 #ifdef DH_R_KDF_PARAMETER_ERROR
422 {"KDF_PARAMETER_ERROR", ERR_LIB_DH, DH_R_KDF_PARAMETER_ERROR},
423 #else
424 @@ -2610,6 +2802,11 @@ static struct py_ssl_error_code error_codes[] = {
425 #else
426 {"PEER_KEY_ERROR", 5, 111},
427 #endif
428 + #ifdef DH_R_Q_TOO_LARGE
429 + {"Q_TOO_LARGE", ERR_LIB_DH, DH_R_Q_TOO_LARGE},
430 + #else
431 + {"Q_TOO_LARGE", 5, 130},
432 + #endif
433 #ifdef DH_R_SHARED_INFO_ERROR
434 {"SHARED_INFO_ERROR", ERR_LIB_DH, DH_R_SHARED_INFO_ERROR},
435 #else
436 @@ -3545,6 +3742,11 @@ static struct py_ssl_error_code error_codes[] = {
437 #else
438 {"GENERATE_ERROR", 6, 214},
439 #endif
440 + #ifdef EVP_R_GETTING_ALGORITHMIDENTIFIER_NOT_SUPPORTED
441 + {"GETTING_ALGORITHMIDENTIFIER_NOT_SUPPORTED", ERR_LIB_EVP, EVP_R_GETTING_ALGORITHMIDENTIFIER_NOT_SUPPORTED},
442 + #else
443 + {"GETTING_ALGORITHMIDENTIFIER_NOT_SUPPORTED", 6, 229},
444 + #endif
445 #ifdef EVP_R_GET_RAW_KEY_FAILED
446 {"GET_RAW_KEY_FAILED", ERR_LIB_EVP, EVP_R_GET_RAW_KEY_FAILED},
447 #else
448 @@ -3745,6 +3947,11 @@ static struct py_ssl_error_code error_codes[] = {
449 #else
450 {"OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE", 6, 150},
451 #endif
452 + #ifdef EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_SIGNATURE_TYPE
453 + {"OPERATION_NOT_SUPPORTED_FOR_THIS_SIGNATURE_TYPE", ERR_LIB_EVP, EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_SIGNATURE_TYPE},
454 + #else
455 + {"OPERATION_NOT_SUPPORTED_FOR_THIS_SIGNATURE_TYPE", 6, 226},
456 + #endif
457 #ifdef EVP_R_OUTPUT_WOULD_OVERFLOW
458 {"OUTPUT_WOULD_OVERFLOW", ERR_LIB_EVP, EVP_R_OUTPUT_WOULD_OVERFLOW},
459 #else
460 @@ -3795,6 +4002,11 @@ static struct py_ssl_error_code error_codes[] = {
461 #else
462 {"SET_DEFAULT_PROPERTY_FAILURE", 6, 209},
463 #endif
464 + #ifdef EVP_R_SIGNATURE_TYPE_AND_KEY_TYPE_INCOMPATIBLE
465 + {"SIGNATURE_TYPE_AND_KEY_TYPE_INCOMPATIBLE", ERR_LIB_EVP, EVP_R_SIGNATURE_TYPE_AND_KEY_TYPE_INCOMPATIBLE},
466 + #else
467 + {"SIGNATURE_TYPE_AND_KEY_TYPE_INCOMPATIBLE", 6, 228},
468 + #endif
469 #ifdef EVP_R_TOO_MANY_RECORDS
470 {"TOO_MANY_RECORDS", ERR_LIB_EVP, EVP_R_TOO_MANY_RECORDS},
471 #else
472 @@ -3825,6 +4037,11 @@ static struct py_ssl_error_code error_codes[] = {
473 #else
474 {"UNABLE_TO_SET_CALLBACKS", 6, 217},
475 #endif
476 + #ifdef EVP_R_UNKNOWN_BITS
477 + {"UNKNOWN_BITS", ERR_LIB_EVP, EVP_R_UNKNOWN_BITS},
478 + #else
479 + {"UNKNOWN_BITS", 6, 166},
480 + #endif
481 #ifdef EVP_R_UNKNOWN_CIPHER
482 {"UNKNOWN_CIPHER", ERR_LIB_EVP, EVP_R_UNKNOWN_CIPHER},
483 #else
484 @@ -3840,6 +4057,11 @@ static struct py_ssl_error_code error_codes[] = {
485 #else
486 {"UNKNOWN_KEY_TYPE", 6, 207},
487 #endif
488 + #ifdef EVP_R_UNKNOWN_MAX_SIZE
489 + {"UNKNOWN_MAX_SIZE", ERR_LIB_EVP, EVP_R_UNKNOWN_MAX_SIZE},
490 + #else
491 + {"UNKNOWN_MAX_SIZE", 6, 167},
492 + #endif
493 #ifdef EVP_R_UNKNOWN_OPTION
494 {"UNKNOWN_OPTION", ERR_LIB_EVP, EVP_R_UNKNOWN_OPTION},
495 #else
496 @@ -3850,6 +4072,11 @@ static struct py_ssl_error_code error_codes[] = {
497 #else
498 {"UNKNOWN_PBE_ALGORITHM", 6, 121},
499 #endif
500 + #ifdef EVP_R_UNKNOWN_SECURITY_BITS
501 + {"UNKNOWN_SECURITY_BITS", ERR_LIB_EVP, EVP_R_UNKNOWN_SECURITY_BITS},
502 + #else
503 + {"UNKNOWN_SECURITY_BITS", 6, 168},
504 + #endif
505 #ifdef EVP_R_UNSUPPORTED_ALGORITHM
506 {"UNSUPPORTED_ALGORITHM", ERR_LIB_EVP, EVP_R_UNSUPPORTED_ALGORITHM},
507 #else
508 @@ -4040,6 +4267,11 @@ static struct py_ssl_error_code error_codes[] = {
509 #else
510 {"RESPONSE_PARSE_ERROR", 61, 104},
511 #endif
512 + #ifdef HTTP_R_RESPONSE_TOO_MANY_HDRLINES
513 + {"RESPONSE_TOO_MANY_HDRLINES", ERR_LIB_HTTP, HTTP_R_RESPONSE_TOO_MANY_HDRLINES},
514 + #else
515 + {"RESPONSE_TOO_MANY_HDRLINES", 61, 130},
516 + #endif
517 #ifdef HTTP_R_RETRY_TIMEOUT
518 {"RETRY_TIMEOUT", ERR_LIB_HTTP, HTTP_R_RETRY_TIMEOUT},
519 #else
520 @@ -4530,6 +4762,11 @@ static struct py_ssl_error_code error_codes[] = {
521 #else
522 {"UNSUPPORTED_PUBLIC_KEY_TYPE", 9, 110},
523 #endif
524 + #ifdef PKCS12_R_CALLBACK_FAILED
525 + {"CALLBACK_FAILED", ERR_LIB_PKCS12, PKCS12_R_CALLBACK_FAILED},
526 + #else
527 + {"CALLBACK_FAILED", 35, 115},
528 + #endif
529 #ifdef PKCS12_R_CANT_PACK_STRUCTURE
530 {"CANT_PACK_STRUCTURE", ERR_LIB_PKCS12, PKCS12_R_CANT_PACK_STRUCTURE},
531 #else
532 @@ -4920,6 +5157,11 @@ static struct py_ssl_error_code error_codes[] = {
533 #else
534 {"CIPHER_OPERATION_FAILED", 57, 102},
535 #endif
536 + #ifdef PROV_R_COFACTOR_REQUIRED
537 + {"COFACTOR_REQUIRED", ERR_LIB_PROV, PROV_R_COFACTOR_REQUIRED},
538 + #else
539 + {"COFACTOR_REQUIRED", 57, 236},
540 + #endif
541 #ifdef PROV_R_DERIVATION_FUNCTION_INIT_FAILED
542 {"DERIVATION_FUNCTION_INIT_FAILED", ERR_LIB_PROV, PROV_R_DERIVATION_FUNCTION_INIT_FAILED},
543 #else
544 @@ -4935,6 +5177,11 @@ static struct py_ssl_error_code error_codes[] = {
545 #else
546 {"EMS_NOT_ENABLED", 57, 233},
547 #endif
548 + #ifdef PROV_R_ENTROPY_SOURCE_FAILED_CONTINUOUS_TESTS
549 + {"ENTROPY_SOURCE_FAILED_CONTINUOUS_TESTS", ERR_LIB_PROV, PROV_R_ENTROPY_SOURCE_FAILED_CONTINUOUS_TESTS},
550 + #else
551 + {"ENTROPY_SOURCE_FAILED_CONTINUOUS_TESTS", 57, 244},
552 + #endif
553 #ifdef PROV_R_ENTROPY_SOURCE_STRENGTH_TOO_WEAK
554 {"ENTROPY_SOURCE_STRENGTH_TOO_WEAK", ERR_LIB_PROV, PROV_R_ENTROPY_SOURCE_STRENGTH_TOO_WEAK},
555 #else
556 @@ -4990,6 +5237,11 @@ static struct py_ssl_error_code error_codes[] = {
557 #else
558 {"FAILED_TO_SIGN", 57, 175},
559 #endif
560 + #ifdef PROV_R_FINAL_CALL_OUT_OF_ORDER
561 + {"FINAL_CALL_OUT_OF_ORDER", ERR_LIB_PROV, PROV_R_FINAL_CALL_OUT_OF_ORDER},
562 + #else
563 + {"FINAL_CALL_OUT_OF_ORDER", 57, 237},
564 + #endif
565 #ifdef PROV_R_FIPS_MODULE_CONDITIONAL_ERROR
566 {"FIPS_MODULE_CONDITIONAL_ERROR", ERR_LIB_PROV, PROV_R_FIPS_MODULE_CONDITIONAL_ERROR},
567 #else
568 @@ -5020,6 +5272,11 @@ static struct py_ssl_error_code error_codes[] = {
569 #else
570 {"INDICATOR_INTEGRITY_FAILURE", 57, 210},
571 #endif
572 + #ifdef PROV_R_INIT_CALL_OUT_OF_ORDER
573 + {"INIT_CALL_OUT_OF_ORDER", ERR_LIB_PROV, PROV_R_INIT_CALL_OUT_OF_ORDER},
574 + #else
575 + {"INIT_CALL_OUT_OF_ORDER", 57, 238},
576 + #endif
577 #ifdef PROV_R_INSUFFICIENT_DRBG_STRENGTH
578 {"INSUFFICIENT_DRBG_STRENGTH", ERR_LIB_PROV, PROV_R_INSUFFICIENT_DRBG_STRENGTH},
579 #else
580 @@ -5030,6 +5287,11 @@ static struct py_ssl_error_code error_codes[] = {
581 #else
582 {"INVALID_AAD", 57, 108},
583 #endif
584 + #ifdef PROV_R_INVALID_AEAD
585 + {"INVALID_AEAD", ERR_LIB_PROV, PROV_R_INVALID_AEAD},
586 + #else
587 + {"INVALID_AEAD", 57, 231},
588 + #endif
589 #ifdef PROV_R_INVALID_CONFIG_DATA
590 {"INVALID_CONFIG_DATA", ERR_LIB_PROV, PROV_R_INVALID_CONFIG_DATA},
591 #else
592 @@ -5070,6 +5332,11 @@ static struct py_ssl_error_code error_codes[] = {
593 #else
594 {"INVALID_DIGEST_SIZE", 57, 218},
595 #endif
596 + #ifdef PROV_R_INVALID_EDDSA_INSTANCE_FOR_ATTEMPTED_OPERATION
597 + {"INVALID_EDDSA_INSTANCE_FOR_ATTEMPTED_OPERATION", ERR_LIB_PROV, PROV_R_INVALID_EDDSA_INSTANCE_FOR_ATTEMPTED_OPERATION},
598 + #else
599 + {"INVALID_EDDSA_INSTANCE_FOR_ATTEMPTED_OPERATION", 57, 243},
600 + #endif
601 #ifdef PROV_R_INVALID_INPUT_LENGTH
602 {"INVALID_INPUT_LENGTH", ERR_LIB_PROV, PROV_R_INVALID_INPUT_LENGTH},
603 #else
604 @@ -5085,6 +5352,11 @@ static struct py_ssl_error_code error_codes[] = {
605 #else
606 {"INVALID_IV_LENGTH", 57, 109},
607 #endif
608 + #ifdef PROV_R_INVALID_KDF
609 + {"INVALID_KDF", ERR_LIB_PROV, PROV_R_INVALID_KDF},
610 + #else
611 + {"INVALID_KDF", 57, 232},
612 + #endif
613 #ifdef PROV_R_INVALID_KEY
614 {"INVALID_KEY", ERR_LIB_PROV, PROV_R_INVALID_KEY},
615 #else
616 @@ -5100,6 +5372,11 @@ static struct py_ssl_error_code error_codes[] = {
617 #else
618 {"INVALID_MAC", 57, 151},
619 #endif
620 + #ifdef PROV_R_INVALID_MEMORY_SIZE
621 + {"INVALID_MEMORY_SIZE", ERR_LIB_PROV, PROV_R_INVALID_MEMORY_SIZE},
622 + #else
623 + {"INVALID_MEMORY_SIZE", 57, 235},
624 + #endif
625 #ifdef PROV_R_INVALID_MGF1_MD
626 {"INVALID_MGF1_MD", ERR_LIB_PROV, PROV_R_INVALID_MGF1_MD},
627 #else
628 @@ -5120,6 +5397,11 @@ static struct py_ssl_error_code error_codes[] = {
629 #else
630 {"INVALID_PADDING_MODE", 57, 168},
631 #endif
632 + #ifdef PROV_R_INVALID_PREHASHED_DIGEST_LENGTH
633 + {"INVALID_PREHASHED_DIGEST_LENGTH", ERR_LIB_PROV, PROV_R_INVALID_PREHASHED_DIGEST_LENGTH},
634 + #else
635 + {"INVALID_PREHASHED_DIGEST_LENGTH", 57, 241},
636 + #endif
637 #ifdef PROV_R_INVALID_PUBINFO
638 {"INVALID_PUBINFO", ERR_LIB_PROV, PROV_R_INVALID_PUBINFO},
639 #else
640 @@ -5155,6 +5437,11 @@ static struct py_ssl_error_code error_codes[] = {
641 #else
642 {"INVALID_TAG_LENGTH", 57, 118},
643 #endif
644 + #ifdef PROV_R_INVALID_THREAD_POOL_SIZE
645 + {"INVALID_THREAD_POOL_SIZE", ERR_LIB_PROV, PROV_R_INVALID_THREAD_POOL_SIZE},
646 + #else
647 + {"INVALID_THREAD_POOL_SIZE", 57, 234},
648 + #endif
649 #ifdef PROV_R_INVALID_UKM_LENGTH
650 {"INVALID_UKM_LENGTH", ERR_LIB_PROV, PROV_R_INVALID_UKM_LENGTH},
651 #else
652 @@ -5300,6 +5587,11 @@ static struct py_ssl_error_code error_codes[] = {
653 #else
654 {"NOT_XOF_OR_INVALID_LENGTH", 57, 113},
655 #endif
656 + #ifdef PROV_R_NO_INSTANCE_ALLOWED
657 + {"NO_INSTANCE_ALLOWED", ERR_LIB_PROV, PROV_R_NO_INSTANCE_ALLOWED},
658 + #else
659 + {"NO_INSTANCE_ALLOWED", 57, 242},
660 + #endif
661 #ifdef PROV_R_NO_KEY_SET
662 {"NO_KEY_SET", ERR_LIB_PROV, PROV_R_NO_KEY_SET},
663 #else
664 @@ -5310,6 +5602,11 @@ static struct py_ssl_error_code error_codes[] = {
665 #else
666 {"NO_PARAMETERS_SET", 57, 177},
667 #endif
668 + #ifdef PROV_R_ONESHOT_CALL_OUT_OF_ORDER
669 + {"ONESHOT_CALL_OUT_OF_ORDER", ERR_LIB_PROV, PROV_R_ONESHOT_CALL_OUT_OF_ORDER},
670 + #else
671 + {"ONESHOT_CALL_OUT_OF_ORDER", 57, 239},
672 + #endif
673 #ifdef PROV_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE
674 {"OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE", ERR_LIB_PROV, PROV_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE},
675 #else
676 @@ -5460,6 +5757,11 @@ static struct py_ssl_error_code error_codes[] = {
677 #else
678 {"UNSUPPORTED_NUMBER_OF_ROUNDS", 57, 152},
679 #endif
680 + #ifdef PROV_R_UPDATE_CALL_OUT_OF_ORDER
681 + {"UPDATE_CALL_OUT_OF_ORDER", ERR_LIB_PROV, PROV_R_UPDATE_CALL_OUT_OF_ORDER},
682 + #else
683 + {"UPDATE_CALL_OUT_OF_ORDER", 57, 240},
684 + #endif
685 #ifdef PROV_R_URI_AUTHORITY_UNSUPPORTED
686 {"URI_AUTHORITY_UNSUPPORTED", ERR_LIB_PROV, PROV_R_URI_AUTHORITY_UNSUPPORTED},
687 #else
688 @@ -5595,6 +5897,11 @@ static struct py_ssl_error_code error_codes[] = {
689 #else
690 {"INTERNAL_ERROR", 36, 113},
691 #endif
692 + #ifdef RAND_R_INVALID_PROPERTY_QUERY
693 + {"INVALID_PROPERTY_QUERY", ERR_LIB_RAND, RAND_R_INVALID_PROPERTY_QUERY},
694 + #else
695 + {"INVALID_PROPERTY_QUERY", 36, 137},
696 + #endif
697 #ifdef RAND_R_IN_ERROR_STATE
698 {"IN_ERROR_STATE", ERR_LIB_RAND, RAND_R_IN_ERROR_STATE},
699 #else
700 @@ -6210,6 +6517,11 @@ static struct py_ssl_error_code error_codes[] = {
701 #else
702 {"AT_LEAST_TLS_1_2_NEEDED_IN_SUITEB_MODE", 20, 158},
703 #endif
704 + #ifdef SSL_R_BAD_CERTIFICATE
705 + {"BAD_CERTIFICATE", ERR_LIB_SSL, SSL_R_BAD_CERTIFICATE},
706 + #else
707 + {"BAD_CERTIFICATE", 20, 348},
708 + #endif
709 #ifdef SSL_R_BAD_CHANGE_CIPHER_SPEC
710 {"BAD_CHANGE_CIPHER_SPEC", ERR_LIB_SSL, SSL_R_BAD_CHANGE_CIPHER_SPEC},
711 #else
712 @@ -6220,6 +6532,11 @@ static struct py_ssl_error_code error_codes[] = {
713 #else
714 {"BAD_CIPHER", 20, 186},
715 #endif
716 + #ifdef SSL_R_BAD_COMPRESSION_ALGORITHM
717 + {"BAD_COMPRESSION_ALGORITHM", ERR_LIB_SSL, SSL_R_BAD_COMPRESSION_ALGORITHM},
718 + #else
719 + {"BAD_COMPRESSION_ALGORITHM", 20, 326},
720 + #endif
721 #ifdef SSL_R_BAD_DATA
722 {"BAD_DATA", ERR_LIB_SSL, SSL_R_BAD_DATA},
723 #else
724 @@ -6495,6 +6812,11 @@ static struct py_ssl_error_code error_codes[] = {
725 #else
726 {"CONNECTION_TYPE_NOT_SET", 20, 144},
727 #endif
728 + #ifdef SSL_R_CONN_USE_ONLY
729 + {"CONN_USE_ONLY", ERR_LIB_SSL, SSL_R_CONN_USE_ONLY},
730 + #else
731 + {"CONN_USE_ONLY", 20, 356},
732 + #endif
733 #ifdef SSL_R_CONTEXT_NOT_DANE_ENABLED
734 {"CONTEXT_NOT_DANE_ENABLED", ERR_LIB_SSL, SSL_R_CONTEXT_NOT_DANE_ENABLED},
735 #else
736 @@ -6635,6 +6957,11 @@ static struct py_ssl_error_code error_codes[] = {
737 #else
738 {"EE_KEY_TOO_SMALL", 20, 399},
739 #endif
740 + #ifdef SSL_R_EMPTY_RAW_PUBLIC_KEY
741 + {"EMPTY_RAW_PUBLIC_KEY", ERR_LIB_SSL, SSL_R_EMPTY_RAW_PUBLIC_KEY},
742 + #else
743 + {"EMPTY_RAW_PUBLIC_KEY", 20, 349},
744 + #endif
745 #ifdef SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST
746 {"EMPTY_SRTP_PROTECTION_PROFILE_LIST", ERR_LIB_SSL, SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST},
747 #else
748 @@ -6650,6 +6977,11 @@ static struct py_ssl_error_code error_codes[] = {
749 #else
750 {"ERROR_IN_RECEIVED_CIPHER_LIST", 20, 151},
751 #endif
752 + #ifdef SSL_R_ERROR_IN_SYSTEM_DEFAULT_CONFIG
753 + {"ERROR_IN_SYSTEM_DEFAULT_CONFIG", ERR_LIB_SSL, SSL_R_ERROR_IN_SYSTEM_DEFAULT_CONFIG},
754 + #else
755 + {"ERROR_IN_SYSTEM_DEFAULT_CONFIG", 20, 419},
756 + #endif
757 #ifdef SSL_R_ERROR_SETTING_TLSA_BASE_DOMAIN
758 {"ERROR_SETTING_TLSA_BASE_DOMAIN", ERR_LIB_SSL, SSL_R_ERROR_SETTING_TLSA_BASE_DOMAIN},
759 #else
760 @@ -6680,11 +7012,26 @@ static struct py_ssl_error_code error_codes[] = {
761 #else
762 {"EXT_LENGTH_MISMATCH", 20, 163},
763 #endif
764 + #ifdef SSL_R_FAILED_TO_GET_PARAMETER
765 + {"FAILED_TO_GET_PARAMETER", ERR_LIB_SSL, SSL_R_FAILED_TO_GET_PARAMETER},
766 + #else
767 + {"FAILED_TO_GET_PARAMETER", 20, 316},
768 + #endif
769 #ifdef SSL_R_FAILED_TO_INIT_ASYNC
770 {"FAILED_TO_INIT_ASYNC", ERR_LIB_SSL, SSL_R_FAILED_TO_INIT_ASYNC},
771 #else
772 {"FAILED_TO_INIT_ASYNC", 20, 405},
773 #endif
774 + #ifdef SSL_R_FEATURE_NEGOTIATION_NOT_COMPLETE
775 + {"FEATURE_NEGOTIATION_NOT_COMPLETE", ERR_LIB_SSL, SSL_R_FEATURE_NEGOTIATION_NOT_COMPLETE},
776 + #else
777 + {"FEATURE_NEGOTIATION_NOT_COMPLETE", 20, 417},
778 + #endif
779 + #ifdef SSL_R_FEATURE_NOT_RENEGOTIABLE
780 + {"FEATURE_NOT_RENEGOTIABLE", ERR_LIB_SSL, SSL_R_FEATURE_NOT_RENEGOTIABLE},
781 + #else
782 + {"FEATURE_NOT_RENEGOTIABLE", 20, 413},
783 + #endif
784 #ifdef SSL_R_FRAGMENTED_CLIENT_HELLO
785 {"FRAGMENTED_CLIENT_HELLO", ERR_LIB_SSL, SSL_R_FRAGMENTED_CLIENT_HELLO},
786 #else
787 @@ -6805,6 +7152,16 @@ static struct py_ssl_error_code error_codes[] = {
788 #else
789 {"INVALID_NULL_CMD_NAME", 20, 385},
790 #endif
791 + #ifdef SSL_R_INVALID_RAW_PUBLIC_KEY
792 + {"INVALID_RAW_PUBLIC_KEY", ERR_LIB_SSL, SSL_R_INVALID_RAW_PUBLIC_KEY},
793 + #else
794 + {"INVALID_RAW_PUBLIC_KEY", 20, 350},
795 + #endif
796 + #ifdef SSL_R_INVALID_RECORD
797 + {"INVALID_RECORD", ERR_LIB_SSL, SSL_R_INVALID_RECORD},
798 + #else
799 + {"INVALID_RECORD", 20, 317},
800 + #endif
801 #ifdef SSL_R_INVALID_SEQUENCE_NUMBER
802 {"INVALID_SEQUENCE_NUMBER", ERR_LIB_SSL, SSL_R_INVALID_SEQUENCE_NUMBER},
803 #else
804 @@ -6865,6 +7222,11 @@ static struct py_ssl_error_code error_codes[] = {
805 #else
806 {"LIBRARY_HAS_NO_CIPHERS", 20, 161},
807 #endif
808 + #ifdef SSL_R_MAXIMUM_ENCRYPTED_PKTS_REACHED
809 + {"MAXIMUM_ENCRYPTED_PKTS_REACHED", ERR_LIB_SSL, SSL_R_MAXIMUM_ENCRYPTED_PKTS_REACHED},
810 + #else
811 + {"MAXIMUM_ENCRYPTED_PKTS_REACHED", 20, 395},
812 + #endif
813 #ifdef SSL_R_MISSING_DSA_SIGNING_CERT
814 {"MISSING_DSA_SIGNING_CERT", ERR_LIB_SSL, SSL_R_MISSING_DSA_SIGNING_CERT},
815 #else
816 @@ -6925,6 +7287,11 @@ static struct py_ssl_error_code error_codes[] = {
817 #else
818 {"MISSING_SUPPORTED_GROUPS_EXTENSION", 20, 209},
819 #endif
820 + #ifdef SSL_R_MISSING_SUPPORTED_VERSIONS_EXTENSION
821 + {"MISSING_SUPPORTED_VERSIONS_EXTENSION", ERR_LIB_SSL, SSL_R_MISSING_SUPPORTED_VERSIONS_EXTENSION},
822 + #else
823 + {"MISSING_SUPPORTED_VERSIONS_EXTENSION", 20, 420},
824 + #endif
825 #ifdef SSL_R_MISSING_TMP_DH_KEY
826 {"MISSING_TMP_DH_KEY", ERR_LIB_SSL, SSL_R_MISSING_TMP_DH_KEY},
827 #else
828 @@ -7065,6 +7432,11 @@ static struct py_ssl_error_code error_codes[] = {
829 #else
830 {"NO_SRTP_PROFILES", 20, 359},
831 #endif
832 + #ifdef SSL_R_NO_STREAM
833 + {"NO_STREAM", ERR_LIB_SSL, SSL_R_NO_STREAM},
834 + #else
835 + {"NO_STREAM", 20, 355},
836 + #endif
837 #ifdef SSL_R_NO_SUITABLE_DIGEST_ALGORITHM
838 {"NO_SUITABLE_DIGEST_ALGORITHM", ERR_LIB_SSL, SSL_R_NO_SUITABLE_DIGEST_ALGORITHM},
839 #else
840 @@ -7080,6 +7452,11 @@ static struct py_ssl_error_code error_codes[] = {
841 #else
842 {"NO_SUITABLE_KEY_SHARE", 20, 101},
843 #endif
844 + #ifdef SSL_R_NO_SUITABLE_RECORD_LAYER
845 + {"NO_SUITABLE_RECORD_LAYER", ERR_LIB_SSL, SSL_R_NO_SUITABLE_RECORD_LAYER},
846 + #else
847 + {"NO_SUITABLE_RECORD_LAYER", 20, 322},
848 + #endif
849 #ifdef SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM
850 {"NO_SUITABLE_SIGNATURE_ALGORITHM", ERR_LIB_SSL, SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM},
851 #else
852 @@ -7160,6 +7537,11 @@ static struct py_ssl_error_code error_codes[] = {
853 #else
854 {"PIPELINE_FAILURE", 20, 406},
855 #endif
856 + #ifdef SSL_R_POLL_REQUEST_NOT_SUPPORTED
857 + {"POLL_REQUEST_NOT_SUPPORTED", ERR_LIB_SSL, SSL_R_POLL_REQUEST_NOT_SUPPORTED},
858 + #else
859 + {"POLL_REQUEST_NOT_SUPPORTED", 20, 418},
860 + #endif
861 #ifdef SSL_R_POST_HANDSHAKE_AUTH_ENCODING_ERR
862 {"POST_HANDSHAKE_AUTH_ENCODING_ERR", ERR_LIB_SSL, SSL_R_POST_HANDSHAKE_AUTH_ENCODING_ERR},
863 #else
864 @@ -7190,6 +7572,21 @@ static struct py_ssl_error_code error_codes[] = {
865 #else
866 {"PSK_NO_SERVER_CB", 20, 225},
867 #endif
868 + #ifdef SSL_R_QUIC_HANDSHAKE_LAYER_ERROR
869 + {"QUIC_HANDSHAKE_LAYER_ERROR", ERR_LIB_SSL, SSL_R_QUIC_HANDSHAKE_LAYER_ERROR},
870 + #else
871 + {"QUIC_HANDSHAKE_LAYER_ERROR", 20, 393},
872 + #endif
873 + #ifdef SSL_R_QUIC_NETWORK_ERROR
874 + {"QUIC_NETWORK_ERROR", ERR_LIB_SSL, SSL_R_QUIC_NETWORK_ERROR},
875 + #else
876 + {"QUIC_NETWORK_ERROR", 20, 387},
877 + #endif
878 + #ifdef SSL_R_QUIC_PROTOCOL_ERROR
879 + {"QUIC_PROTOCOL_ERROR", ERR_LIB_SSL, SSL_R_QUIC_PROTOCOL_ERROR},
880 + #else
881 + {"QUIC_PROTOCOL_ERROR", 20, 382},
882 + #endif
883 #ifdef SSL_R_READ_BIO_NOT_SET
884 {"READ_BIO_NOT_SET", ERR_LIB_SSL, SSL_R_READ_BIO_NOT_SET},
885 #else
886 @@ -7200,6 +7597,16 @@ static struct py_ssl_error_code error_codes[] = {
887 #else
888 {"READ_TIMEOUT_EXPIRED", 20, 312},
889 #endif
890 + #ifdef SSL_R_RECORDS_NOT_RELEASED
891 + {"RECORDS_NOT_RELEASED", ERR_LIB_SSL, SSL_R_RECORDS_NOT_RELEASED},
892 + #else
893 + {"RECORDS_NOT_RELEASED", 20, 321},
894 + #endif
895 + #ifdef SSL_R_RECORD_LAYER_FAILURE
896 + {"RECORD_LAYER_FAILURE", ERR_LIB_SSL, SSL_R_RECORD_LAYER_FAILURE},
897 + #else
898 + {"RECORD_LAYER_FAILURE", 20, 313},
899 + #endif
900 #ifdef SSL_R_RECORD_LENGTH_MISMATCH
901 {"RECORD_LENGTH_MISMATCH", ERR_LIB_SSL, SSL_R_RECORD_LENGTH_MISMATCH},
902 #else
903 @@ -7210,6 +7617,11 @@ static struct py_ssl_error_code error_codes[] = {
904 #else
905 {"RECORD_TOO_SMALL", 20, 298},
906 #endif
907 + #ifdef SSL_R_REMOTE_PEER_ADDRESS_NOT_SET
908 + {"REMOTE_PEER_ADDRESS_NOT_SET", ERR_LIB_SSL, SSL_R_REMOTE_PEER_ADDRESS_NOT_SET},
909 + #else
910 + {"REMOTE_PEER_ADDRESS_NOT_SET", 20, 346},
911 + #endif
912 #ifdef SSL_R_RENEGOTIATE_EXT_TOO_LONG
913 {"RENEGOTIATE_EXT_TOO_LONG", ERR_LIB_SSL, SSL_R_RENEGOTIATE_EXT_TOO_LONG},
914 #else
915 @@ -7255,6 +7667,11 @@ static struct py_ssl_error_code error_codes[] = {
916 #else
917 {"SCT_VERIFICATION_FAILED", 20, 208},
918 #endif
919 + #ifdef SSL_R_SEQUENCE_CTR_WRAPPED
920 + {"SEQUENCE_CTR_WRAPPED", ERR_LIB_SSL, SSL_R_SEQUENCE_CTR_WRAPPED},
921 + #else
922 + {"SEQUENCE_CTR_WRAPPED", 20, 327},
923 + #endif
924 #ifdef SSL_R_SERVERHELLO_TLSEXT
925 {"SERVERHELLO_TLSEXT", ERR_LIB_SSL, SSL_R_SERVERHELLO_TLSEXT},
926 #else
927 @@ -7325,6 +7742,16 @@ static struct py_ssl_error_code error_codes[] = {
928 #else
929 {"SSLV3_ALERT_BAD_CERTIFICATE", 20, 1042},
930 #endif
931 + #ifdef SSL_R_SSLV3_ALERT_BAD_CERTIFICATE
932 + {"SSLV3_ALERT_BAD_CERTIFICATE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_BAD_CERTIFICATE},
933 + #else
934 + {"SSLV3_ALERT_BAD_CERTIFICATE", 20, 1042},
935 + #endif
936 + #ifdef SSL_R_SSLV3_ALERT_BAD_RECORD_MAC
937 + {"SSLV3_ALERT_BAD_RECORD_MAC", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_BAD_RECORD_MAC},
938 + #else
939 + {"SSLV3_ALERT_BAD_RECORD_MAC", 20, 1020},
940 + #endif
941 #ifdef SSL_R_SSLV3_ALERT_BAD_RECORD_MAC
942 {"SSLV3_ALERT_BAD_RECORD_MAC", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_BAD_RECORD_MAC},
943 #else
944 @@ -7335,11 +7762,26 @@ static struct py_ssl_error_code error_codes[] = {
945 #else
946 {"SSLV3_ALERT_CERTIFICATE_EXPIRED", 20, 1045},
947 #endif
948 + #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED
949 + {"SSLV3_ALERT_CERTIFICATE_EXPIRED", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED},
950 + #else
951 + {"SSLV3_ALERT_CERTIFICATE_EXPIRED", 20, 1045},
952 + #endif
953 #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED
954 {"SSLV3_ALERT_CERTIFICATE_REVOKED", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED},
955 #else
956 {"SSLV3_ALERT_CERTIFICATE_REVOKED", 20, 1044},
957 #endif
958 + #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED
959 + {"SSLV3_ALERT_CERTIFICATE_REVOKED", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED},
960 + #else
961 + {"SSLV3_ALERT_CERTIFICATE_REVOKED", 20, 1044},
962 + #endif
963 + #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN
964 + {"SSLV3_ALERT_CERTIFICATE_UNKNOWN", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN},
965 + #else
966 + {"SSLV3_ALERT_CERTIFICATE_UNKNOWN", 20, 1046},
967 + #endif
968 #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN
969 {"SSLV3_ALERT_CERTIFICATE_UNKNOWN", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN},
970 #else
971 @@ -7350,6 +7792,16 @@ static struct py_ssl_error_code error_codes[] = {
972 #else
973 {"SSLV3_ALERT_DECOMPRESSION_FAILURE", 20, 1030},
974 #endif
975 + #ifdef SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE
976 + {"SSLV3_ALERT_DECOMPRESSION_FAILURE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE},
977 + #else
978 + {"SSLV3_ALERT_DECOMPRESSION_FAILURE", 20, 1030},
979 + #endif
980 + #ifdef SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE
981 + {"SSLV3_ALERT_HANDSHAKE_FAILURE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE},
982 + #else
983 + {"SSLV3_ALERT_HANDSHAKE_FAILURE", 20, 1040},
984 + #endif
985 #ifdef SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE
986 {"SSLV3_ALERT_HANDSHAKE_FAILURE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE},
987 #else
988 @@ -7360,11 +7812,26 @@ static struct py_ssl_error_code error_codes[] = {
989 #else
990 {"SSLV3_ALERT_ILLEGAL_PARAMETER", 20, 1047},
991 #endif
992 + #ifdef SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER
993 + {"SSLV3_ALERT_ILLEGAL_PARAMETER", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER},
994 + #else
995 + {"SSLV3_ALERT_ILLEGAL_PARAMETER", 20, 1047},
996 + #endif
997 #ifdef SSL_R_SSLV3_ALERT_NO_CERTIFICATE
998 {"SSLV3_ALERT_NO_CERTIFICATE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_NO_CERTIFICATE},
999 #else
1000 {"SSLV3_ALERT_NO_CERTIFICATE", 20, 1041},
1001 #endif
1002 + #ifdef SSL_R_SSLV3_ALERT_NO_CERTIFICATE
1003 + {"SSLV3_ALERT_NO_CERTIFICATE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_NO_CERTIFICATE},
1004 + #else
1005 + {"SSLV3_ALERT_NO_CERTIFICATE", 20, 1041},
1006 + #endif
1007 + #ifdef SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE
1008 + {"SSLV3_ALERT_UNEXPECTED_MESSAGE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE},
1009 + #else
1010 + {"SSLV3_ALERT_UNEXPECTED_MESSAGE", 20, 1010},
1011 + #endif
1012 #ifdef SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE
1013 {"SSLV3_ALERT_UNEXPECTED_MESSAGE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE},
1014 #else
1015 @@ -7375,6 +7842,11 @@ static struct py_ssl_error_code error_codes[] = {
1016 #else
1017 {"SSLV3_ALERT_UNSUPPORTED_CERTIFICATE", 20, 1043},
1018 #endif
1019 + #ifdef SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE
1020 + {"SSLV3_ALERT_UNSUPPORTED_CERTIFICATE", ERR_LIB_SSL, SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE},
1021 + #else
1022 + {"SSLV3_ALERT_UNSUPPORTED_CERTIFICATE", 20, 1043},
1023 + #endif
1024 #ifdef SSL_R_SSL_COMMAND_SECTION_EMPTY
1025 {"SSL_COMMAND_SECTION_EMPTY", ERR_LIB_SSL, SSL_R_SSL_COMMAND_SECTION_EMPTY},
1026 #else
1027 @@ -7450,6 +7922,36 @@ static struct py_ssl_error_code error_codes[] = {
1028 #else
1029 {"STILL_IN_INIT", 20, 121},
1030 #endif
1031 + #ifdef SSL_R_STREAM_COUNT_LIMITED
1032 + {"STREAM_COUNT_LIMITED", ERR_LIB_SSL, SSL_R_STREAM_COUNT_LIMITED},
1033 + #else
1034 + {"STREAM_COUNT_LIMITED", 20, 411},
1035 + #endif
1036 + #ifdef SSL_R_STREAM_FINISHED
1037 + {"STREAM_FINISHED", ERR_LIB_SSL, SSL_R_STREAM_FINISHED},
1038 + #else
1039 + {"STREAM_FINISHED", 20, 365},
1040 + #endif
1041 + #ifdef SSL_R_STREAM_RECV_ONLY
1042 + {"STREAM_RECV_ONLY", ERR_LIB_SSL, SSL_R_STREAM_RECV_ONLY},
1043 + #else
1044 + {"STREAM_RECV_ONLY", 20, 366},
1045 + #endif
1046 + #ifdef SSL_R_STREAM_RESET
1047 + {"STREAM_RESET", ERR_LIB_SSL, SSL_R_STREAM_RESET},
1048 + #else
1049 + {"STREAM_RESET", 20, 375},
1050 + #endif
1051 + #ifdef SSL_R_STREAM_SEND_ONLY
1052 + {"STREAM_SEND_ONLY", ERR_LIB_SSL, SSL_R_STREAM_SEND_ONLY},
1053 + #else
1054 + {"STREAM_SEND_ONLY", 20, 379},
1055 + #endif
1056 + #ifdef SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED
1057 + {"TLSV13_ALERT_CERTIFICATE_REQUIRED", ERR_LIB_SSL, SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED},
1058 + #else
1059 + {"TLSV13_ALERT_CERTIFICATE_REQUIRED", 20, 1116},
1060 + #endif
1061 #ifdef SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED
1062 {"TLSV13_ALERT_CERTIFICATE_REQUIRED", ERR_LIB_SSL, SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED},
1063 #else
1064 @@ -7460,6 +7962,16 @@ static struct py_ssl_error_code error_codes[] = {
1065 #else
1066 {"TLSV13_ALERT_MISSING_EXTENSION", 20, 1109},
1067 #endif
1068 + #ifdef SSL_R_TLSV13_ALERT_MISSING_EXTENSION
1069 + {"TLSV13_ALERT_MISSING_EXTENSION", ERR_LIB_SSL, SSL_R_TLSV13_ALERT_MISSING_EXTENSION},
1070 + #else
1071 + {"TLSV13_ALERT_MISSING_EXTENSION", 20, 1109},
1072 + #endif
1073 + #ifdef SSL_R_TLSV1_ALERT_ACCESS_DENIED
1074 + {"TLSV1_ALERT_ACCESS_DENIED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_ACCESS_DENIED},
1075 + #else
1076 + {"TLSV1_ALERT_ACCESS_DENIED", 20, 1049},
1077 + #endif
1078 #ifdef SSL_R_TLSV1_ALERT_ACCESS_DENIED
1079 {"TLSV1_ALERT_ACCESS_DENIED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_ACCESS_DENIED},
1080 #else
1081 @@ -7470,6 +7982,16 @@ static struct py_ssl_error_code error_codes[] = {
1082 #else
1083 {"TLSV1_ALERT_DECODE_ERROR", 20, 1050},
1084 #endif
1085 + #ifdef SSL_R_TLSV1_ALERT_DECODE_ERROR
1086 + {"TLSV1_ALERT_DECODE_ERROR", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_DECODE_ERROR},
1087 + #else
1088 + {"TLSV1_ALERT_DECODE_ERROR", 20, 1050},
1089 + #endif
1090 + #ifdef SSL_R_TLSV1_ALERT_DECRYPTION_FAILED
1091 + {"TLSV1_ALERT_DECRYPTION_FAILED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_DECRYPTION_FAILED},
1092 + #else
1093 + {"TLSV1_ALERT_DECRYPTION_FAILED", 20, 1021},
1094 + #endif
1095 #ifdef SSL_R_TLSV1_ALERT_DECRYPTION_FAILED
1096 {"TLSV1_ALERT_DECRYPTION_FAILED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_DECRYPTION_FAILED},
1097 #else
1098 @@ -7480,6 +8002,16 @@ static struct py_ssl_error_code error_codes[] = {
1099 #else
1100 {"TLSV1_ALERT_DECRYPT_ERROR", 20, 1051},
1101 #endif
1102 + #ifdef SSL_R_TLSV1_ALERT_DECRYPT_ERROR
1103 + {"TLSV1_ALERT_DECRYPT_ERROR", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_DECRYPT_ERROR},
1104 + #else
1105 + {"TLSV1_ALERT_DECRYPT_ERROR", 20, 1051},
1106 + #endif
1107 + #ifdef SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION
1108 + {"TLSV1_ALERT_EXPORT_RESTRICTION", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION},
1109 + #else
1110 + {"TLSV1_ALERT_EXPORT_RESTRICTION", 20, 1060},
1111 + #endif
1112 #ifdef SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION
1113 {"TLSV1_ALERT_EXPORT_RESTRICTION", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION},
1114 #else
1115 @@ -7490,6 +8022,16 @@ static struct py_ssl_error_code error_codes[] = {
1116 #else
1117 {"TLSV1_ALERT_INAPPROPRIATE_FALLBACK", 20, 1086},
1118 #endif
1119 + #ifdef SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK
1120 + {"TLSV1_ALERT_INAPPROPRIATE_FALLBACK", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK},
1121 + #else
1122 + {"TLSV1_ALERT_INAPPROPRIATE_FALLBACK", 20, 1086},
1123 + #endif
1124 + #ifdef SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY
1125 + {"TLSV1_ALERT_INSUFFICIENT_SECURITY", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY},
1126 + #else
1127 + {"TLSV1_ALERT_INSUFFICIENT_SECURITY", 20, 1071},
1128 + #endif
1129 #ifdef SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY
1130 {"TLSV1_ALERT_INSUFFICIENT_SECURITY", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY},
1131 #else
1132 @@ -7500,6 +8042,26 @@ static struct py_ssl_error_code error_codes[] = {
1133 #else
1134 {"TLSV1_ALERT_INTERNAL_ERROR", 20, 1080},
1135 #endif
1136 + #ifdef SSL_R_TLSV1_ALERT_INTERNAL_ERROR
1137 + {"TLSV1_ALERT_INTERNAL_ERROR", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_INTERNAL_ERROR},
1138 + #else
1139 + {"TLSV1_ALERT_INTERNAL_ERROR", 20, 1080},
1140 + #endif
1141 + #ifdef SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL
1142 + {"TLSV1_ALERT_NO_APPLICATION_PROTOCOL", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL},
1143 + #else
1144 + {"TLSV1_ALERT_NO_APPLICATION_PROTOCOL", 20, 1120},
1145 + #endif
1146 + #ifdef SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL
1147 + {"TLSV1_ALERT_NO_APPLICATION_PROTOCOL", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL},
1148 + #else
1149 + {"TLSV1_ALERT_NO_APPLICATION_PROTOCOL", 20, 1120},
1150 + #endif
1151 + #ifdef SSL_R_TLSV1_ALERT_NO_RENEGOTIATION
1152 + {"TLSV1_ALERT_NO_RENEGOTIATION", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_NO_RENEGOTIATION},
1153 + #else
1154 + {"TLSV1_ALERT_NO_RENEGOTIATION", 20, 1100},
1155 + #endif
1156 #ifdef SSL_R_TLSV1_ALERT_NO_RENEGOTIATION
1157 {"TLSV1_ALERT_NO_RENEGOTIATION", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_NO_RENEGOTIATION},
1158 #else
1159 @@ -7510,21 +8072,56 @@ static struct py_ssl_error_code error_codes[] = {
1160 #else
1161 {"TLSV1_ALERT_PROTOCOL_VERSION", 20, 1070},
1162 #endif
1163 + #ifdef SSL_R_TLSV1_ALERT_PROTOCOL_VERSION
1164 + {"TLSV1_ALERT_PROTOCOL_VERSION", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_PROTOCOL_VERSION},
1165 + #else
1166 + {"TLSV1_ALERT_PROTOCOL_VERSION", 20, 1070},
1167 + #endif
1168 #ifdef SSL_R_TLSV1_ALERT_RECORD_OVERFLOW
1169 {"TLSV1_ALERT_RECORD_OVERFLOW", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_RECORD_OVERFLOW},
1170 #else
1171 {"TLSV1_ALERT_RECORD_OVERFLOW", 20, 1022},
1172 #endif
1173 + #ifdef SSL_R_TLSV1_ALERT_RECORD_OVERFLOW
1174 + {"TLSV1_ALERT_RECORD_OVERFLOW", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_RECORD_OVERFLOW},
1175 + #else
1176 + {"TLSV1_ALERT_RECORD_OVERFLOW", 20, 1022},
1177 + #endif
1178 + #ifdef SSL_R_TLSV1_ALERT_UNKNOWN_CA
1179 + {"TLSV1_ALERT_UNKNOWN_CA", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_UNKNOWN_CA},
1180 + #else
1181 + {"TLSV1_ALERT_UNKNOWN_CA", 20, 1048},
1182 + #endif
1183 #ifdef SSL_R_TLSV1_ALERT_UNKNOWN_CA
1184 {"TLSV1_ALERT_UNKNOWN_CA", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_UNKNOWN_CA},
1185 #else
1186 {"TLSV1_ALERT_UNKNOWN_CA", 20, 1048},
1187 #endif
1188 + #ifdef SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY
1189 + {"TLSV1_ALERT_UNKNOWN_PSK_IDENTITY", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY},
1190 + #else
1191 + {"TLSV1_ALERT_UNKNOWN_PSK_IDENTITY", 20, 1115},
1192 + #endif
1193 + #ifdef SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY
1194 + {"TLSV1_ALERT_UNKNOWN_PSK_IDENTITY", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY},
1195 + #else
1196 + {"TLSV1_ALERT_UNKNOWN_PSK_IDENTITY", 20, 1115},
1197 + #endif
1198 #ifdef SSL_R_TLSV1_ALERT_USER_CANCELLED
1199 {"TLSV1_ALERT_USER_CANCELLED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_USER_CANCELLED},
1200 #else
1201 {"TLSV1_ALERT_USER_CANCELLED", 20, 1090},
1202 #endif
1203 + #ifdef SSL_R_TLSV1_ALERT_USER_CANCELLED
1204 + {"TLSV1_ALERT_USER_CANCELLED", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_USER_CANCELLED},
1205 + #else
1206 + {"TLSV1_ALERT_USER_CANCELLED", 20, 1090},
1207 + #endif
1208 + #ifdef SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE
1209 + {"TLSV1_BAD_CERTIFICATE_HASH_VALUE", ERR_LIB_SSL, SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE},
1210 + #else
1211 + {"TLSV1_BAD_CERTIFICATE_HASH_VALUE", 20, 1114},
1212 + #endif
1213 #ifdef SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE
1214 {"TLSV1_BAD_CERTIFICATE_HASH_VALUE", ERR_LIB_SSL, SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE},
1215 #else
1216 @@ -7535,6 +8132,16 @@ static struct py_ssl_error_code error_codes[] = {
1217 #else
1218 {"TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE", 20, 1113},
1219 #endif
1220 + #ifdef SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE
1221 + {"TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE", ERR_LIB_SSL, SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE},
1222 + #else
1223 + {"TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE", 20, 1113},
1224 + #endif
1225 + #ifdef SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE
1226 + {"TLSV1_CERTIFICATE_UNOBTAINABLE", ERR_LIB_SSL, SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE},
1227 + #else
1228 + {"TLSV1_CERTIFICATE_UNOBTAINABLE", 20, 1111},
1229 + #endif
1230 #ifdef SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE
1231 {"TLSV1_CERTIFICATE_UNOBTAINABLE", ERR_LIB_SSL, SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE},
1232 #else
1233 @@ -7545,6 +8152,16 @@ static struct py_ssl_error_code error_codes[] = {
1234 #else
1235 {"TLSV1_UNRECOGNIZED_NAME", 20, 1112},
1236 #endif
1237 + #ifdef SSL_R_TLSV1_UNRECOGNIZED_NAME
1238 + {"TLSV1_UNRECOGNIZED_NAME", ERR_LIB_SSL, SSL_R_TLSV1_UNRECOGNIZED_NAME},
1239 + #else
1240 + {"TLSV1_UNRECOGNIZED_NAME", 20, 1112},
1241 + #endif
1242 + #ifdef SSL_R_TLSV1_UNSUPPORTED_EXTENSION
1243 + {"TLSV1_UNSUPPORTED_EXTENSION", ERR_LIB_SSL, SSL_R_TLSV1_UNSUPPORTED_EXTENSION},
1244 + #else
1245 + {"TLSV1_UNSUPPORTED_EXTENSION", 20, 1110},
1246 + #endif
1247 #ifdef SSL_R_TLSV1_UNSUPPORTED_EXTENSION
1248 {"TLSV1_UNSUPPORTED_EXTENSION", ERR_LIB_SSL, SSL_R_TLSV1_UNSUPPORTED_EXTENSION},
1249 #else
1250 @@ -7665,6 +8282,11 @@ static struct py_ssl_error_code error_codes[] = {
1251 #else
1252 {"UNKNOWN_KEY_EXCHANGE_TYPE", 20, 250},
1253 #endif
1254 + #ifdef SSL_R_UNKNOWN_MANDATORY_PARAMETER
1255 + {"UNKNOWN_MANDATORY_PARAMETER", ERR_LIB_SSL, SSL_R_UNKNOWN_MANDATORY_PARAMETER},
1256 + #else
1257 + {"UNKNOWN_MANDATORY_PARAMETER", 20, 323},
1258 + #endif
1259 #ifdef SSL_R_UNKNOWN_PKEY_TYPE
1260 {"UNKNOWN_PKEY_TYPE", ERR_LIB_SSL, SSL_R_UNKNOWN_PKEY_TYPE},
1261 #else
1262 @@ -7700,6 +8322,21 @@ static struct py_ssl_error_code error_codes[] = {
1263 #else
1264 {"UNSUPPORTED_COMPRESSION_ALGORITHM", 20, 257},
1265 #endif
1266 + #ifdef SSL_R_UNSUPPORTED_CONFIG_VALUE
1267 + {"UNSUPPORTED_CONFIG_VALUE", ERR_LIB_SSL, SSL_R_UNSUPPORTED_CONFIG_VALUE},
1268 + #else
1269 + {"UNSUPPORTED_CONFIG_VALUE", 20, 414},
1270 + #endif
1271 + #ifdef SSL_R_UNSUPPORTED_CONFIG_VALUE_CLASS
1272 + {"UNSUPPORTED_CONFIG_VALUE_CLASS", ERR_LIB_SSL, SSL_R_UNSUPPORTED_CONFIG_VALUE_CLASS},
1273 + #else
1274 + {"UNSUPPORTED_CONFIG_VALUE_CLASS", 20, 415},
1275 + #endif
1276 + #ifdef SSL_R_UNSUPPORTED_CONFIG_VALUE_OP
1277 + {"UNSUPPORTED_CONFIG_VALUE_OP", ERR_LIB_SSL, SSL_R_UNSUPPORTED_CONFIG_VALUE_OP},
1278 + #else
1279 + {"UNSUPPORTED_CONFIG_VALUE_OP", 20, 416},
1280 + #endif
1281 #ifdef SSL_R_UNSUPPORTED_ELLIPTIC_CURVE
1282 {"UNSUPPORTED_ELLIPTIC_CURVE", ERR_LIB_SSL, SSL_R_UNSUPPORTED_ELLIPTIC_CURVE},
1283 #else
1284 @@ -7720,6 +8357,11 @@ static struct py_ssl_error_code error_codes[] = {
1285 #else
1286 {"UNSUPPORTED_STATUS_TYPE", 20, 329},
1287 #endif
1288 + #ifdef SSL_R_UNSUPPORTED_WRITE_FLAG
1289 + {"UNSUPPORTED_WRITE_FLAG", ERR_LIB_SSL, SSL_R_UNSUPPORTED_WRITE_FLAG},
1290 + #else
1291 + {"UNSUPPORTED_WRITE_FLAG", 20, 412},
1292 + #endif
1293 #ifdef SSL_R_USE_SRTP_NOT_NEGOTIATED
1294 {"USE_SRTP_NOT_NEGOTIATED", ERR_LIB_SSL, SSL_R_USE_SRTP_NOT_NEGOTIATED},
1295 #else
1296 @@ -7750,6 +8392,11 @@ static struct py_ssl_error_code error_codes[] = {
1297 #else
1298 {"WRONG_CURVE", 20, 378},
1299 #endif
1300 + #ifdef SSL_R_WRONG_RPK_TYPE
1301 + {"WRONG_RPK_TYPE", ERR_LIB_SSL, SSL_R_WRONG_RPK_TYPE},
1302 + #else
1303 + {"WRONG_RPK_TYPE", 20, 351},
1304 + #endif
1305 #ifdef SSL_R_WRONG_SIGNATURE_LENGTH
1306 {"WRONG_SIGNATURE_LENGTH", ERR_LIB_SSL, SSL_R_WRONG_SIGNATURE_LENGTH},
1307 #else
1308 @@ -8055,6 +8702,16 @@ static struct py_ssl_error_code error_codes[] = {
1309 #else
1310 {"BAD_OBJECT", 34, 119},
1311 #endif
1312 + #ifdef X509V3_R_BAD_OPTION
1313 + {"BAD_OPTION", ERR_LIB_X509V3, X509V3_R_BAD_OPTION},
1314 + #else
1315 + {"BAD_OPTION", 34, 170},
1316 + #endif
1317 + #ifdef X509V3_R_BAD_VALUE
1318 + {"BAD_VALUE", ERR_LIB_X509V3, X509V3_R_BAD_VALUE},
1319 + #else
1320 + {"BAD_VALUE", 34, 171},
1321 + #endif
1322 #ifdef X509V3_R_BN_DEC2BN_ERROR
1323 {"BN_DEC2BN_ERROR", ERR_LIB_X509V3, X509V3_R_BN_DEC2BN_ERROR},
1324 #else
1325 @@ -8370,6 +9027,11 @@ static struct py_ssl_error_code error_codes[] = {
1326 #else
1327 {"UNKNOWN_OPTION", 34, 120},
1328 #endif
1329 + #ifdef X509V3_R_UNKNOWN_VALUE
1330 + {"UNKNOWN_VALUE", ERR_LIB_X509V3, X509V3_R_UNKNOWN_VALUE},
1331 + #else
1332 + {"UNKNOWN_VALUE", 34, 172},
1333 + #endif
1334 #ifdef X509V3_R_UNSUPPORTED_OPTION
1335 {"UNSUPPORTED_OPTION", ERR_LIB_X509V3, X509V3_R_UNSUPPORTED_OPTION},
1336 #else
1337 @@ -8430,6 +9092,11 @@ static struct py_ssl_error_code error_codes[] = {
1338 #else
1339 {"CRL_VERIFY_FAILURE", 11, 131},
1340 #endif
1341 + #ifdef X509_R_DUPLICATE_ATTRIBUTE
1342 + {"DUPLICATE_ATTRIBUTE", ERR_LIB_X509, X509_R_DUPLICATE_ATTRIBUTE},
1343 + #else
1344 + {"DUPLICATE_ATTRIBUTE", 11, 140},
1345 + #endif
1346 #ifdef X509_R_ERROR_GETTING_MD_BY_NID
1347 {"ERROR_GETTING_MD_BY_NID", ERR_LIB_X509, X509_R_ERROR_GETTING_MD_BY_NID},
1348 #else
1349 @@ -8590,6 +9257,11 @@ static struct py_ssl_error_code error_codes[] = {
1350 #else
1351 {"UNSUPPORTED_ALGORITHM", 11, 111},
1352 #endif
1353 + #ifdef X509_R_UNSUPPORTED_VERSION
1354 + {"UNSUPPORTED_VERSION", ERR_LIB_X509, X509_R_UNSUPPORTED_VERSION},
1355 + #else
1356 + {"UNSUPPORTED_VERSION", 11, 145},
1357 + #endif
1358 #ifdef X509_R_WRONG_LOOKUP_TYPE
1359 {"WRONG_LOOKUP_TYPE", ERR_LIB_X509, X509_R_WRONG_LOOKUP_TYPE},
1360 #else
1361 diff --git a/Tools/c-analyzer/cpython/_parser.py b/Tools/c-analyzer/cpython/_parser.py
1362 index 21be53e7884..a08b32fa45d 100644
1363 --- a/Tools/c-analyzer/cpython/_parser.py
1364 +++ b/Tools/c-analyzer/cpython/_parser.py
1365 @@ -70,9 +70,7 @@ Python/thread_pthread.h
1366 Python/thread_pthread_stubs.h
1367
1368 # only huge constants (safe but parsing is slow)
1369 -Modules/_ssl_data_31.h
1370 -Modules/_ssl_data_300.h
1371 -Modules/_ssl_data_111.h
1372 +Modules/_ssl_data_*.h
1373 Modules/cjkcodecs/mappings_*.h
1374 Modules/unicodedata_db.h
1375 Modules/unicodename_db.h
1376 diff --git a/Tools/ssl/make_ssl_data.py b/Tools/ssl/make_ssl_data.py
1377 index 9860871..0cd05c7 100755
1378 --- a/Tools/ssl/make_ssl_data.py
1379 +++ b/Tools/ssl/make_ssl_data.py
1380 @@ -5,9 +5,28 @@ This script should be called *manually* when we want to upgrade SSLError
1381 `library` and `reason` mnemonics to a more recent OpenSSL version.
1382
1383 It takes two arguments:
1384 -- the path to the OpenSSL source tree (e.g. git checkout)
1385 +- the path to the OpenSSL git checkout
1386 - the path to the header file to be generated Modules/_ssl_data_{version}.h
1387 - error codes are version specific
1388 +
1389 +The OpenSSL git checkout should be at a specific tag, using commands like:
1390 + git tag --list 'openssl-*'
1391 + git switch --detach openssl-3.4.0
1392 +
1393 +
1394 +After generating the definitions, compare the result with newest pre-existing file.
1395 +You can use a command like:
1396 +
1397 + git diff --no-index Modules/_ssl_data_31.h Modules/_ssl_data_34.h
1398 +
1399 +- If the new version *only* adds new definitions, remove the pre-existing file
1400 + and adjust the #include in _ssl.c to point to the new version.
1401 +- If the new version removes or renumbers some definitions, keep both files and
1402 + add a new #include in _ssl.c.
1403 +
1404 +A newly supported OpenSSL version should also be added to:
1405 +- Tools/ssl/multissltests.py
1406 +- .github/workflows/build.yml
1407 """
1408
1409 import argparse
1410 @@ -16,6 +35,7 @@ import operator
1411 import os
1412 import re
1413 import sys
1414 +import subprocess
1415
1416
1417 parser = argparse.ArgumentParser(
1418 @@ -118,9 +138,17 @@ def main():
1419 # sort by libname, numeric error code
1420 args.reasons = sorted(reasons, key=operator.itemgetter(0, 3))
1421
1422 + git_describe = subprocess.run(
1423 + ['git', 'describe', '--long', '--dirty'],
1424 + cwd=args.srcdir,
1425 + capture_output=True,
1426 + encoding='utf-8',
1427 + check=True,
1428 + )
1429 lines = [
1430 - "/* File generated by Tools/ssl/make_ssl_data.py */"
1431 - f"/* Generated on {datetime.datetime.utcnow().isoformat()} */"
1432 + "/* File generated by Tools/ssl/make_ssl_data.py */",
1433 + f"/* Generated on {datetime.datetime.now(datetime.UTC).isoformat()} */",
1434 + f"/* Generated from Git commit {git_describe.stdout.strip()} */",
1435 ]
1436 lines.extend(gen_library_codes(args))
1437 lines.append("")
1438 diff --git a/Tools/ssl/multissltests.py b/Tools/ssl/multissltests.py
1439 index eae0e0c..fb06f63 100755
1440 --- a/Tools/ssl/multissltests.py
1441 +++ b/Tools/ssl/multissltests.py
1442 @@ -51,6 +51,7 @@ OPENSSL_RECENT_VERSIONS = [
1443 "3.1.7",
1444 "3.2.3",
1445 "3.3.2",
1446 + "3.4.0",
1447 ]
1448
1449 LIBRESSL_OLD_VERSIONS = [
1450 --
1451 2.30.2
1452