https://github.com/python/cpython/commit/08e590e404a5510588d9ef965468645e92fdaa4c
commit: 08e590e404a5510588d9ef965468645e92fdaa4c
branch: 3.13
author: Zachary Ware <[email protected]>
committer: Yhg1s <[email protected]>
date: 2026-09-28T01:14:19+02:00
summary:

[3.13] gh-158010: Update OpenSSL in binaries and CI from 3.0 to 3.5 (#158015)

Includes addition of `Modules/_ssl_data*.h` definitions backported from 3.14's 
`Modules/_ssl_data_35.h`.
(adapted from commit cf526738cac46a7d163b7ee4939351a069b5589e)
Co-authored-by: Petr Viktorin <[email protected]>

files:
A Misc/NEWS.d/next/Build/2026-09-23-12-01-50.gh-issue-158010.Hk83NK.rst
A Misc/NEWS.d/next/Windows/2026-09-23-12-05-40.gh-issue-158010.MPcRL5.rst
A Misc/NEWS.d/next/macOS/2026-09-23-12-08-52.gh-issue-158010.Q8fLPe.rst
D Misc/NEWS.d/next/Build/2026-08-26-16-10-15.gh-issue-156369.55jGEj.rst
D Misc/NEWS.d/next/Windows/2026-08-28-10-55-22.gh-issue-156369.ETuGDj.rst
D Misc/NEWS.d/next/macOS/2026-08-27-04-35-56.gh-issue-156369.0A8dm_.rst
M .github/workflows/build.yml
M .github/workflows/reusable-macos.yml
M .github/workflows/reusable-ubuntu.yml
M Android/android.py
M Mac/BuildScript/README.rst
M Mac/BuildScript/build-installer.py
M Misc/Brewfile
M Misc/externals.spdx.json
M Modules/_ssl_data_31.h
M PCbuild/get_externals.bat
M PCbuild/python.props
M PCbuild/readme.txt

diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 2159e06671e6c01..6c07a16c76b24b2 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -378,7 +378,7 @@ jobs:
     needs: build-context
     if: needs.build-context.outputs.run-ubuntu == 'true'
     env:
-      OPENSSL_VER: 3.0.22
+      OPENSSL_VER: 3.5.8
       PYTHONSTRICTEXTENSIONBUILD: 1
     steps:
     - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
@@ -485,7 +485,7 @@ jobs:
       matrix:
         os: [ubuntu-24.04]
     env:
-      OPENSSL_VER: 3.0.22
+      OPENSSL_VER: 3.5.8
       PYTHONSTRICTEXTENSIONBUILD: 1
       ASAN_OPTIONS: detect_leaks=0:allocator_may_return_null=1:handle_segv=0
     steps:
diff --git a/.github/workflows/reusable-macos.yml 
b/.github/workflows/reusable-macos.yml
index 04f4d03b49129a2..098504abd96e96e 100644
--- a/.github/workflows/reusable-macos.yml
+++ b/.github/workflows/reusable-macos.yml
@@ -50,7 +50,7 @@ jobs:
           --with-pydebug \
           ${{ inputs.free-threading && '--disable-gil' || '' }} \
           --prefix=/opt/python-dev \
-          --with-openssl="$(brew --prefix [email protected])"
+          --with-openssl="$(brew --prefix [email protected])"
     - name: Build CPython
       run: make -j8
     - name: Display build info
diff --git a/.github/workflows/reusable-ubuntu.yml 
b/.github/workflows/reusable-ubuntu.yml
index d8f65795d0bc801..0631d31060ff8f9 100644
--- a/.github/workflows/reusable-ubuntu.yml
+++ b/.github/workflows/reusable-ubuntu.yml
@@ -25,7 +25,7 @@ jobs:
       matrix:
         os: [ubuntu-24.04, ubuntu-24.04-arm]
     env:
-      OPENSSL_VER: 3.0.22
+      OPENSSL_VER: 3.5.8
       PYTHONSTRICTEXTENSIONBUILD: 1
       TERM: linux
     steps:
diff --git a/Android/android.py b/Android/android.py
index 38ff0a2d18da611..1db5c80e64b1cd9 100755
--- a/Android/android.py
+++ b/Android/android.py
@@ -221,7 +221,7 @@ def unpack_deps(host, prefix_dir, cache_dir):
     for name_ver in [
         "bzip2-1.0.8-3",
         "libffi-3.4.4-3",
-        "openssl-3.0.22-0",
+        "openssl-3.5.8-0",
         "sqlite-3.53.4-0",
         "xz-5.4.6-1"
     ]:
diff --git a/Mac/BuildScript/README.rst b/Mac/BuildScript/README.rst
index e44e74f3a492341..54341a81c26743f 100644
--- a/Mac/BuildScript/README.rst
+++ b/Mac/BuildScript/README.rst
@@ -73,7 +73,7 @@ download them.
 
     - builds the following third-party libraries
 
-        * OpenSSL 3.0.x
+        * OpenSSL 3.5.x
         * Tcl/Tk 8.6.x
         * NCurses
         * SQLite
diff --git a/Mac/BuildScript/build-installer.py 
b/Mac/BuildScript/build-installer.py
index 641ec600c72872f..e7a2956c033187f 100755
--- a/Mac/BuildScript/build-installer.py
+++ b/Mac/BuildScript/build-installer.py
@@ -246,9 +246,9 @@ def library_recipes():
 
     result.extend([
           dict(
-              name="OpenSSL 3.0.22",
-              
url="https://github.com/openssl/openssl/releases/download/openssl-3.0.22/openssl-3.0.22.tar.gz";,
-              
checksum="67ebca7e50d17383028045486653492195b83db95f8558709701bb47b5c1ef81",
+              name="OpenSSL 3.5.8",
+              
url="https://github.com/openssl/openssl/releases/download/openssl-3.5.8/openssl-3.5.8.tar.gz";,
+              
checksum="a8f84a39918ec6415ce765d9b429d313ba97b8143169c172e734b9514464f5b2",
               buildrecipe=build_universal_openssl,
               configure=None,
               install=None,
diff --git a/Misc/Brewfile b/Misc/Brewfile
index 37e3acde4a057a6..847ca667b94e8fa 100644
--- a/Misc/Brewfile
+++ b/Misc/Brewfile
@@ -1,6 +1,6 @@
 brew "gdbm"
 brew "mpdecimal"
-brew "[email protected]"
+brew "[email protected]"
 brew "pkg-config"
 brew "tcl-tk@8"
 brew "xz"
diff --git 
a/Misc/NEWS.d/next/Build/2026-08-26-16-10-15.gh-issue-156369.55jGEj.rst 
b/Misc/NEWS.d/next/Build/2026-08-26-16-10-15.gh-issue-156369.55jGEj.rst
deleted file mode 100644
index 2f23366c55bae6c..000000000000000
--- a/Misc/NEWS.d/next/Build/2026-08-26-16-10-15.gh-issue-156369.55jGEj.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update Android build script to use OpenSSL 3.0.22.
diff --git 
a/Misc/NEWS.d/next/Build/2026-09-23-12-01-50.gh-issue-158010.Hk83NK.rst 
b/Misc/NEWS.d/next/Build/2026-09-23-12-01-50.gh-issue-158010.Hk83NK.rst
new file mode 100644
index 000000000000000..78e716b7efaa45f
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2026-09-23-12-01-50.gh-issue-158010.Hk83NK.rst
@@ -0,0 +1,2 @@
+Updated Android builds to use OpenSSL 3.5.8, jumping from the 3.0 series
+to 3.5 after 3.0's end of public support in September 2026.
diff --git 
a/Misc/NEWS.d/next/Windows/2026-08-28-10-55-22.gh-issue-156369.ETuGDj.rst 
b/Misc/NEWS.d/next/Windows/2026-08-28-10-55-22.gh-issue-156369.ETuGDj.rst
deleted file mode 100644
index 955222ec0164b30..000000000000000
--- a/Misc/NEWS.d/next/Windows/2026-08-28-10-55-22.gh-issue-156369.ETuGDj.rst
+++ /dev/null
@@ -1 +0,0 @@
-Updated Windows builds to use OpenSSL 3.0.22.
diff --git 
a/Misc/NEWS.d/next/Windows/2026-09-23-12-05-40.gh-issue-158010.MPcRL5.rst 
b/Misc/NEWS.d/next/Windows/2026-09-23-12-05-40.gh-issue-158010.MPcRL5.rst
new file mode 100644
index 000000000000000..652ca9489cd4013
--- /dev/null
+++ b/Misc/NEWS.d/next/Windows/2026-09-23-12-05-40.gh-issue-158010.MPcRL5.rst
@@ -0,0 +1,2 @@
+Updated Windows builds to use OpenSSL 3.5.8, jumping from the 3.0 series
+to 3.5 after 3.0's end of public support in September 2026.
diff --git 
a/Misc/NEWS.d/next/macOS/2026-08-27-04-35-56.gh-issue-156369.0A8dm_.rst 
b/Misc/NEWS.d/next/macOS/2026-08-27-04-35-56.gh-issue-156369.0A8dm_.rst
deleted file mode 100644
index 441bd9d79f4b716..000000000000000
--- a/Misc/NEWS.d/next/macOS/2026-08-27-04-35-56.gh-issue-156369.0A8dm_.rst
+++ /dev/null
@@ -1 +0,0 @@
-Update macOS installer to use OpenSSL 3.0.22.
diff --git 
a/Misc/NEWS.d/next/macOS/2026-09-23-12-08-52.gh-issue-158010.Q8fLPe.rst 
b/Misc/NEWS.d/next/macOS/2026-09-23-12-08-52.gh-issue-158010.Q8fLPe.rst
new file mode 100644
index 000000000000000..4a30fad5a26c09e
--- /dev/null
+++ b/Misc/NEWS.d/next/macOS/2026-09-23-12-08-52.gh-issue-158010.Q8fLPe.rst
@@ -0,0 +1,2 @@
+Updated macOS installer to use OpenSSL 3.5.8, jumping from the 3.0 series
+to 3.5 after 3.0's end of public support in September 2026.
diff --git a/Misc/externals.spdx.json b/Misc/externals.spdx.json
index 2e5daf3f2380d0f..aece225811640e3 100644
--- a/Misc/externals.spdx.json
+++ b/Misc/externals.spdx.json
@@ -70,21 +70,21 @@
       "checksums": [
         {
           "algorithm": "SHA256",
-          "checksumValue": 
"0a7db2958a5ba7f3a7438835f1a583476a611aa160e04b445f9a25e2ffe865aa"
+          "checksumValue": 
"36af13403a6f34251c875946d1d524c228cbf7b82fd54dd13d9019fbc37da87e"
         }
       ],
-      "downloadLocation": 
"https://github.com/python/cpython-source-deps/archive/refs/tags/openssl-3.0.22.tar.gz";,
+      "downloadLocation": 
"https://github.com/python/cpython-source-deps/archive/refs/tags/openssl-3.5.8.tar.gz";,
       "externalRefs": [
         {
           "referenceCategory": "SECURITY",
-          "referenceLocator": "cpe:2.3:a:openssl:openssl:3.0.22:*:*:*:*:*:*:*",
+          "referenceLocator": "cpe:2.3:a:openssl:openssl:3.5.8:*:*:*:*:*:*:*",
           "referenceType": "cpe23Type"
         }
       ],
       "licenseConcluded": "NOASSERTION",
       "name": "openssl",
       "primaryPackagePurpose": "SOURCE",
-      "versionInfo": "3.0.22"
+      "versionInfo": "3.5.8"
     },
     {
       "SPDXID": "SPDXRef-PACKAGE-sqlite",
diff --git a/Modules/_ssl_data_31.h b/Modules/_ssl_data_31.h
index c589c501f4e9488..0b054624507ac09 100644
--- a/Modules/_ssl_data_31.h
+++ b/Modules/_ssl_data_31.h
@@ -1,4 +1,10 @@
-/* File generated by Tools/ssl/make_ssl_data.py *//* Generated on 
2023-06-01T03:04:00.275280 */
+/* File generated by Tools/ssl/make_ssl_data.py */
+/* Generated on 2026-08-25T19:23:56.859950+00:00 */
+/* Generated from Git commit openssl-3.6.4-0-gd3c1b1169 */
+/* Manually backported from 396f1ddbb109 on 2026-09-23T16:19:26.398952+00:00
+ * with ERR_LIB_MASK and ERR_LIB_OFFSET deletions reverted. */
+
+/* generated from args.lib2errnum */
 static struct py_ssl_library_code library_codes[] = {
 #ifdef ERR_LIB_ASN1
     {"ASN1", ERR_LIB_ASN1},
@@ -165,10 +171,10 @@ static struct py_ssl_library_code library_codes[] = {
 #ifdef ERR_LIB_X509V3
     {"X509V3", ERR_LIB_X509V3},
 #endif
-    { NULL }
+    {NULL, 0}  /* sentinel */
 };
 
-
+/* generated from args.reasons */
 static struct py_ssl_error_code error_codes[] = {
   #ifdef ASN1_R_ADDING_OBJECT
     {"ADDING_OBJECT", ERR_LIB_ASN1, ASN1_R_ADDING_OBJECT},
@@ -300,6 +306,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"FIRST_NUM_TOO_LARGE", 13, 122},
   #endif
+  #ifdef ASN1_R_GENERALIZEDTIME_IS_TOO_SHORT
+    {"GENERALIZEDTIME_IS_TOO_SHORT", ERR_LIB_ASN1, 
ASN1_R_GENERALIZEDTIME_IS_TOO_SHORT},
+  #else
+    {"GENERALIZEDTIME_IS_TOO_SHORT", 13, 232},
+  #endif
   #ifdef ASN1_R_HEADER_TOO_LONG
     {"HEADER_TOO_LONG", ERR_LIB_ASN1, ASN1_R_HEADER_TOO_LONG},
   #else
@@ -730,6 +741,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNSUPPORTED_TYPE", 13, 196},
   #endif
+  #ifdef ASN1_R_UTCTIME_IS_TOO_SHORT
+    {"UTCTIME_IS_TOO_SHORT", ERR_LIB_ASN1, ASN1_R_UTCTIME_IS_TOO_SHORT},
+  #else
+    {"UTCTIME_IS_TOO_SHORT", 13, 233},
+  #endif
   #ifdef ASN1_R_WRONG_INTEGER_TYPE
     {"WRONG_INTEGER_TYPE", ERR_LIB_ASN1, ASN1_R_WRONG_INTEGER_TYPE},
   #else
@@ -845,6 +861,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"LISTEN_V6_ONLY", 32, 136},
   #endif
+  #ifdef BIO_R_LOCAL_ADDR_NOT_AVAILABLE
+    {"LOCAL_ADDR_NOT_AVAILABLE", ERR_LIB_BIO, BIO_R_LOCAL_ADDR_NOT_AVAILABLE},
+  #else
+    {"LOCAL_ADDR_NOT_AVAILABLE", 32, 111},
+  #endif
   #ifdef BIO_R_LOOKUP_RETURNED_NOTHING
     {"LOOKUP_RETURNED_NOTHING", ERR_LIB_BIO, BIO_R_LOOKUP_RETURNED_NOTHING},
   #else
@@ -860,6 +881,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"NBIO_CONNECT_ERROR", 32, 110},
   #endif
+  #ifdef BIO_R_NON_FATAL
+    {"NON_FATAL", ERR_LIB_BIO, BIO_R_NON_FATAL},
+  #else
+    {"NON_FATAL", 32, 112},
+  #endif
   #ifdef BIO_R_NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED
     {"NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED", ERR_LIB_BIO, 
BIO_R_NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED},
   #else
@@ -880,6 +906,26 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"NO_SUCH_FILE", 32, 128},
   #endif
+  #ifdef BIO_R_PEER_ADDR_NOT_AVAILABLE
+    {"PEER_ADDR_NOT_AVAILABLE", ERR_LIB_BIO, BIO_R_PEER_ADDR_NOT_AVAILABLE},
+  #else
+    {"PEER_ADDR_NOT_AVAILABLE", 32, 114},
+  #endif
+  #ifdef BIO_R_PORT_MISMATCH
+    {"PORT_MISMATCH", ERR_LIB_BIO, BIO_R_PORT_MISMATCH},
+  #else
+    {"PORT_MISMATCH", 32, 150},
+  #endif
+  #ifdef BIO_R_TFO_DISABLED
+    {"TFO_DISABLED", ERR_LIB_BIO, BIO_R_TFO_DISABLED},
+  #else
+    {"TFO_DISABLED", 32, 106},
+  #endif
+  #ifdef BIO_R_TFO_NO_KERNEL_SUPPORT
+    {"TFO_NO_KERNEL_SUPPORT", ERR_LIB_BIO, BIO_R_TFO_NO_KERNEL_SUPPORT},
+  #else
+    {"TFO_NO_KERNEL_SUPPORT", 32, 108},
+  #endif
   #ifdef BIO_R_TRANSFER_ERROR
     {"TRANSFER_ERROR", ERR_LIB_BIO, BIO_R_TRANSFER_ERROR},
   #else
@@ -920,6 +966,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNABLE_TO_REUSEADDR", 32, 139},
   #endif
+  #ifdef BIO_R_UNABLE_TO_TFO
+    {"UNABLE_TO_TFO", ERR_LIB_BIO, BIO_R_UNABLE_TO_TFO},
+  #else
+    {"UNABLE_TO_TFO", 32, 109},
+  #endif
   #ifdef BIO_R_UNAVAILABLE_IP_FAMILY
     {"UNAVAILABLE_IP_FAMILY", ERR_LIB_BIO, BIO_R_UNAVAILABLE_IP_FAMILY},
   #else
@@ -1230,11 +1281,21 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"ERROR_VALIDATING_SIGNATURE", 58, 171},
   #endif
+  #ifdef CMP_R_EXPECTED_POLLREQ
+    {"EXPECTED_POLLREQ", ERR_LIB_CMP, CMP_R_EXPECTED_POLLREQ},
+  #else
+    {"EXPECTED_POLLREQ", 58, 104},
+  #endif
   #ifdef CMP_R_FAILED_BUILDING_OWN_CHAIN
     {"FAILED_BUILDING_OWN_CHAIN", ERR_LIB_CMP, 
CMP_R_FAILED_BUILDING_OWN_CHAIN},
   #else
     {"FAILED_BUILDING_OWN_CHAIN", 58, 164},
   #endif
+  #ifdef CMP_R_FAILED_EXTRACTING_CENTRAL_GEN_KEY
+    {"FAILED_EXTRACTING_CENTRAL_GEN_KEY", ERR_LIB_CMP, 
CMP_R_FAILED_EXTRACTING_CENTRAL_GEN_KEY},
+  #else
+    {"FAILED_EXTRACTING_CENTRAL_GEN_KEY", 58, 203},
+  #endif
   #ifdef CMP_R_FAILED_EXTRACTING_PUBKEY
     {"FAILED_EXTRACTING_PUBKEY", ERR_LIB_CMP, CMP_R_FAILED_EXTRACTING_PUBKEY},
   #else
@@ -1250,16 +1311,56 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"FAIL_INFO_OUT_OF_RANGE", 58, 129},
   #endif
