classification
Title: OpenSSL 3.0.0: define OPENSSL_API_COMPAT 1.1.1
Type: behavior 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-10 09:34 by christian.heimes, last changed 2021-04-20 16:10 by christian.heimes. This issue is now closed.

Pull Requests
URL Status Linked Edit
PR 25329 merged christian.heimes, 2021-04-10 09:38
PR 25382 merged miss-islington, 2021-04-13 06:18
PR 25383 merged christian.heimes, 2021-04-13 06:44
PR 25481 merged christian.heimes, 2021-04-20 12:32
Messages (6)
msg390706 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2021-04-10 09:34
OpenSSL 1.1 introduced the macro OPENSSL_API_COMPAT to select which APIs are exposed and which deprecation warnings are shown. https://www.openssl.org/docs/manmaster/man7/OPENSSL_API_COMPAT.html

"#define OPENSSL_API_COMPAT 0x10101000L" suppresses warnings for APIs that are available in 1.1.1 and deprecated in 3.0.0.
msg390839 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2021-04-12 11:54
OpenSSL 1.0.2, 1.1.0, 1.1.1 and 3.0.0 behave slightly differently. For example I'm still getting a warning with 1.1.0. Only 3.0.0 supports OPENSSL_NO_DEPRECATED.

After multiple failed attempts I decided to set the API level to 1.1.1 and define the three TLSv*_method() functions explicitly. It's not the most elegant approach but it works. The symbols are available unless OPENSSL_NO_TLS*_METHOD is defined.
msg390926 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2021-04-13 06:17
New changeset a4833883c9b81b6b272cc7c5b67fa1658b65304c by Christian Heimes in branch 'master':
bpo-43799: OpenSSL 3.0.0: declare OPENSSL_API_COMPAT 1.1.1 (GH-25329)
https://github.com/python/cpython/commit/a4833883c9b81b6b272cc7c5b67fa1658b65304c
msg390927 - (view) Author: miss-islington (miss-islington) Date: 2021-04-13 06:41
New changeset 7d9d5bf863bb0af26b74b0732ab89b2053d2fbec by Miss Islington (bot) in branch '3.9':
[3.9] bpo-43799: OpenSSL 3.0.0: declare OPENSSL_API_COMPAT 1.1.1 (GH-25329) (GH-25382)
https://github.com/python/cpython/commit/7d9d5bf863bb0af26b74b0732ab89b2053d2fbec
msg390930 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2021-04-13 07:09
New changeset b71aaa0df0f3a9640b034b4774651cd8c54d2fb9 by Christian Heimes in branch '3.8':
[3.8] bpo-43799: OpenSSL 3.0.0: declare OPENSSL_API_COMPAT 1.1.1 (GH-25329) (GH-25383)
https://github.com/python/cpython/commit/b71aaa0df0f3a9640b034b4774651cd8c54d2fb9
msg391447 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2021-04-20 16:10
New changeset 3309113d6131e4bbac570c4f54175ecca02d025a by Christian Heimes in branch 'master':
bpo-43799: Also define SSLv3_method() (GH-25481)
https://github.com/python/cpython/commit/3309113d6131e4bbac570c4f54175ecca02d025a
History
Date User Action Args
2021-04-20 16:10:25christian.heimessetmessages: + msg391447
2021-04-20 12:32:56christian.heimessetpull_requests: + pull_request24206
2021-04-13 07:09:39christian.heimessetstatus: open -> closed
resolution: fixed
stage: patch review -> resolved
2021-04-13 07:09:29christian.heimessetmessages: + msg390930
2021-04-13 07:08:55christian.heimeslinkissue38820 dependencies
2021-04-13 06:44:40christian.heimessetpull_requests: + pull_request24115
2021-04-13 06:41:08miss-islingtonsetmessages: + msg390927
2021-04-13 06:18:02miss-islingtonsetnosy: + miss-islington
pull_requests: + pull_request24114
2021-04-13 06:17:34christian.heimessetmessages: + msg390926
2021-04-12 11:54:39christian.heimessetmessages: + msg390839
2021-04-10 09:38:19christian.heimessetkeywords: + patch
stage: patch review
pull_requests: + pull_request24062
2021-04-10 09:34:20christian.heimescreate