This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: OpenSSL 3.0.0: Make ssl_data.h version specific
Type: enhancement Stage: resolved
Components: SSL Versions: Python 3.10, Python 3.9, Python 3.8
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: christian.heimes Nosy List: christian.heimes, miss-islington
Priority: normal Keywords: patch

Created on 2021-04-09 10:04 by christian.heimes, last changed 2022-04-11 14:59 by admin. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 25300 merged christian.heimes, 2021-04-09 10:12
PR 25310 merged christian.heimes, 2021-04-09 15:13
PR 25311 merged christian.heimes, 2021-04-09 15:15
Messages (4)
msg390603 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2021-04-09 10:04
_ssl_data.h contains static tables with OpenSSL error names and reasons. The stables are created by scrapping header files. The current approach has two issues:

- error codes are version dependent. OpenSSL 1.1.1 uses different codes and has a different set of error reasons as 3.0.0.
- parsing header files with regular expressions is err-prone.

I'm going to introduce version-specific data tables and re-write the current make_ssl_data.py script to use OpenSSL's crypto/err/openssl.txt and crypto/err/openssl.ec. The text files exist since OpenSSL 1.1.
msg390636 - (view) Author: miss-islington (miss-islington) Date: 2021-04-09 15:02
New changeset 150af7543214e1541fa582374502ac1cd70e8eb4 by Christian Heimes in branch 'master':
bpo-43788: Generate version specific _ssl_data.h (GH-25300)
https://github.com/python/cpython/commit/150af7543214e1541fa582374502ac1cd70e8eb4
msg390645 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2021-04-09 16:34
New changeset 299ae9c7a2a169d54921815b9bb41a8f9277a3aa by Christian Heimes in branch '3.9':
[3.9] bpo-43788: Generate version specific _ssl_data.h (GH-25300) (GH-25310)
https://github.com/python/cpython/commit/299ae9c7a2a169d54921815b9bb41a8f9277a3aa
msg390646 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2021-04-09 16:34
New changeset 70f2ca7ea46ac15d05c7b422a10b18aa3fe4a140 by Christian Heimes in branch '3.8':
[3.8] bpo-43788: Generate version specific _ssl_data.h (GH-25300) (GH-25311)
https://github.com/python/cpython/commit/70f2ca7ea46ac15d05c7b422a10b18aa3fe4a140
History
Date User Action Args
2022-04-11 14:59:44adminsetgithub: 87954
2021-04-09 16:34:58christian.heimessetmessages: + msg390646
2021-04-09 16:34:49christian.heimessetmessages: + msg390645
2021-04-09 15:19:17christian.heimeslinkissue38820 dependencies
2021-04-09 15:16:12christian.heimessetstatus: open -> closed
title: Make ssl_data.h version specific -> OpenSSL 3.0.0: Make ssl_data.h version specific
resolution: fixed
stage: patch review -> resolved
2021-04-09 15:15:30christian.heimessetpull_requests: + pull_request24046
2021-04-09 15:13:33christian.heimessetpull_requests: + pull_request24045
2021-04-09 15:02:11miss-islingtonsetnosy: + miss-islington
messages: + msg390636
2021-04-09 10:12:02christian.heimessetkeywords: + patch
stage: patch review
pull_requests: + pull_request24032
2021-04-09 10:04:48christian.heimescreate