+  #ifdef CMP_R_GENERATE_CERTREQTEMPLATE
+    {"GENERATE_CERTREQTEMPLATE", ERR_LIB_CMP, CMP_R_GENERATE_CERTREQTEMPLATE},
+  #else
+    {"GENERATE_CERTREQTEMPLATE", 58, 197},
+  #endif
+  #ifdef CMP_R_GENERATE_CRLSTATUS
+    {"GENERATE_CRLSTATUS", ERR_LIB_CMP, CMP_R_GENERATE_CRLSTATUS},
+  #else
+    {"GENERATE_CRLSTATUS", 58, 198},
+  #endif
+  #ifdef CMP_R_GETTING_GENP
+    {"GETTING_GENP", ERR_LIB_CMP, CMP_R_GETTING_GENP},
+  #else
+    {"GETTING_GENP", 58, 192},
+  #endif
+  #ifdef CMP_R_GET_ITAV
+    {"GET_ITAV", ERR_LIB_CMP, CMP_R_GET_ITAV},
+  #else
+    {"GET_ITAV", 58, 199},
+  #endif
   #ifdef CMP_R_INVALID_ARGS
     {"INVALID_ARGS", ERR_LIB_CMP, CMP_R_INVALID_ARGS},
   #else
     {"INVALID_ARGS", 58, 100},
   #endif
+  #ifdef CMP_R_INVALID_GENP
+    {"INVALID_GENP", ERR_LIB_CMP, CMP_R_INVALID_GENP},
+  #else
+    {"INVALID_GENP", 58, 193},
+  #endif
+  #ifdef CMP_R_INVALID_KEYSPEC
+    {"INVALID_KEYSPEC", ERR_LIB_CMP, CMP_R_INVALID_KEYSPEC},
+  #else
+    {"INVALID_KEYSPEC", 58, 202},
+  #endif
   #ifdef CMP_R_INVALID_OPTION
     {"INVALID_OPTION", ERR_LIB_CMP, CMP_R_INVALID_OPTION},
   #else
     {"INVALID_OPTION", 58, 174},
   #endif
+  #ifdef CMP_R_INVALID_ROOTCAKEYUPDATE
+    {"INVALID_ROOTCAKEYUPDATE", ERR_LIB_CMP, CMP_R_INVALID_ROOTCAKEYUPDATE},
+  #else
+    {"INVALID_ROOTCAKEYUPDATE", 58, 195},
+  #endif
+  #ifdef CMP_R_MISSING_CENTRAL_GEN_KEY
+    {"MISSING_CENTRAL_GEN_KEY", ERR_LIB_CMP, CMP_R_MISSING_CENTRAL_GEN_KEY},
+  #else
+    {"MISSING_CENTRAL_GEN_KEY", 58, 204},
+  #endif
   #ifdef CMP_R_MISSING_CERTID
     {"MISSING_CERTID", ERR_LIB_CMP, CMP_R_MISSING_CERTID},
   #else
@@ -1425,6 +1526,26 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"TRANSFER_ERROR", 58, 159},
   #endif
+  #ifdef CMP_R_UNCLEAN_CTX
+    {"UNCLEAN_CTX", ERR_LIB_CMP, CMP_R_UNCLEAN_CTX},
+  #else
+    {"UNCLEAN_CTX", 58, 191},
+  #endif
+  #ifdef CMP_R_UNEXPECTED_CENTRAL_GEN_KEY
+    {"UNEXPECTED_CENTRAL_GEN_KEY", ERR_LIB_CMP, 
CMP_R_UNEXPECTED_CENTRAL_GEN_KEY},
+  #else
+    {"UNEXPECTED_CENTRAL_GEN_KEY", 58, 205},
+  #endif
+  #ifdef CMP_R_UNEXPECTED_CERTPROFILE
+    {"UNEXPECTED_CERTPROFILE", ERR_LIB_CMP, CMP_R_UNEXPECTED_CERTPROFILE},
+  #else
+    {"UNEXPECTED_CERTPROFILE", 58, 196},
+  #endif
+  #ifdef CMP_R_UNEXPECTED_CRLSTATUSLIST
+    {"UNEXPECTED_CRLSTATUSLIST", ERR_LIB_CMP, CMP_R_UNEXPECTED_CRLSTATUSLIST},
+  #else
+    {"UNEXPECTED_CRLSTATUSLIST", 58, 201},
+  #endif
   #ifdef CMP_R_UNEXPECTED_PKIBODY
     {"UNEXPECTED_PKIBODY", ERR_LIB_CMP, CMP_R_UNEXPECTED_PKIBODY},
   #else
@@ -1435,11 +1556,21 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNEXPECTED_PKISTATUS", 58, 185},
   #endif
+  #ifdef CMP_R_UNEXPECTED_POLLREQ
+    {"UNEXPECTED_POLLREQ", ERR_LIB_CMP, CMP_R_UNEXPECTED_POLLREQ},
+  #else
+    {"UNEXPECTED_POLLREQ", 58, 105},
+  #endif
   #ifdef CMP_R_UNEXPECTED_PVNO
     {"UNEXPECTED_PVNO", ERR_LIB_CMP, CMP_R_UNEXPECTED_PVNO},
   #else
     {"UNEXPECTED_PVNO", 58, 153},
   #endif
+  #ifdef CMP_R_UNEXPECTED_SENDER
+    {"UNEXPECTED_SENDER", ERR_LIB_CMP, CMP_R_UNEXPECTED_SENDER},
+  #else
+    {"UNEXPECTED_SENDER", 58, 106},
+  #endif
   #ifdef CMP_R_UNKNOWN_ALGORITHM_ID
     {"UNKNOWN_ALGORITHM_ID", ERR_LIB_CMP, CMP_R_UNKNOWN_ALGORITHM_ID},
   #else
@@ -1450,6 +1581,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNKNOWN_CERT_TYPE", 58, 135},
   #endif
+  #ifdef CMP_R_UNKNOWN_CRL_ISSUER
+    {"UNKNOWN_CRL_ISSUER", ERR_LIB_CMP, CMP_R_UNKNOWN_CRL_ISSUER},
+  #else
+    {"UNKNOWN_CRL_ISSUER", 58, 200},
+  #endif
   #ifdef CMP_R_UNKNOWN_PKISTATUS
     {"UNKNOWN_PKISTATUS", ERR_LIB_CMP, CMP_R_UNKNOWN_PKISTATUS},
   #else
@@ -1465,6 +1601,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNSUPPORTED_KEY_TYPE", 58, 137},
   #endif
+  #ifdef CMP_R_UNSUPPORTED_PKIBODY
+    {"UNSUPPORTED_PKIBODY", ERR_LIB_CMP, CMP_R_UNSUPPORTED_PKIBODY},
+  #else
+    {"UNSUPPORTED_PKIBODY", 58, 101},
+  #endif
   #ifdef CMP_R_UNSUPPORTED_PROTECTION_ALG_DHBASEDMAC
     {"UNSUPPORTED_PROTECTION_ALG_DHBASEDMAC", ERR_LIB_CMP, 
CMP_R_UNSUPPORTED_PROTECTION_ALG_DHBASEDMAC},
   #else
@@ -1535,6 +1676,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"CERTIFICATE_VERIFY_ERROR", 46, 100},
   #endif
+  #ifdef CMS_R_CIPHER_AEAD_IN_ENVELOPED_DATA
+    {"CIPHER_AEAD_IN_ENVELOPED_DATA", ERR_LIB_CMS, 
CMS_R_CIPHER_AEAD_IN_ENVELOPED_DATA},
+  #else
+    {"CIPHER_AEAD_IN_ENVELOPED_DATA", 46, 200},
+  #endif
   #ifdef CMS_R_CIPHER_AEAD_SET_TAG_ERROR
     {"CIPHER_AEAD_SET_TAG_ERROR", ERR_LIB_CMS, 
CMS_R_CIPHER_AEAD_SET_TAG_ERROR},
   #else
@@ -1640,6 +1786,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"ERROR_SETTING_RECIPIENTINFO", 46, 116},
   #endif
+  #ifdef CMS_R_ERROR_UNSUPPORTED_STATIC_KEY_AGREEMENT
+    {"ERROR_UNSUPPORTED_STATIC_KEY_AGREEMENT", ERR_LIB_CMS, 
CMS_R_ERROR_UNSUPPORTED_STATIC_KEY_AGREEMENT},
+  #else
+    {"ERROR_UNSUPPORTED_STATIC_KEY_AGREEMENT", 46, 196},
+  #endif
   #ifdef CMS_R_ESS_SIGNING_CERTID_MISMATCH_ERROR
     {"ESS_SIGNING_CERTID_MISMATCH_ERROR", ERR_LIB_CMS, 
CMS_R_ESS_SIGNING_CERTID_MISMATCH_ERROR},
   #else
@@ -1725,6 +1876,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"NOT_KEK", 46, 123},
   #endif
+  #ifdef CMS_R_NOT_KEM
+    {"NOT_KEM", ERR_LIB_CMS, CMS_R_NOT_KEM},
+  #else
+    {"NOT_KEM", 46, 197},
+  #endif
   #ifdef CMS_R_NOT_KEY_AGREEMENT
     {"NOT_KEY_AGREEMENT", ERR_LIB_CMS, CMS_R_NOT_KEY_AGREEMENT},
   #else
@@ -1825,6 +1981,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"NO_SIGNERS", 46, 135},
   #endif
+  #ifdef CMS_R_OPERATION_UNSUPPORTED
+    {"OPERATION_UNSUPPORTED", ERR_LIB_CMS, CMS_R_OPERATION_UNSUPPORTED},
+  #else
+    {"OPERATION_UNSUPPORTED", 46, 182},
+  #endif
   #ifdef CMS_R_PEER_KEY_ERROR
     {"PEER_KEY_ERROR", ERR_LIB_CMS, CMS_R_PEER_KEY_ERROR},
   #else
@@ -1915,6 +2076,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNKNOWN_ID", 46, 150},
   #endif
+  #ifdef CMS_R_UNKNOWN_KDF_ALGORITHM
+    {"UNKNOWN_KDF_ALGORITHM", ERR_LIB_CMS, CMS_R_UNKNOWN_KDF_ALGORITHM},
+  #else
+    {"UNKNOWN_KDF_ALGORITHM", 46, 198},
+  #endif
   #ifdef CMS_R_UNSUPPORTED_COMPRESSION_ALGORITHM
     {"UNSUPPORTED_COMPRESSION_ALGORITHM", ERR_LIB_CMS, 
CMS_R_UNSUPPORTED_COMPRESSION_ALGORITHM},
   #else
@@ -1935,6 +2101,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNSUPPORTED_ENCRYPTION_TYPE", 46, 192},
   #endif
+  #ifdef CMS_R_UNSUPPORTED_KDF_ALGORITHM
+    {"UNSUPPORTED_KDF_ALGORITHM", ERR_LIB_CMS, 
CMS_R_UNSUPPORTED_KDF_ALGORITHM},
+  #else
+    {"UNSUPPORTED_KDF_ALGORITHM", 46, 199},
+  #endif
   #ifdef CMS_R_UNSUPPORTED_KEK_ALGORITHM
     {"UNSUPPORTED_KEK_ALGORITHM", ERR_LIB_CMS, 
CMS_R_UNSUPPORTED_KEK_ALGORITHM},
   #else
@@ -1960,6 +2131,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNSUPPORTED_RECIPIENT_TYPE", 46, 154},
   #endif
+  #ifdef CMS_R_UNSUPPORTED_SIGNATURE_ALGORITHM
+    {"UNSUPPORTED_SIGNATURE_ALGORITHM", ERR_LIB_CMS, 
CMS_R_UNSUPPORTED_SIGNATURE_ALGORITHM},
+  #else
+    {"UNSUPPORTED_SIGNATURE_ALGORITHM", 46, 195},
+  #endif
   #ifdef CMS_R_UNSUPPORTED_TYPE
     {"UNSUPPORTED_TYPE", ERR_LIB_CMS, CMS_R_UNSUPPORTED_TYPE},
   #else
@@ -1985,6 +2161,21 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"WRAP_ERROR", 46, 159},
   #endif
+  #ifdef COMP_R_BROTLI_DECODE_ERROR
+    {"BROTLI_DECODE_ERROR", ERR_LIB_COMP, COMP_R_BROTLI_DECODE_ERROR},
+  #else
+    {"BROTLI_DECODE_ERROR", 41, 102},
+  #endif
+  #ifdef COMP_R_BROTLI_ENCODE_ERROR
+    {"BROTLI_ENCODE_ERROR", ERR_LIB_COMP, COMP_R_BROTLI_ENCODE_ERROR},
+  #else
+    {"BROTLI_ENCODE_ERROR", 41, 103},
+  #endif
+  #ifdef COMP_R_BROTLI_NOT_SUPPORTED
+    {"BROTLI_NOT_SUPPORTED", ERR_LIB_COMP, COMP_R_BROTLI_NOT_SUPPORTED},
+  #else
+    {"BROTLI_NOT_SUPPORTED", 41, 104},
+  #endif
   #ifdef COMP_R_ZLIB_DEFLATE_ERROR
     {"ZLIB_DEFLATE_ERROR", ERR_LIB_COMP, COMP_R_ZLIB_DEFLATE_ERROR},
   #else
@@ -2000,6 +2191,26 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"ZLIB_NOT_SUPPORTED", 41, 101},
   #endif
+  #ifdef COMP_R_ZSTD_COMPRESS_ERROR
+    {"ZSTD_COMPRESS_ERROR", ERR_LIB_COMP, COMP_R_ZSTD_COMPRESS_ERROR},
+  #else
+    {"ZSTD_COMPRESS_ERROR", 41, 105},
+  #endif
+  #ifdef COMP_R_ZSTD_DECODE_ERROR
+    {"ZSTD_DECODE_ERROR", ERR_LIB_COMP, COMP_R_ZSTD_DECODE_ERROR},
+  #else
+    {"ZSTD_DECODE_ERROR", 41, 106},
+  #endif
+  #ifdef COMP_R_ZSTD_DECOMPRESS_ERROR
+    {"ZSTD_DECOMPRESS_ERROR", ERR_LIB_COMP, COMP_R_ZSTD_DECOMPRESS_ERROR},
+  #else
+    {"ZSTD_DECOMPRESS_ERROR", 41, 107},
+  #endif
+  #ifdef COMP_R_ZSTD_NOT_SUPPORTED
+    {"ZSTD_NOT_SUPPORTED", ERR_LIB_COMP, COMP_R_ZSTD_NOT_SUPPORTED},
+  #else
+    {"ZSTD_NOT_SUPPORTED", 41, 108},
+  #endif
   #ifdef CONF_R_ERROR_LOADING_DSO
     {"ERROR_LOADING_DSO", ERR_LIB_CONF, CONF_R_ERROR_LOADING_DSO},
   #else
@@ -2085,6 +2296,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"RECURSIVE_DIRECTORY_INCLUDE", 14, 111},
   #endif
+  #ifdef CONF_R_RECURSIVE_SECTION_REFERENCE
+    {"RECURSIVE_SECTION_REFERENCE", ERR_LIB_CONF, 
CONF_R_RECURSIVE_SECTION_REFERENCE},
+  #else
+    {"RECURSIVE_SECTION_REFERENCE", 14, 126},
+  #endif
   #ifdef CONF_R_RELATIVE_PATH
     {"RELATIVE_PATH", ERR_LIB_CONF, CONF_R_RELATIVE_PATH},
   #else
@@ -2135,6 +2351,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"BAD_PBM_ITERATIONCOUNT", 56, 100},
   #endif
+  #ifdef CRMF_R_CMS_NOT_SUPPORTED
+    {"CMS_NOT_SUPPORTED", ERR_LIB_CRMF, CRMF_R_CMS_NOT_SUPPORTED},
+  #else
+    {"CMS_NOT_SUPPORTED", 56, 122},
+  #endif
   #ifdef CRMF_R_CRMFERROR
     {"CRMFERROR", ERR_LIB_CRMF, CRMF_R_CRMFERROR},
   #else
@@ -2150,16 +2371,41 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"ERROR_DECODING_CERTIFICATE", 56, 104},
   #endif
+  #ifdef CRMF_R_ERROR_DECODING_ENCRYPTEDKEY
+    {"ERROR_DECODING_ENCRYPTEDKEY", ERR_LIB_CRMF, 
CRMF_R_ERROR_DECODING_ENCRYPTEDKEY},
+  #else
+    {"ERROR_DECODING_ENCRYPTEDKEY", 56, 123},
+  #endif
   #ifdef CRMF_R_ERROR_DECRYPTING_CERTIFICATE
     {"ERROR_DECRYPTING_CERTIFICATE", ERR_LIB_CRMF, 
CRMF_R_ERROR_DECRYPTING_CERTIFICATE},
   #else
     {"ERROR_DECRYPTING_CERTIFICATE", 56, 105},
   #endif
+  #ifdef CRMF_R_ERROR_DECRYPTING_ENCRYPTEDKEY
+    {"ERROR_DECRYPTING_ENCRYPTEDKEY", ERR_LIB_CRMF, 
CRMF_R_ERROR_DECRYPTING_ENCRYPTEDKEY},
+  #else
+    {"ERROR_DECRYPTING_ENCRYPTEDKEY", 56, 124},
+  #endif
+  #ifdef CRMF_R_ERROR_DECRYPTING_ENCRYPTEDVALUE
+    {"ERROR_DECRYPTING_ENCRYPTEDVALUE", ERR_LIB_CRMF, 
CRMF_R_ERROR_DECRYPTING_ENCRYPTEDVALUE},
+  #else
+    {"ERROR_DECRYPTING_ENCRYPTEDVALUE", 56, 125},
+  #endif
   #ifdef CRMF_R_ERROR_DECRYPTING_SYMMETRIC_KEY
     {"ERROR_DECRYPTING_SYMMETRIC_KEY", ERR_LIB_CRMF, 
CRMF_R_ERROR_DECRYPTING_SYMMETRIC_KEY},
   #else
     {"ERROR_DECRYPTING_SYMMETRIC_KEY", 56, 106},
   #endif
+  #ifdef CRMF_R_ERROR_SETTING_PURPOSE
+    {"ERROR_SETTING_PURPOSE", ERR_LIB_CRMF, CRMF_R_ERROR_SETTING_PURPOSE},
+  #else
+    {"ERROR_SETTING_PURPOSE", 56, 126},
+  #endif
+  #ifdef CRMF_R_ERROR_VERIFYING_ENCRYPTEDKEY
+    {"ERROR_VERIFYING_ENCRYPTEDKEY", ERR_LIB_CRMF, 
CRMF_R_ERROR_VERIFYING_ENCRYPTEDKEY},
+  #else
+    {"ERROR_VERIFYING_ENCRYPTEDKEY", 56, 127},
+  #endif
   #ifdef CRMF_R_FAILURE_OBTAINING_RANDOM
     {"FAILURE_OBTAINING_RANDOM", ERR_LIB_CRMF, 
CRMF_R_FAILURE_OBTAINING_RANDOM},
   #else
@@ -2185,6 +2431,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"POPOSKINPUT_NOT_SUPPORTED", 56, 113},
   #endif
+  #ifdef CRMF_R_POPO_INCONSISTENT_CENTRAL_KEYGEN
+    {"POPO_INCONSISTENT_CENTRAL_KEYGEN", ERR_LIB_CRMF, 
CRMF_R_POPO_INCONSISTENT_CENTRAL_KEYGEN},
+  #else
+    {"POPO_INCONSISTENT_CENTRAL_KEYGEN", 56, 128},
+  #endif
   #ifdef CRMF_R_POPO_INCONSISTENT_PUBLIC_KEY
     {"POPO_INCONSISTENT_PUBLIC_KEY", ERR_LIB_CRMF, 
CRMF_R_POPO_INCONSISTENT_PUBLIC_KEY},
   #else
@@ -2370,6 +2621,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"TOO_MANY_BYTES", 15, 113},
   #endif
+  #ifdef CRYPTO_R_TOO_MANY_NAMES
+    {"TOO_MANY_NAMES", ERR_LIB_CRYPTO, CRYPTO_R_TOO_MANY_NAMES},
+  #else
+    {"TOO_MANY_NAMES", 15, 132},
+  #endif
   #ifdef CRYPTO_R_TOO_MANY_RECORDS
     {"TOO_MANY_RECORDS", ERR_LIB_CRYPTO, CRYPTO_R_TOO_MANY_RECORDS},
   #else
@@ -2560,6 +2816,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"INVALID_SECRET", 5, 128},
   #endif
+  #ifdef DH_R_INVALID_SIZE
+    {"INVALID_SIZE", ERR_LIB_DH, DH_R_INVALID_SIZE},
+  #else
+    {"INVALID_SIZE", 5, 129},
+  #endif
   #ifdef DH_R_KDF_PARAMETER_ERROR
     {"KDF_PARAMETER_ERROR", ERR_LIB_DH, DH_R_KDF_PARAMETER_ERROR},
   #else
@@ -2610,6 +2871,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"PEER_KEY_ERROR", 5, 111},
   #endif
+  #ifdef DH_R_Q_TOO_LARGE
+    {"Q_TOO_LARGE", ERR_LIB_DH, DH_R_Q_TOO_LARGE},
+  #else
+    {"Q_TOO_LARGE", 5, 130},
+  #endif
   #ifdef DH_R_SHARED_INFO_ERROR
     {"SHARED_INFO_ERROR", ERR_LIB_DH, DH_R_SHARED_INFO_ERROR},
   #else
@@ -3545,6 +3811,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"GENERATE_ERROR", 6, 214},
   #endif
+  #ifdef EVP_R_GETTING_ALGORITHMIDENTIFIER_NOT_SUPPORTED
+    {"GETTING_ALGORITHMIDENTIFIER_NOT_SUPPORTED", ERR_LIB_EVP, 
EVP_R_GETTING_ALGORITHMIDENTIFIER_NOT_SUPPORTED},
+  #else
+    {"GETTING_ALGORITHMIDENTIFIER_NOT_SUPPORTED", 6, 229},
+  #endif
   #ifdef EVP_R_GET_RAW_KEY_FAILED
     {"GET_RAW_KEY_FAILED", ERR_LIB_EVP, EVP_R_GET_RAW_KEY_FAILED},
   #else
@@ -3745,6 +4016,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE", 6, 150},
   #endif
+  #ifdef EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_SIGNATURE_TYPE
+    {"OPERATION_NOT_SUPPORTED_FOR_THIS_SIGNATURE_TYPE", ERR_LIB_EVP, 
EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_SIGNATURE_TYPE},
+  #else
+    {"OPERATION_NOT_SUPPORTED_FOR_THIS_SIGNATURE_TYPE", 6, 226},
+  #endif
   #ifdef EVP_R_OUTPUT_WOULD_OVERFLOW
     {"OUTPUT_WOULD_OVERFLOW", ERR_LIB_EVP, EVP_R_OUTPUT_WOULD_OVERFLOW},
   #else
@@ -3765,6 +4041,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"PBKDF2_ERROR", 6, 181},
   #endif
+  #ifdef EVP_R_PIPELINE_NOT_SUPPORTED
+    {"PIPELINE_NOT_SUPPORTED", ERR_LIB_EVP, EVP_R_PIPELINE_NOT_SUPPORTED},
+  #else
+    {"PIPELINE_NOT_SUPPORTED", 6, 230},
+  #endif
   #ifdef EVP_R_PKEY_APPLICATION_ASN1_METHOD_ALREADY_REGISTERED
     {"PKEY_APPLICATION_ASN1_METHOD_ALREADY_REGISTERED", ERR_LIB_EVP, 
EVP_R_PKEY_APPLICATION_ASN1_METHOD_ALREADY_REGISTERED},
   #else
@@ -3780,6 +4061,36 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"PRIVATE_KEY_ENCODE_ERROR", 6, 146},
   #endif
+  #ifdef EVP_R_PROVIDER_ASYM_CIPHER_FAILURE
+    {"PROVIDER_ASYM_CIPHER_FAILURE", ERR_LIB_EVP, 
EVP_R_PROVIDER_ASYM_CIPHER_FAILURE},
+  #else
+    {"PROVIDER_ASYM_CIPHER_FAILURE", 6, 232},
+  #endif
+  #ifdef EVP_R_PROVIDER_ASYM_CIPHER_NOT_SUPPORTED
+    {"PROVIDER_ASYM_CIPHER_NOT_SUPPORTED", ERR_LIB_EVP, 
EVP_R_PROVIDER_ASYM_CIPHER_NOT_SUPPORTED},
+  #else
+    {"PROVIDER_ASYM_CIPHER_NOT_SUPPORTED", 6, 235},
+  #endif
+  #ifdef EVP_R_PROVIDER_KEYMGMT_FAILURE
+    {"PROVIDER_KEYMGMT_FAILURE", ERR_LIB_EVP, EVP_R_PROVIDER_KEYMGMT_FAILURE},
+  #else
+    {"PROVIDER_KEYMGMT_FAILURE", 6, 233},
+  #endif
+  #ifdef EVP_R_PROVIDER_KEYMGMT_NOT_SUPPORTED
+    {"PROVIDER_KEYMGMT_NOT_SUPPORTED", ERR_LIB_EVP, 
EVP_R_PROVIDER_KEYMGMT_NOT_SUPPORTED},
+  #else
+    {"PROVIDER_KEYMGMT_NOT_SUPPORTED", 6, 236},
+  #endif
+  #ifdef EVP_R_PROVIDER_SIGNATURE_FAILURE
+    {"PROVIDER_SIGNATURE_FAILURE", ERR_LIB_EVP, 
EVP_R_PROVIDER_SIGNATURE_FAILURE},
+  #else
+    {"PROVIDER_SIGNATURE_FAILURE", 6, 234},
+  #endif
+  #ifdef EVP_R_PROVIDER_SIGNATURE_NOT_SUPPORTED
+    {"PROVIDER_SIGNATURE_NOT_SUPPORTED", ERR_LIB_EVP, 
EVP_R_PROVIDER_SIGNATURE_NOT_SUPPORTED},
+  #else
+    {"PROVIDER_SIGNATURE_NOT_SUPPORTED", 6, 237},
+  #endif
   #ifdef EVP_R_PUBLIC_KEY_NOT_RSA
     {"PUBLIC_KEY_NOT_RSA", ERR_LIB_EVP, EVP_R_PUBLIC_KEY_NOT_RSA},
   #else
@@ -3795,6 +4106,16 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"SET_DEFAULT_PROPERTY_FAILURE", 6, 209},
   #endif
+  #ifdef EVP_R_SIGNATURE_TYPE_AND_KEY_TYPE_INCOMPATIBLE
+    {"SIGNATURE_TYPE_AND_KEY_TYPE_INCOMPATIBLE", ERR_LIB_EVP, 
EVP_R_SIGNATURE_TYPE_AND_KEY_TYPE_INCOMPATIBLE},
+  #else
+    {"SIGNATURE_TYPE_AND_KEY_TYPE_INCOMPATIBLE", 6, 228},
+  #endif
+  #ifdef EVP_R_TOO_MANY_PIPES
+    {"TOO_MANY_PIPES", ERR_LIB_EVP, EVP_R_TOO_MANY_PIPES},
+  #else
+    {"TOO_MANY_PIPES", 6, 231},
+  #endif
   #ifdef EVP_R_TOO_MANY_RECORDS
     {"TOO_MANY_RECORDS", ERR_LIB_EVP, EVP_R_TOO_MANY_RECORDS},
   #else
@@ -3825,6 +4146,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNABLE_TO_SET_CALLBACKS", 6, 217},
   #endif
+  #ifdef EVP_R_UNKNOWN_BITS
+    {"UNKNOWN_BITS", ERR_LIB_EVP, EVP_R_UNKNOWN_BITS},
+  #else
+    {"UNKNOWN_BITS", 6, 166},
+  #endif
   #ifdef EVP_R_UNKNOWN_CIPHER
     {"UNKNOWN_CIPHER", ERR_LIB_EVP, EVP_R_UNKNOWN_CIPHER},
   #else
@@ -3840,6 +4166,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNKNOWN_KEY_TYPE", 6, 207},
   #endif
+  #ifdef EVP_R_UNKNOWN_MAX_SIZE
+    {"UNKNOWN_MAX_SIZE", ERR_LIB_EVP, EVP_R_UNKNOWN_MAX_SIZE},
+  #else
+    {"UNKNOWN_MAX_SIZE", 6, 167},
+  #endif
   #ifdef EVP_R_UNKNOWN_OPTION
     {"UNKNOWN_OPTION", ERR_LIB_EVP, EVP_R_UNKNOWN_OPTION},
   #else
@@ -3850,6 +4181,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNKNOWN_PBE_ALGORITHM", 6, 121},
   #endif
+  #ifdef EVP_R_UNKNOWN_SECURITY_BITS
+    {"UNKNOWN_SECURITY_BITS", ERR_LIB_EVP, EVP_R_UNKNOWN_SECURITY_BITS},
+  #else
+    {"UNKNOWN_SECURITY_BITS", 6, 168},
+  #endif
   #ifdef EVP_R_UNSUPPORTED_ALGORITHM
     {"UNSUPPORTED_ALGORITHM", ERR_LIB_EVP, EVP_R_UNSUPPORTED_ALGORITHM},
   #else
@@ -3935,6 +4271,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"CONNECT_FAILURE", 61, 100},
   #endif
+  #ifdef HTTP_R_CONTENT_TYPE_MISMATCH
+    {"CONTENT_TYPE_MISMATCH", ERR_LIB_HTTP, HTTP_R_CONTENT_TYPE_MISMATCH},
+  #else
+    {"CONTENT_TYPE_MISMATCH", 61, 131},
+  #endif
   #ifdef HTTP_R_ERROR_PARSING_ASN1_LENGTH
     {"ERROR_PARSING_ASN1_LENGTH", ERR_LIB_HTTP, 
HTTP_R_ERROR_PARSING_ASN1_LENGTH},
   #else
@@ -4040,6 +4381,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"RESPONSE_PARSE_ERROR", 61, 104},
   #endif
+  #ifdef HTTP_R_RESPONSE_TOO_MANY_HDRLINES
+    {"RESPONSE_TOO_MANY_HDRLINES", ERR_LIB_HTTP, 
HTTP_R_RESPONSE_TOO_MANY_HDRLINES},
+  #else
+    {"RESPONSE_TOO_MANY_HDRLINES", 61, 130},
+  #endif
   #ifdef HTTP_R_RETRY_TIMEOUT
     {"RETRY_TIMEOUT", ERR_LIB_HTTP, HTTP_R_RETRY_TIMEOUT},
   #else
@@ -4530,6 +4876,16 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNSUPPORTED_PUBLIC_KEY_TYPE", 9, 110},
   #endif
+  #ifdef PEM_R_UNSUPPORTED_PVK_KEY_TYPE
+    {"UNSUPPORTED_PVK_KEY_TYPE", ERR_LIB_PEM, PEM_R_UNSUPPORTED_PVK_KEY_TYPE},
+  #else
+    {"UNSUPPORTED_PVK_KEY_TYPE", 9, 133},
+  #endif
+  #ifdef PKCS12_R_CALLBACK_FAILED
+    {"CALLBACK_FAILED", ERR_LIB_PKCS12, PKCS12_R_CALLBACK_FAILED},
+  #else
+    {"CALLBACK_FAILED", 35, 115},
+  #endif
   #ifdef PKCS12_R_CANT_PACK_STRUCTURE
     {"CANT_PACK_STRUCTURE", ERR_LIB_PKCS12, PKCS12_R_CANT_PACK_STRUCTURE},
   #else
@@ -4920,6 +5276,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"CIPHER_OPERATION_FAILED", 57, 102},
   #endif
+  #ifdef PROV_R_COFACTOR_REQUIRED
+    {"COFACTOR_REQUIRED", ERR_LIB_PROV, PROV_R_COFACTOR_REQUIRED},
+  #else
+    {"COFACTOR_REQUIRED", 57, 236},
+  #endif
   #ifdef PROV_R_DERIVATION_FUNCTION_INIT_FAILED
     {"DERIVATION_FUNCTION_INIT_FAILED", ERR_LIB_PROV, 
PROV_R_DERIVATION_FUNCTION_INIT_FAILED},
   #else
@@ -4935,6 +5296,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"EMS_NOT_ENABLED", 57, 233},
   #endif
+  #ifdef PROV_R_ENTROPY_SOURCE_FAILED_CONTINUOUS_TESTS
+    {"ENTROPY_SOURCE_FAILED_CONTINUOUS_TESTS", ERR_LIB_PROV, 
PROV_R_ENTROPY_SOURCE_FAILED_CONTINUOUS_TESTS},
+  #else
+    {"ENTROPY_SOURCE_FAILED_CONTINUOUS_TESTS", 57, 244},
+  #endif
   #ifdef PROV_R_ENTROPY_SOURCE_STRENGTH_TOO_WEAK
     {"ENTROPY_SOURCE_STRENGTH_TOO_WEAK", ERR_LIB_PROV, 
PROV_R_ENTROPY_SOURCE_STRENGTH_TOO_WEAK},
   #else
@@ -4990,6 +5356,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"FAILED_TO_SIGN", 57, 175},
   #endif
+  #ifdef PROV_R_FINAL_CALL_OUT_OF_ORDER
+    {"FINAL_CALL_OUT_OF_ORDER", ERR_LIB_PROV, PROV_R_FINAL_CALL_OUT_OF_ORDER},
+  #else
+    {"FINAL_CALL_OUT_OF_ORDER", 57, 237},
+  #endif
   #ifdef PROV_R_FIPS_MODULE_CONDITIONAL_ERROR
     {"FIPS_MODULE_CONDITIONAL_ERROR", ERR_LIB_PROV, 
PROV_R_FIPS_MODULE_CONDITIONAL_ERROR},
   #else
@@ -5000,6 +5371,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"FIPS_MODULE_ENTERING_ERROR_STATE", 57, 224},
   #endif
+  #ifdef PROV_R_FIPS_MODULE_IMPORT_PCT_ERROR
+    {"FIPS_MODULE_IMPORT_PCT_ERROR", ERR_LIB_PROV, 
PROV_R_FIPS_MODULE_IMPORT_PCT_ERROR},
+  #else
+    {"FIPS_MODULE_IMPORT_PCT_ERROR", 57, 253},
+  #endif
   #ifdef PROV_R_FIPS_MODULE_IN_ERROR_STATE
     {"FIPS_MODULE_IN_ERROR_STATE", ERR_LIB_PROV, 
PROV_R_FIPS_MODULE_IN_ERROR_STATE},
   #else
@@ -5020,6 +5396,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"INDICATOR_INTEGRITY_FAILURE", 57, 210},
   #endif
+  #ifdef PROV_R_INIT_CALL_OUT_OF_ORDER
+    {"INIT_CALL_OUT_OF_ORDER", ERR_LIB_PROV, PROV_R_INIT_CALL_OUT_OF_ORDER},
+  #else
+    {"INIT_CALL_OUT_OF_ORDER", 57, 238},
+  #endif
   #ifdef PROV_R_INSUFFICIENT_DRBG_STRENGTH
     {"INSUFFICIENT_DRBG_STRENGTH", ERR_LIB_PROV, 
PROV_R_INSUFFICIENT_DRBG_STRENGTH},
   #else
@@ -5030,6 +5411,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"INVALID_AAD", 57, 108},
   #endif
+  #ifdef PROV_R_INVALID_AEAD
+    {"INVALID_AEAD", ERR_LIB_PROV, PROV_R_INVALID_AEAD},
+  #else
+    {"INVALID_AEAD", 57, 231},
+  #endif
   #ifdef PROV_R_INVALID_CONFIG_DATA
     {"INVALID_CONFIG_DATA", ERR_LIB_PROV, PROV_R_INVALID_CONFIG_DATA},
   #else
@@ -5070,6 +5456,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"INVALID_DIGEST_SIZE", 57, 218},
   #endif
+  #ifdef PROV_R_INVALID_EDDSA_INSTANCE_FOR_ATTEMPTED_OPERATION
+    {"INVALID_EDDSA_INSTANCE_FOR_ATTEMPTED_OPERATION", ERR_LIB_PROV, 
PROV_R_INVALID_EDDSA_INSTANCE_FOR_ATTEMPTED_OPERATION},
+  #else
+    {"INVALID_EDDSA_INSTANCE_FOR_ATTEMPTED_OPERATION", 57, 243},
+  #endif
   #ifdef PROV_R_INVALID_INPUT_LENGTH
     {"INVALID_INPUT_LENGTH", ERR_LIB_PROV, PROV_R_INVALID_INPUT_LENGTH},
   #else
@@ -5085,6 +5476,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"INVALID_IV_LENGTH", 57, 109},
   #endif
+  #ifdef PROV_R_INVALID_KDF
+    {"INVALID_KDF", ERR_LIB_PROV, PROV_R_INVALID_KDF},
+  #else
+    {"INVALID_KDF", 57, 232},
+  #endif
   #ifdef PROV_R_INVALID_KEY
     {"INVALID_KEY", ERR_LIB_PROV, PROV_R_INVALID_KEY},
   #else
@@ -5100,6 +5496,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"INVALID_MAC", 57, 151},
   #endif
+  #ifdef PROV_R_INVALID_MEMORY_SIZE
+    {"INVALID_MEMORY_SIZE", ERR_LIB_PROV, PROV_R_INVALID_MEMORY_SIZE},
+  #else
+    {"INVALID_MEMORY_SIZE", 57, 235},
+  #endif
   #ifdef PROV_R_INVALID_MGF1_MD
     {"INVALID_MGF1_MD", ERR_LIB_PROV, PROV_R_INVALID_MGF1_MD},
   #else
@@ -5120,6 +5521,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"INVALID_PADDING_MODE", 57, 168},
   #endif
+  #ifdef PROV_R_INVALID_PREHASHED_DIGEST_LENGTH
+    {"INVALID_PREHASHED_DIGEST_LENGTH", ERR_LIB_PROV, 
PROV_R_INVALID_PREHASHED_DIGEST_LENGTH},
+  #else
+    {"INVALID_PREHASHED_DIGEST_LENGTH", 57, 241},
+  #endif
   #ifdef PROV_R_INVALID_PUBINFO
     {"INVALID_PUBINFO", ERR_LIB_PROV, PROV_R_INVALID_PUBINFO},
   #else
@@ -5155,6 +5561,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"INVALID_TAG_LENGTH", 57, 118},
   #endif
+  #ifdef PROV_R_INVALID_THREAD_POOL_SIZE
+    {"INVALID_THREAD_POOL_SIZE", ERR_LIB_PROV, 
PROV_R_INVALID_THREAD_POOL_SIZE},
+  #else
+    {"INVALID_THREAD_POOL_SIZE", 57, 234},
+  #endif
   #ifdef PROV_R_INVALID_UKM_LENGTH
     {"INVALID_UKM_LENGTH", ERR_LIB_PROV, PROV_R_INVALID_UKM_LENGTH},
   #else
@@ -5265,6 +5676,16 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"MISSING_XCGHASH", 57, 135},
   #endif
+  #ifdef PROV_R_ML_DSA_NO_FORMAT
+    {"ML_DSA_NO_FORMAT", ERR_LIB_PROV, PROV_R_ML_DSA_NO_FORMAT},
+  #else
+    {"ML_DSA_NO_FORMAT", 57, 245},
+  #endif
+  #ifdef PROV_R_ML_KEM_NO_FORMAT
+    {"ML_KEM_NO_FORMAT", ERR_LIB_PROV, PROV_R_ML_KEM_NO_FORMAT},
+  #else
+    {"ML_KEM_NO_FORMAT", 57, 246},
+  #endif
   #ifdef PROV_R_MODULE_INTEGRITY_FAILURE
     {"MODULE_INTEGRITY_FAILURE", ERR_LIB_PROV, 
PROV_R_MODULE_INTEGRITY_FAILURE},
   #else
@@ -5300,6 +5721,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"NOT_XOF_OR_INVALID_LENGTH", 57, 113},
   #endif
+  #ifdef PROV_R_NO_INSTANCE_ALLOWED
+    {"NO_INSTANCE_ALLOWED", ERR_LIB_PROV, PROV_R_NO_INSTANCE_ALLOWED},
+  #else
+    {"NO_INSTANCE_ALLOWED", 57, 242},
+  #endif
   #ifdef PROV_R_NO_KEY_SET
     {"NO_KEY_SET", ERR_LIB_PROV, PROV_R_NO_KEY_SET},
   #else
@@ -5310,6 +5736,21 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"NO_PARAMETERS_SET", 57, 177},
   #endif
+  #ifdef PROV_R_NULL_LENGTH_POINTER
+    {"NULL_LENGTH_POINTER", ERR_LIB_PROV, PROV_R_NULL_LENGTH_POINTER},
+  #else
+    {"NULL_LENGTH_POINTER", 57, 247},
+  #endif
+  #ifdef PROV_R_NULL_OUTPUT_BUFFER
+    {"NULL_OUTPUT_BUFFER", ERR_LIB_PROV, PROV_R_NULL_OUTPUT_BUFFER},
+  #else
+    {"NULL_OUTPUT_BUFFER", 57, 248},
+  #endif
+  #ifdef PROV_R_ONESHOT_CALL_OUT_OF_ORDER
+    {"ONESHOT_CALL_OUT_OF_ORDER", ERR_LIB_PROV, 
PROV_R_ONESHOT_CALL_OUT_OF_ORDER},
+  #else
+    {"ONESHOT_CALL_OUT_OF_ORDER", 57, 239},
+  #endif
   #ifdef PROV_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE
     {"OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE", ERR_LIB_PROV, 
PROV_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE},
   #else
@@ -5355,6 +5796,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"PSS_SALTLEN_TOO_SMALL", 57, 172},
   #endif
+  #ifdef PROV_R_REPEATED_PARAMETER
+    {"REPEATED_PARAMETER", ERR_LIB_PROV, PROV_R_REPEATED_PARAMETER},
+  #else
+    {"REPEATED_PARAMETER", 57, 252},
+  #endif
   #ifdef PROV_R_REQUEST_TOO_LARGE_FOR_DRBG
     {"REQUEST_TOO_LARGE_FOR_DRBG", ERR_LIB_PROV, 
PROV_R_REQUEST_TOO_LARGE_FOR_DRBG},
   #else
@@ -5440,6 +5886,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNABLE_TO_RESEED", 57, 204},
   #endif
+  #ifdef PROV_R_UNEXPECTED_KEY_PARAMETERS
+    {"UNEXPECTED_KEY_PARAMETERS", ERR_LIB_PROV, 
PROV_R_UNEXPECTED_KEY_PARAMETERS},
+  #else
+    {"UNEXPECTED_KEY_PARAMETERS", 57, 249},
+  #endif
   #ifdef PROV_R_UNSUPPORTED_CEK_ALG
     {"UNSUPPORTED_CEK_ALG", ERR_LIB_PROV, PROV_R_UNSUPPORTED_CEK_ALG},
   #else
@@ -5460,6 +5911,16 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNSUPPORTED_NUMBER_OF_ROUNDS", 57, 152},
   #endif
+  #ifdef PROV_R_UNSUPPORTED_SELECTION
+    {"UNSUPPORTED_SELECTION", ERR_LIB_PROV, PROV_R_UNSUPPORTED_SELECTION},
+  #else
+    {"UNSUPPORTED_SELECTION", 57, 250},
+  #endif
+  #ifdef PROV_R_UPDATE_CALL_OUT_OF_ORDER
+    {"UPDATE_CALL_OUT_OF_ORDER", ERR_LIB_PROV, 
PROV_R_UPDATE_CALL_OUT_OF_ORDER},
+  #else
+    {"UPDATE_CALL_OUT_OF_ORDER", 57, 240},
+  #endif
   #ifdef PROV_R_URI_AUTHORITY_UNSUPPORTED
     {"URI_AUTHORITY_UNSUPPORTED", ERR_LIB_PROV, 
PROV_R_URI_AUTHORITY_UNSUPPORTED},
   #else
@@ -5470,6 +5931,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"VALUE_ERROR", 57, 138},
   #endif
+  #ifdef PROV_R_WRONG_CIPHERTEXT_SIZE
+    {"WRONG_CIPHERTEXT_SIZE", ERR_LIB_PROV, PROV_R_WRONG_CIPHERTEXT_SIZE},
+  #else
+    {"WRONG_CIPHERTEXT_SIZE", 57, 251},
+  #endif
   #ifdef PROV_R_WRONG_FINAL_BLOCK_LENGTH
     {"WRONG_FINAL_BLOCK_LENGTH", ERR_LIB_PROV, 
PROV_R_WRONG_FINAL_BLOCK_LENGTH},
   #else
@@ -5595,6 +6061,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"INTERNAL_ERROR", 36, 113},
   #endif
+  #ifdef RAND_R_INVALID_PROPERTY_QUERY
+    {"INVALID_PROPERTY_QUERY", ERR_LIB_RAND, RAND_R_INVALID_PROPERTY_QUERY},
+  #else
+    {"INVALID_PROPERTY_QUERY", 36, 137},
+  #endif
   #ifdef RAND_R_IN_ERROR_STATE
     {"IN_ERROR_STATE", ERR_LIB_RAND, RAND_R_IN_ERROR_STATE},
   #else
@@ -5640,6 +6111,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"PRNG_NOT_SEEDED", 36, 100},
   #endif
+  #ifdef RAND_R_RANDOM_POOL_IS_EMPTY
+    {"RANDOM_POOL_IS_EMPTY", ERR_LIB_RAND, RAND_R_RANDOM_POOL_IS_EMPTY},
+  #else
+    {"RANDOM_POOL_IS_EMPTY", 36, 142},
+  #endif
   #ifdef RAND_R_RANDOM_POOL_OVERFLOW
     {"RANDOM_POOL_OVERFLOW", ERR_LIB_RAND, RAND_R_RANDOM_POOL_OVERFLOW},
   #else
@@ -6210,6 +6686,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"AT_LEAST_TLS_1_2_NEEDED_IN_SUITEB_MODE", 20, 158},
   #endif
+  #ifdef SSL_R_BAD_CERTIFICATE
+    {"BAD_CERTIFICATE", ERR_LIB_SSL, SSL_R_BAD_CERTIFICATE},
+  #else
+    {"BAD_CERTIFICATE", 20, 348},
+  #endif
   #ifdef SSL_R_BAD_CHANGE_CIPHER_SPEC
     {"BAD_CHANGE_CIPHER_SPEC", ERR_LIB_SSL, SSL_R_BAD_CHANGE_CIPHER_SPEC},
   #else
@@ -6220,6 +6701,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"BAD_CIPHER", 20, 186},
   #endif
+  #ifdef SSL_R_BAD_COMPRESSION_ALGORITHM
+    {"BAD_COMPRESSION_ALGORITHM", ERR_LIB_SSL, 
SSL_R_BAD_COMPRESSION_ALGORITHM},
+  #else
+    {"BAD_COMPRESSION_ALGORITHM", 20, 326},
+  #endif
   #ifdef SSL_R_BAD_DATA
     {"BAD_DATA", ERR_LIB_SSL, SSL_R_BAD_DATA},
   #else
@@ -6495,6 +6981,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"CONNECTION_TYPE_NOT_SET", 20, 144},
   #endif
+  #ifdef SSL_R_CONN_USE_ONLY
+    {"CONN_USE_ONLY", ERR_LIB_SSL, SSL_R_CONN_USE_ONLY},
+  #else
+    {"CONN_USE_ONLY", 20, 356},
+  #endif
   #ifdef SSL_R_CONTEXT_NOT_DANE_ENABLED
     {"CONTEXT_NOT_DANE_ENABLED", ERR_LIB_SSL, SSL_R_CONTEXT_NOT_DANE_ENABLED},
   #else
@@ -6610,6 +7101,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"DIGEST_CHECK_FAILED", 20, 149},
   #endif
+  #ifdef SSL_R_DOMAIN_USE_ONLY
+    {"DOMAIN_USE_ONLY", ERR_LIB_SSL, SSL_R_DOMAIN_USE_ONLY},
+  #else
+    {"DOMAIN_USE_ONLY", 20, 422},
+  #endif
   #ifdef SSL_R_DTLS_MESSAGE_TOO_BIG
     {"DTLS_MESSAGE_TOO_BIG", ERR_LIB_SSL, SSL_R_DTLS_MESSAGE_TOO_BIG},
   #else
@@ -6635,6 +7131,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"EE_KEY_TOO_SMALL", 20, 399},
   #endif
+  #ifdef SSL_R_EMPTY_RAW_PUBLIC_KEY
+    {"EMPTY_RAW_PUBLIC_KEY", ERR_LIB_SSL, SSL_R_EMPTY_RAW_PUBLIC_KEY},
+  #else
+    {"EMPTY_RAW_PUBLIC_KEY", 20, 349},
+  #endif
   #ifdef SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST
     {"EMPTY_SRTP_PROTECTION_PROFILE_LIST", ERR_LIB_SSL, 
SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST},
   #else
@@ -6650,6 +7151,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"ERROR_IN_RECEIVED_CIPHER_LIST", 20, 151},
   #endif
+  #ifdef SSL_R_ERROR_IN_SYSTEM_DEFAULT_CONFIG
+    {"ERROR_IN_SYSTEM_DEFAULT_CONFIG", ERR_LIB_SSL, 
SSL_R_ERROR_IN_SYSTEM_DEFAULT_CONFIG},
+  #else
+    {"ERROR_IN_SYSTEM_DEFAULT_CONFIG", 20, 419},
+  #endif
   #ifdef SSL_R_ERROR_SETTING_TLSA_BASE_DOMAIN
     {"ERROR_SETTING_TLSA_BASE_DOMAIN", ERR_LIB_SSL, 
SSL_R_ERROR_SETTING_TLSA_BASE_DOMAIN},
   #else
@@ -6680,11 +7186,26 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"EXT_LENGTH_MISMATCH", 20, 163},
   #endif
+  #ifdef SSL_R_FAILED_TO_GET_PARAMETER
+    {"FAILED_TO_GET_PARAMETER", ERR_LIB_SSL, SSL_R_FAILED_TO_GET_PARAMETER},
+  #else
+    {"FAILED_TO_GET_PARAMETER", 20, 316},
+  #endif
   #ifdef SSL_R_FAILED_TO_INIT_ASYNC
     {"FAILED_TO_INIT_ASYNC", ERR_LIB_SSL, SSL_R_FAILED_TO_INIT_ASYNC},
   #else
     {"FAILED_TO_INIT_ASYNC", 20, 405},
   #endif
+  #ifdef SSL_R_FEATURE_NEGOTIATION_NOT_COMPLETE
+    {"FEATURE_NEGOTIATION_NOT_COMPLETE", ERR_LIB_SSL, 
SSL_R_FEATURE_NEGOTIATION_NOT_COMPLETE},
+  #else
+    {"FEATURE_NEGOTIATION_NOT_COMPLETE", 20, 417},
+  #endif
+  #ifdef SSL_R_FEATURE_NOT_RENEGOTIABLE
+    {"FEATURE_NOT_RENEGOTIABLE", ERR_LIB_SSL, SSL_R_FEATURE_NOT_RENEGOTIABLE},
+  #else
+    {"FEATURE_NOT_RENEGOTIABLE", 20, 413},
+  #endif
   #ifdef SSL_R_FRAGMENTED_CLIENT_HELLO
     {"FRAGMENTED_CLIENT_HELLO", ERR_LIB_SSL, SSL_R_FRAGMENTED_CLIENT_HELLO},
   #else
@@ -6805,6 +7326,16 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"INVALID_NULL_CMD_NAME", 20, 385},
   #endif
+  #ifdef SSL_R_INVALID_RAW_PUBLIC_KEY
+    {"INVALID_RAW_PUBLIC_KEY", ERR_LIB_SSL, SSL_R_INVALID_RAW_PUBLIC_KEY},
+  #else
+    {"INVALID_RAW_PUBLIC_KEY", 20, 350},
+  #endif
+  #ifdef SSL_R_INVALID_RECORD
+    {"INVALID_RECORD", ERR_LIB_SSL, SSL_R_INVALID_RECORD},
+  #else
+    {"INVALID_RECORD", 20, 317},
+  #endif
   #ifdef SSL_R_INVALID_SEQUENCE_NUMBER
     {"INVALID_SEQUENCE_NUMBER", ERR_LIB_SSL, SSL_R_INVALID_SEQUENCE_NUMBER},
   #else
@@ -6865,6 +7396,16 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"LIBRARY_HAS_NO_CIPHERS", 20, 161},
   #endif
+  #ifdef SSL_R_LISTENER_USE_ONLY
+    {"LISTENER_USE_ONLY", ERR_LIB_SSL, SSL_R_LISTENER_USE_ONLY},
+  #else
+    {"LISTENER_USE_ONLY", 20, 421},
+  #endif
+  #ifdef SSL_R_MAXIMUM_ENCRYPTED_PKTS_REACHED
+    {"MAXIMUM_ENCRYPTED_PKTS_REACHED", ERR_LIB_SSL, 
SSL_R_MAXIMUM_ENCRYPTED_PKTS_REACHED},
+  #else
+    {"MAXIMUM_ENCRYPTED_PKTS_REACHED", 20, 395},
+  #endif
   #ifdef SSL_R_MISSING_DSA_SIGNING_CERT
     {"MISSING_DSA_SIGNING_CERT", ERR_LIB_SSL, SSL_R_MISSING_DSA_SIGNING_CERT},
   #else
@@ -6890,6 +7431,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"MISSING_PSK_KEX_MODES_EXTENSION", 20, 310},
   #endif
+  #ifdef SSL_R_MISSING_QUIC_TLS_FUNCTIONS
+    {"MISSING_QUIC_TLS_FUNCTIONS", ERR_LIB_SSL, 
SSL_R_MISSING_QUIC_TLS_FUNCTIONS},
+  #else
+    {"MISSING_QUIC_TLS_FUNCTIONS", 20, 423},
+  #endif
   #ifdef SSL_R_MISSING_RSA_CERTIFICATE
     {"MISSING_RSA_CERTIFICATE", ERR_LIB_SSL, SSL_R_MISSING_RSA_CERTIFICATE},
   #else
@@ -6925,6 +7471,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"MISSING_SUPPORTED_GROUPS_EXTENSION", 20, 209},
   #endif
+  #ifdef SSL_R_MISSING_SUPPORTED_VERSIONS_EXTENSION
+    {"MISSING_SUPPORTED_VERSIONS_EXTENSION", ERR_LIB_SSL, 
SSL_R_MISSING_SUPPORTED_VERSIONS_EXTENSION},
+  #else
+    {"MISSING_SUPPORTED_VERSIONS_EXTENSION", 20, 420},
+  #endif
   #ifdef SSL_R_MISSING_TMP_DH_KEY
     {"MISSING_TMP_DH_KEY", ERR_LIB_SSL, SSL_R_MISSING_TMP_DH_KEY},
   #else
@@ -7065,6 +7616,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"NO_SRTP_PROFILES", 20, 359},
   #endif
+  #ifdef SSL_R_NO_STREAM
+    {"NO_STREAM", ERR_LIB_SSL, SSL_R_NO_STREAM},
+  #else
+    {"NO_STREAM", 20, 355},
+  #endif
   #ifdef SSL_R_NO_SUITABLE_DIGEST_ALGORITHM
     {"NO_SUITABLE_DIGEST_ALGORITHM", ERR_LIB_SSL, 
SSL_R_NO_SUITABLE_DIGEST_ALGORITHM},
   #else
@@ -7080,6 +7636,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"NO_SUITABLE_KEY_SHARE", 20, 101},
   #endif
+  #ifdef SSL_R_NO_SUITABLE_RECORD_LAYER
+    {"NO_SUITABLE_RECORD_LAYER", ERR_LIB_SSL, SSL_R_NO_SUITABLE_RECORD_LAYER},
+  #else
+    {"NO_SUITABLE_RECORD_LAYER", 20, 322},
+  #endif
   #ifdef SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM
     {"NO_SUITABLE_SIGNATURE_ALGORITHM", ERR_LIB_SSL, 
SSL_R_NO_SUITABLE_SIGNATURE_ALGORITHM},
   #else
@@ -7160,6 +7721,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"PIPELINE_FAILURE", 20, 406},
   #endif
+  #ifdef SSL_R_POLL_REQUEST_NOT_SUPPORTED
+    {"POLL_REQUEST_NOT_SUPPORTED", ERR_LIB_SSL, 
SSL_R_POLL_REQUEST_NOT_SUPPORTED},
+  #else
+    {"POLL_REQUEST_NOT_SUPPORTED", 20, 418},
+  #endif
   #ifdef SSL_R_POST_HANDSHAKE_AUTH_ENCODING_ERR
     {"POST_HANDSHAKE_AUTH_ENCODING_ERR", ERR_LIB_SSL, 
SSL_R_POST_HANDSHAKE_AUTH_ENCODING_ERR},
   #else
@@ -7190,6 +7756,21 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"PSK_NO_SERVER_CB", 20, 225},
   #endif
+  #ifdef SSL_R_QUIC_HANDSHAKE_LAYER_ERROR
+    {"QUIC_HANDSHAKE_LAYER_ERROR", ERR_LIB_SSL, 
SSL_R_QUIC_HANDSHAKE_LAYER_ERROR},
+  #else
+    {"QUIC_HANDSHAKE_LAYER_ERROR", 20, 393},
+  #endif
+  #ifdef SSL_R_QUIC_NETWORK_ERROR
+    {"QUIC_NETWORK_ERROR", ERR_LIB_SSL, SSL_R_QUIC_NETWORK_ERROR},
+  #else
+    {"QUIC_NETWORK_ERROR", 20, 387},
+  #endif
+  #ifdef SSL_R_QUIC_PROTOCOL_ERROR
+    {"QUIC_PROTOCOL_ERROR", ERR_LIB_SSL, SSL_R_QUIC_PROTOCOL_ERROR},
+  #else
+    {"QUIC_PROTOCOL_ERROR", 20, 382},
+  #endif
   #ifdef SSL_R_READ_BIO_NOT_SET
     {"READ_BIO_NOT_SET", ERR_LIB_SSL, SSL_R_READ_BIO_NOT_SET},
   #else
@@ -7200,6 +7781,16 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"READ_TIMEOUT_EXPIRED", 20, 312},
   #endif
+  #ifdef SSL_R_RECORDS_NOT_RELEASED
+    {"RECORDS_NOT_RELEASED", ERR_LIB_SSL, SSL_R_RECORDS_NOT_RELEASED},
+  #else
+    {"RECORDS_NOT_RELEASED", 20, 321},
+  #endif
+  #ifdef SSL_R_RECORD_LAYER_FAILURE
+    {"RECORD_LAYER_FAILURE", ERR_LIB_SSL, SSL_R_RECORD_LAYER_FAILURE},
+  #else
+    {"RECORD_LAYER_FAILURE", 20, 313},
+  #endif
   #ifdef SSL_R_RECORD_LENGTH_MISMATCH
     {"RECORD_LENGTH_MISMATCH", ERR_LIB_SSL, SSL_R_RECORD_LENGTH_MISMATCH},
   #else
@@ -7210,6 +7801,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"RECORD_TOO_SMALL", 20, 298},
   #endif
+  #ifdef SSL_R_REMOTE_PEER_ADDRESS_NOT_SET
+    {"REMOTE_PEER_ADDRESS_NOT_SET", ERR_LIB_SSL, 
SSL_R_REMOTE_PEER_ADDRESS_NOT_SET},
+  #else
+    {"REMOTE_PEER_ADDRESS_NOT_SET", 20, 346},
+  #endif
   #ifdef SSL_R_RENEGOTIATE_EXT_TOO_LONG
     {"RENEGOTIATE_EXT_TOO_LONG", ERR_LIB_SSL, SSL_R_RENEGOTIATE_EXT_TOO_LONG},
   #else
@@ -7255,6 +7851,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"SCT_VERIFICATION_FAILED", 20, 208},
   #endif
+  #ifdef SSL_R_SEQUENCE_CTR_WRAPPED
+    {"SEQUENCE_CTR_WRAPPED", ERR_LIB_SSL, SSL_R_SEQUENCE_CTR_WRAPPED},
+  #else
+    {"SEQUENCE_CTR_WRAPPED", 20, 327},
+  #endif
   #ifdef SSL_R_SERVERHELLO_TLSEXT
     {"SERVERHELLO_TLSEXT", ERR_LIB_SSL, SSL_R_SERVERHELLO_TLSEXT},
   #else
@@ -7325,11 +7926,26 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"SSLV3_ALERT_BAD_CERTIFICATE", 20, 1042},
   #endif
+  #ifdef SSL_R_SSLV3_ALERT_BAD_CERTIFICATE
+    {"SSLV3_ALERT_BAD_CERTIFICATE", ERR_LIB_SSL, 
SSL_R_SSLV3_ALERT_BAD_CERTIFICATE},
+  #else
+    {"SSLV3_ALERT_BAD_CERTIFICATE", 20, 1042},
+  #endif
   #ifdef SSL_R_SSLV3_ALERT_BAD_RECORD_MAC
     {"SSLV3_ALERT_BAD_RECORD_MAC", ERR_LIB_SSL, 
SSL_R_SSLV3_ALERT_BAD_RECORD_MAC},
   #else
     {"SSLV3_ALERT_BAD_RECORD_MAC", 20, 1020},
   #endif
+  #ifdef SSL_R_SSLV3_ALERT_BAD_RECORD_MAC
+    {"SSLV3_ALERT_BAD_RECORD_MAC", ERR_LIB_SSL, 
SSL_R_SSLV3_ALERT_BAD_RECORD_MAC},
+  #else
+    {"SSLV3_ALERT_BAD_RECORD_MAC", 20, 1020},
+  #endif
+  #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED
+    {"SSLV3_ALERT_CERTIFICATE_EXPIRED", ERR_LIB_SSL, 
SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED},
+  #else
+    {"SSLV3_ALERT_CERTIFICATE_EXPIRED", 20, 1045},
+  #endif
   #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED
     {"SSLV3_ALERT_CERTIFICATE_EXPIRED", ERR_LIB_SSL, 
SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED},
   #else
@@ -7340,6 +7956,16 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"SSLV3_ALERT_CERTIFICATE_REVOKED", 20, 1044},
   #endif
+  #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED
+    {"SSLV3_ALERT_CERTIFICATE_REVOKED", ERR_LIB_SSL, 
SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED},
+  #else
+    {"SSLV3_ALERT_CERTIFICATE_REVOKED", 20, 1044},
+  #endif
+  #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN
+    {"SSLV3_ALERT_CERTIFICATE_UNKNOWN", ERR_LIB_SSL, 
SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN},
+  #else
+    {"SSLV3_ALERT_CERTIFICATE_UNKNOWN", 20, 1046},
+  #endif
   #ifdef SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN
     {"SSLV3_ALERT_CERTIFICATE_UNKNOWN", ERR_LIB_SSL, 
SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN},
   #else
@@ -7350,6 +7976,16 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"SSLV3_ALERT_DECOMPRESSION_FAILURE", 20, 1030},
   #endif
+  #ifdef SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE
+    {"SSLV3_ALERT_DECOMPRESSION_FAILURE", ERR_LIB_SSL, 
SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE},
+  #else
+    {"SSLV3_ALERT_DECOMPRESSION_FAILURE", 20, 1030},
+  #endif
+  #ifdef SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE
+    {"SSLV3_ALERT_HANDSHAKE_FAILURE", ERR_LIB_SSL, 
SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE},
+  #else
+    {"SSLV3_ALERT_HANDSHAKE_FAILURE", 20, 1040},
+  #endif
   #ifdef SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE
     {"SSLV3_ALERT_HANDSHAKE_FAILURE", ERR_LIB_SSL, 
SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE},
   #else
@@ -7360,6 +7996,16 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"SSLV3_ALERT_ILLEGAL_PARAMETER", 20, 1047},
   #endif
+  #ifdef SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER
+    {"SSLV3_ALERT_ILLEGAL_PARAMETER", ERR_LIB_SSL, 
SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER},
+  #else
+    {"SSLV3_ALERT_ILLEGAL_PARAMETER", 20, 1047},
+  #endif
+  #ifdef SSL_R_SSLV3_ALERT_NO_CERTIFICATE
+    {"SSLV3_ALERT_NO_CERTIFICATE", ERR_LIB_SSL, 
SSL_R_SSLV3_ALERT_NO_CERTIFICATE},
+  #else
+    {"SSLV3_ALERT_NO_CERTIFICATE", 20, 1041},
+  #endif
   #ifdef SSL_R_SSLV3_ALERT_NO_CERTIFICATE
     {"SSLV3_ALERT_NO_CERTIFICATE", ERR_LIB_SSL, 
SSL_R_SSLV3_ALERT_NO_CERTIFICATE},
   #else
@@ -7370,6 +8016,16 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"SSLV3_ALERT_UNEXPECTED_MESSAGE", 20, 1010},
   #endif
+  #ifdef SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE
+    {"SSLV3_ALERT_UNEXPECTED_MESSAGE", ERR_LIB_SSL, 
SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE},
+  #else
+    {"SSLV3_ALERT_UNEXPECTED_MESSAGE", 20, 1010},
+  #endif
+  #ifdef SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE
+    {"SSLV3_ALERT_UNSUPPORTED_CERTIFICATE", ERR_LIB_SSL, 
SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE},
+  #else
+    {"SSLV3_ALERT_UNSUPPORTED_CERTIFICATE", 20, 1043},
+  #endif
   #ifdef SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE
     {"SSLV3_ALERT_UNSUPPORTED_CERTIFICATE", ERR_LIB_SSL, 
SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE},
   #else
@@ -7450,6 +8106,36 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"STILL_IN_INIT", 20, 121},
   #endif
+  #ifdef SSL_R_STREAM_COUNT_LIMITED
+    {"STREAM_COUNT_LIMITED", ERR_LIB_SSL, SSL_R_STREAM_COUNT_LIMITED},
+  #else
+    {"STREAM_COUNT_LIMITED", 20, 411},
+  #endif
+  #ifdef SSL_R_STREAM_FINISHED
+    {"STREAM_FINISHED", ERR_LIB_SSL, SSL_R_STREAM_FINISHED},
+  #else
+    {"STREAM_FINISHED", 20, 365},
+  #endif
+  #ifdef SSL_R_STREAM_RECV_ONLY
+    {"STREAM_RECV_ONLY", ERR_LIB_SSL, SSL_R_STREAM_RECV_ONLY},
+  #else
+    {"STREAM_RECV_ONLY", 20, 366},
+  #endif
+  #ifdef SSL_R_STREAM_RESET
+    {"STREAM_RESET", ERR_LIB_SSL, SSL_R_STREAM_RESET},
+  #else
+    {"STREAM_RESET", 20, 375},
+  #endif
+  #ifdef SSL_R_STREAM_SEND_ONLY
+    {"STREAM_SEND_ONLY", ERR_LIB_SSL, SSL_R_STREAM_SEND_ONLY},
+  #else
+    {"STREAM_SEND_ONLY", 20, 379},
+  #endif
+  #ifdef SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED
+    {"TLSV13_ALERT_CERTIFICATE_REQUIRED", ERR_LIB_SSL, 
SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED},
+  #else
+    {"TLSV13_ALERT_CERTIFICATE_REQUIRED", 20, 1116},
+  #endif
   #ifdef SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED
     {"TLSV13_ALERT_CERTIFICATE_REQUIRED", ERR_LIB_SSL, 
SSL_R_TLSV13_ALERT_CERTIFICATE_REQUIRED},
   #else
@@ -7460,6 +8146,16 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"TLSV13_ALERT_MISSING_EXTENSION", 20, 1109},
   #endif
+  #ifdef SSL_R_TLSV13_ALERT_MISSING_EXTENSION
+    {"TLSV13_ALERT_MISSING_EXTENSION", ERR_LIB_SSL, 
SSL_R_TLSV13_ALERT_MISSING_EXTENSION},
+  #else
+    {"TLSV13_ALERT_MISSING_EXTENSION", 20, 1109},
+  #endif
+  #ifdef SSL_R_TLSV1_ALERT_ACCESS_DENIED
+    {"TLSV1_ALERT_ACCESS_DENIED", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_ACCESS_DENIED},
+  #else
+    {"TLSV1_ALERT_ACCESS_DENIED", 20, 1049},
+  #endif
   #ifdef SSL_R_TLSV1_ALERT_ACCESS_DENIED
     {"TLSV1_ALERT_ACCESS_DENIED", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_ACCESS_DENIED},
   #else
@@ -7470,6 +8166,16 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"TLSV1_ALERT_DECODE_ERROR", 20, 1050},
   #endif
+  #ifdef SSL_R_TLSV1_ALERT_DECODE_ERROR
+    {"TLSV1_ALERT_DECODE_ERROR", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_DECODE_ERROR},
+  #else
+    {"TLSV1_ALERT_DECODE_ERROR", 20, 1050},
+  #endif
+  #ifdef SSL_R_TLSV1_ALERT_DECRYPTION_FAILED
+    {"TLSV1_ALERT_DECRYPTION_FAILED", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_DECRYPTION_FAILED},
+  #else
+    {"TLSV1_ALERT_DECRYPTION_FAILED", 20, 1021},
+  #endif
   #ifdef SSL_R_TLSV1_ALERT_DECRYPTION_FAILED
     {"TLSV1_ALERT_DECRYPTION_FAILED", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_DECRYPTION_FAILED},
   #else
@@ -7480,6 +8186,16 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"TLSV1_ALERT_DECRYPT_ERROR", 20, 1051},
   #endif
+  #ifdef SSL_R_TLSV1_ALERT_DECRYPT_ERROR
+    {"TLSV1_ALERT_DECRYPT_ERROR", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_DECRYPT_ERROR},
+  #else
+    {"TLSV1_ALERT_DECRYPT_ERROR", 20, 1051},
+  #endif
+  #ifdef SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION
+    {"TLSV1_ALERT_EXPORT_RESTRICTION", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION},
+  #else
+    {"TLSV1_ALERT_EXPORT_RESTRICTION", 20, 1060},
+  #endif
   #ifdef SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION
     {"TLSV1_ALERT_EXPORT_RESTRICTION", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION},
   #else
@@ -7490,21 +8206,56 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"TLSV1_ALERT_INAPPROPRIATE_FALLBACK", 20, 1086},
   #endif
+  #ifdef SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK
+    {"TLSV1_ALERT_INAPPROPRIATE_FALLBACK", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_INAPPROPRIATE_FALLBACK},
+  #else
+    {"TLSV1_ALERT_INAPPROPRIATE_FALLBACK", 20, 1086},
+  #endif
   #ifdef SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY
     {"TLSV1_ALERT_INSUFFICIENT_SECURITY", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY},
   #else
     {"TLSV1_ALERT_INSUFFICIENT_SECURITY", 20, 1071},
   #endif
+  #ifdef SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY
+    {"TLSV1_ALERT_INSUFFICIENT_SECURITY", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY},
+  #else
+    {"TLSV1_ALERT_INSUFFICIENT_SECURITY", 20, 1071},
+  #endif
+  #ifdef SSL_R_TLSV1_ALERT_INTERNAL_ERROR
+    {"TLSV1_ALERT_INTERNAL_ERROR", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_INTERNAL_ERROR},
+  #else
+    {"TLSV1_ALERT_INTERNAL_ERROR", 20, 1080},
+  #endif
   #ifdef SSL_R_TLSV1_ALERT_INTERNAL_ERROR
     {"TLSV1_ALERT_INTERNAL_ERROR", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_INTERNAL_ERROR},
   #else
     {"TLSV1_ALERT_INTERNAL_ERROR", 20, 1080},
   #endif
+  #ifdef SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL
+    {"TLSV1_ALERT_NO_APPLICATION_PROTOCOL", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL},
+  #else
+    {"TLSV1_ALERT_NO_APPLICATION_PROTOCOL", 20, 1120},
+  #endif
+  #ifdef SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL
+    {"TLSV1_ALERT_NO_APPLICATION_PROTOCOL", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_NO_APPLICATION_PROTOCOL},
+  #else
+    {"TLSV1_ALERT_NO_APPLICATION_PROTOCOL", 20, 1120},
+  #endif
   #ifdef SSL_R_TLSV1_ALERT_NO_RENEGOTIATION
     {"TLSV1_ALERT_NO_RENEGOTIATION", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_NO_RENEGOTIATION},
   #else
     {"TLSV1_ALERT_NO_RENEGOTIATION", 20, 1100},
   #endif
+  #ifdef SSL_R_TLSV1_ALERT_NO_RENEGOTIATION
+    {"TLSV1_ALERT_NO_RENEGOTIATION", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_NO_RENEGOTIATION},
+  #else
+    {"TLSV1_ALERT_NO_RENEGOTIATION", 20, 1100},
+  #endif
+  #ifdef SSL_R_TLSV1_ALERT_PROTOCOL_VERSION
+    {"TLSV1_ALERT_PROTOCOL_VERSION", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_PROTOCOL_VERSION},
+  #else
+    {"TLSV1_ALERT_PROTOCOL_VERSION", 20, 1070},
+  #endif
   #ifdef SSL_R_TLSV1_ALERT_PROTOCOL_VERSION
     {"TLSV1_ALERT_PROTOCOL_VERSION", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_PROTOCOL_VERSION},
   #else
@@ -7515,11 +8266,36 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"TLSV1_ALERT_RECORD_OVERFLOW", 20, 1022},
   #endif
+  #ifdef SSL_R_TLSV1_ALERT_RECORD_OVERFLOW
+    {"TLSV1_ALERT_RECORD_OVERFLOW", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_RECORD_OVERFLOW},
+  #else
+    {"TLSV1_ALERT_RECORD_OVERFLOW", 20, 1022},
+  #endif
+  #ifdef SSL_R_TLSV1_ALERT_UNKNOWN_CA
+    {"TLSV1_ALERT_UNKNOWN_CA", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_UNKNOWN_CA},
+  #else
+    {"TLSV1_ALERT_UNKNOWN_CA", 20, 1048},
+  #endif
   #ifdef SSL_R_TLSV1_ALERT_UNKNOWN_CA
     {"TLSV1_ALERT_UNKNOWN_CA", ERR_LIB_SSL, SSL_R_TLSV1_ALERT_UNKNOWN_CA},
   #else
     {"TLSV1_ALERT_UNKNOWN_CA", 20, 1048},
   #endif
+  #ifdef SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY
+    {"TLSV1_ALERT_UNKNOWN_PSK_IDENTITY", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY},
+  #else
+    {"TLSV1_ALERT_UNKNOWN_PSK_IDENTITY", 20, 1115},
+  #endif
+  #ifdef SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY
+    {"TLSV1_ALERT_UNKNOWN_PSK_IDENTITY", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_UNKNOWN_PSK_IDENTITY},
+  #else
+    {"TLSV1_ALERT_UNKNOWN_PSK_IDENTITY", 20, 1115},
+  #endif
+  #ifdef SSL_R_TLSV1_ALERT_USER_CANCELLED
+    {"TLSV1_ALERT_USER_CANCELLED", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_USER_CANCELLED},
+  #else
+    {"TLSV1_ALERT_USER_CANCELLED", 20, 1090},
+  #endif
   #ifdef SSL_R_TLSV1_ALERT_USER_CANCELLED
     {"TLSV1_ALERT_USER_CANCELLED", ERR_LIB_SSL, 
SSL_R_TLSV1_ALERT_USER_CANCELLED},
   #else
@@ -7530,11 +8306,26 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"TLSV1_BAD_CERTIFICATE_HASH_VALUE", 20, 1114},
   #endif
+  #ifdef SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE
+    {"TLSV1_BAD_CERTIFICATE_HASH_VALUE", ERR_LIB_SSL, 
SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE},
+  #else
+    {"TLSV1_BAD_CERTIFICATE_HASH_VALUE", 20, 1114},
+  #endif
   #ifdef SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE
     {"TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE", ERR_LIB_SSL, 
SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE},
   #else
     {"TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE", 20, 1113},
   #endif
+  #ifdef SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE
+    {"TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE", ERR_LIB_SSL, 
SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE},
+  #else
+    {"TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE", 20, 1113},
+  #endif
+  #ifdef SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE
+    {"TLSV1_CERTIFICATE_UNOBTAINABLE", ERR_LIB_SSL, 
SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE},
+  #else
+    {"TLSV1_CERTIFICATE_UNOBTAINABLE", 20, 1111},
+  #endif
   #ifdef SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE
     {"TLSV1_CERTIFICATE_UNOBTAINABLE", ERR_LIB_SSL, 
SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE},
   #else
@@ -7545,6 +8336,16 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"TLSV1_UNRECOGNIZED_NAME", 20, 1112},
   #endif
+  #ifdef SSL_R_TLSV1_UNRECOGNIZED_NAME
+    {"TLSV1_UNRECOGNIZED_NAME", ERR_LIB_SSL, SSL_R_TLSV1_UNRECOGNIZED_NAME},
+  #else
+    {"TLSV1_UNRECOGNIZED_NAME", 20, 1112},
+  #endif
+  #ifdef SSL_R_TLSV1_UNSUPPORTED_EXTENSION
+    {"TLSV1_UNSUPPORTED_EXTENSION", ERR_LIB_SSL, 
SSL_R_TLSV1_UNSUPPORTED_EXTENSION},
+  #else
+    {"TLSV1_UNSUPPORTED_EXTENSION", 20, 1110},
+  #endif
   #ifdef SSL_R_TLSV1_UNSUPPORTED_EXTENSION
     {"TLSV1_UNSUPPORTED_EXTENSION", ERR_LIB_SSL, 
SSL_R_TLSV1_UNSUPPORTED_EXTENSION},
   #else
@@ -7665,6 +8466,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNKNOWN_KEY_EXCHANGE_TYPE", 20, 250},
   #endif
+  #ifdef SSL_R_UNKNOWN_MANDATORY_PARAMETER
+    {"UNKNOWN_MANDATORY_PARAMETER", ERR_LIB_SSL, 
SSL_R_UNKNOWN_MANDATORY_PARAMETER},
+  #else
+    {"UNKNOWN_MANDATORY_PARAMETER", 20, 323},
+  #endif
   #ifdef SSL_R_UNKNOWN_PKEY_TYPE
     {"UNKNOWN_PKEY_TYPE", ERR_LIB_SSL, SSL_R_UNKNOWN_PKEY_TYPE},
   #else
@@ -7700,6 +8506,21 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNSUPPORTED_COMPRESSION_ALGORITHM", 20, 257},
   #endif
+  #ifdef SSL_R_UNSUPPORTED_CONFIG_VALUE
+    {"UNSUPPORTED_CONFIG_VALUE", ERR_LIB_SSL, SSL_R_UNSUPPORTED_CONFIG_VALUE},
+  #else
+    {"UNSUPPORTED_CONFIG_VALUE", 20, 414},
+  #endif
+  #ifdef SSL_R_UNSUPPORTED_CONFIG_VALUE_CLASS
+    {"UNSUPPORTED_CONFIG_VALUE_CLASS", ERR_LIB_SSL, 
SSL_R_UNSUPPORTED_CONFIG_VALUE_CLASS},
+  #else
+    {"UNSUPPORTED_CONFIG_VALUE_CLASS", 20, 415},
+  #endif
+  #ifdef SSL_R_UNSUPPORTED_CONFIG_VALUE_OP
+    {"UNSUPPORTED_CONFIG_VALUE_OP", ERR_LIB_SSL, 
SSL_R_UNSUPPORTED_CONFIG_VALUE_OP},
+  #else
+    {"UNSUPPORTED_CONFIG_VALUE_OP", 20, 416},
+  #endif
   #ifdef SSL_R_UNSUPPORTED_ELLIPTIC_CURVE
     {"UNSUPPORTED_ELLIPTIC_CURVE", ERR_LIB_SSL, 
SSL_R_UNSUPPORTED_ELLIPTIC_CURVE},
   #else
@@ -7720,6 +8541,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNSUPPORTED_STATUS_TYPE", 20, 329},
   #endif
+  #ifdef SSL_R_UNSUPPORTED_WRITE_FLAG
+    {"UNSUPPORTED_WRITE_FLAG", ERR_LIB_SSL, SSL_R_UNSUPPORTED_WRITE_FLAG},
+  #else
+    {"UNSUPPORTED_WRITE_FLAG", 20, 412},
+  #endif
   #ifdef SSL_R_USE_SRTP_NOT_NEGOTIATED
     {"USE_SRTP_NOT_NEGOTIATED", ERR_LIB_SSL, SSL_R_USE_SRTP_NOT_NEGOTIATED},
   #else
@@ -7750,6 +8576,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"WRONG_CURVE", 20, 378},
   #endif
+  #ifdef SSL_R_WRONG_RPK_TYPE
+    {"WRONG_RPK_TYPE", ERR_LIB_SSL, SSL_R_WRONG_RPK_TYPE},
+  #else
+    {"WRONG_RPK_TYPE", 20, 351},
+  #endif
   #ifdef SSL_R_WRONG_SIGNATURE_LENGTH
     {"WRONG_SIGNATURE_LENGTH", ERR_LIB_SSL, SSL_R_WRONG_SIGNATURE_LENGTH},
   #else
@@ -8055,6 +8886,16 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"BAD_OBJECT", 34, 119},
   #endif
+  #ifdef X509V3_R_BAD_OPTION
+    {"BAD_OPTION", ERR_LIB_X509V3, X509V3_R_BAD_OPTION},
+  #else
+    {"BAD_OPTION", 34, 170},
+  #endif
+  #ifdef X509V3_R_BAD_VALUE
+    {"BAD_VALUE", ERR_LIB_X509V3, X509V3_R_BAD_VALUE},
+  #else
+    {"BAD_VALUE", 34, 171},
+  #endif
   #ifdef X509V3_R_BN_DEC2BN_ERROR
     {"BN_DEC2BN_ERROR", ERR_LIB_X509V3, X509V3_R_BN_DEC2BN_ERROR},
   #else
@@ -8335,6 +9176,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY", 34, 159},
   #endif
+  #ifdef X509V3_R_PURPOSE_NOT_UNIQUE
+    {"PURPOSE_NOT_UNIQUE", ERR_LIB_X509V3, X509V3_R_PURPOSE_NOT_UNIQUE},
+  #else
+    {"PURPOSE_NOT_UNIQUE", 34, 173},
+  #endif
   #ifdef X509V3_R_SECTION_NOT_FOUND
     {"SECTION_NOT_FOUND", ERR_LIB_X509V3, X509V3_R_SECTION_NOT_FOUND},
   #else
@@ -8370,6 +9216,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNKNOWN_OPTION", 34, 120},
   #endif
+  #ifdef X509V3_R_UNKNOWN_VALUE
+    {"UNKNOWN_VALUE", ERR_LIB_X509V3, X509V3_R_UNKNOWN_VALUE},
+  #else
+    {"UNKNOWN_VALUE", 34, 172},
+  #endif
   #ifdef X509V3_R_UNSUPPORTED_OPTION
     {"UNSUPPORTED_OPTION", ERR_LIB_X509V3, X509V3_R_UNSUPPORTED_OPTION},
   #else
@@ -8425,11 +9276,21 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"CRL_ALREADY_DELTA", 11, 127},
   #endif
+  #ifdef X509_R_CRL_SIGNATURE_ALGORITHM_MISMATCH
+    {"CRL_SIGNATURE_ALGORITHM_MISMATCH", ERR_LIB_X509, 
X509_R_CRL_SIGNATURE_ALGORITHM_MISMATCH},
+  #else
+    {"CRL_SIGNATURE_ALGORITHM_MISMATCH", 11, 147},
+  #endif
   #ifdef X509_R_CRL_VERIFY_FAILURE
     {"CRL_VERIFY_FAILURE", ERR_LIB_X509, X509_R_CRL_VERIFY_FAILURE},
   #else
     {"CRL_VERIFY_FAILURE", 11, 131},
   #endif
+  #ifdef X509_R_DUPLICATE_ATTRIBUTE
+    {"DUPLICATE_ATTRIBUTE", ERR_LIB_X509, X509_R_DUPLICATE_ATTRIBUTE},
+  #else
+    {"DUPLICATE_ATTRIBUTE", 11, 140},
+  #endif
   #ifdef X509_R_ERROR_GETTING_MD_BY_NID
     {"ERROR_GETTING_MD_BY_NID", ERR_LIB_X509, X509_R_ERROR_GETTING_MD_BY_NID},
   #else
@@ -8590,6 +9451,11 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"UNSUPPORTED_ALGORITHM", 11, 111},
   #endif
+  #ifdef X509_R_UNSUPPORTED_VERSION
+    {"UNSUPPORTED_VERSION", ERR_LIB_X509, X509_R_UNSUPPORTED_VERSION},
+  #else
+    {"UNSUPPORTED_VERSION", 11, 145},
+  #endif
   #ifdef X509_R_WRONG_LOOKUP_TYPE
     {"WRONG_LOOKUP_TYPE", ERR_LIB_X509, X509_R_WRONG_LOOKUP_TYPE},
   #else
@@ -8600,6 +9466,5 @@ static struct py_ssl_error_code error_codes[] = {
   #else
     {"WRONG_TYPE", 11, 122},
   #endif
-    { NULL }
+    {NULL, 0, 0}  /* sentinel */
 };
-
diff --git a/PCbuild/get_externals.bat b/PCbuild/get_externals.bat
index 846df1203fc5095..901b92315d6415b 100644
--- a/PCbuild/get_externals.bat
+++ b/PCbuild/get_externals.bat
@@ -53,7 +53,7 @@ echo.Fetching external libraries...
 set libraries=
 set libraries=%libraries%                                       bzip2-1.0.8
 if NOT "%IncludeLibffiSrc%"=="false" set libraries=%libraries%  libffi-3.4.4
-if NOT "%IncludeSSLSrc%"=="false" set libraries=%libraries%     openssl-3.0.22
+if NOT "%IncludeSSLSrc%"=="false" set libraries=%libraries%     openssl-3.5.8
 set libraries=%libraries%                                       mpdecimal-4.0.0
 set libraries=%libraries%                                       sqlite-3.50.4.0
 if NOT "%IncludeTkinterSrc%"=="false" set libraries=%libraries% 
tcl-core-8.6.15.0
@@ -77,7 +77,7 @@ echo.Fetching external binaries...
 
 set binaries=
 if NOT "%IncludeLibffi%"=="false"  set binaries=%binaries% libffi-3.4.4
-if NOT "%IncludeSSL%"=="false"     set binaries=%binaries% openssl-bin-3.0.22
+if NOT "%IncludeSSL%"=="false"     set binaries=%binaries% openssl-bin-3.5.8
 if NOT "%IncludeTkinter%"=="false" set binaries=%binaries% tcltk-8.6.15.0
 if NOT "%IncludeSSLSrc%"=="false"  set binaries=%binaries% nasm-2.11.06
 
diff --git a/PCbuild/python.props b/PCbuild/python.props
index 836d9c8896ff7f2..17f571707b7f2e7 100644
--- a/PCbuild/python.props
+++ b/PCbuild/python.props
@@ -76,8 +76,8 @@
     <libffiOutDir Condition="$(libffiOutDir) == 
''">$(libffiDir)$(ArchName)\</libffiOutDir>
     <libffiIncludeDir Condition="$(libffiIncludeDir) == 
''">$(libffiOutDir)include</libffiIncludeDir>
     <mpdecimalDir Condition="$(mpdecimalDir) == 
''">$(ExternalsDir)\mpdecimal-4.0.0\</mpdecimalDir>
-    <opensslDir Condition="$(opensslDir) == 
''">$(ExternalsDir)openssl-3.0.22\</opensslDir>
-    <opensslOutDir Condition="$(opensslOutDir) == 
''">$(ExternalsDir)openssl-bin-3.0.22\$(ArchName)\</opensslOutDir>
+    <opensslDir Condition="$(opensslDir) == 
''">$(ExternalsDir)openssl-3.5.8\</opensslDir>
+    <opensslOutDir Condition="$(opensslOutDir) == 
''">$(ExternalsDir)openssl-bin-3.5.8\$(ArchName)\</opensslOutDir>
     <opensslIncludeDir Condition="$(opensslIncludeDir) == 
''">$(opensslOutDir)include</opensslIncludeDir>
     <nasmDir Condition="$(nasmDir) == 
''">$(ExternalsDir)\nasm-2.11.06\</nasmDir>
     <zlibDir Condition="$(zlibDir) == ''">$(ExternalsDir)\zlib-1.3.1\</zlibDir>
diff --git a/PCbuild/readme.txt b/PCbuild/readme.txt
index 8eca9186eb628d9..9ce016705c1f468 100644
--- a/PCbuild/readme.txt
+++ b/PCbuild/readme.txt
@@ -172,7 +172,7 @@ _lzma
     Homepage:
         https://tukaani.org/xz/
 _ssl
-    Python wrapper for version 3.0 of the OpenSSL secure sockets
+    Python wrapper for version 3.5 of the OpenSSL secure sockets
     library, which is downloaded from our binaries repository at
     https://github.com/python/cpython-bin-deps.
 

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to