]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
bpo-43577: Fix deadlock with SSLContext._msg_callback and sni_callback (GH-24957)
authorChristian Heimes <christian@python.org>
Sun, 21 Mar 2021 15:13:09 +0000 (16:13 +0100)
committerGitHub <noreply@github.com>
Sun, 21 Mar 2021 15:13:09 +0000 (16:13 +0100)
commit77cde5042a2f1eae489c11a67540afaf43cd5cdf
treee1e273a3a52bf3fb90de8eaab8503cc884db2c13
parent20a5b7e986377bdfd929d7e8c4e3db5847dfdb2d
bpo-43577: Fix deadlock with SSLContext._msg_callback and sni_callback (GH-24957)

OpenSSL copies the internal message callback from SSL_CTX->msg_callback to
SSL->msg_callback. SSL_set_SSL_CTX() does not update SSL->msg_callback
to use the callback value of the new context.

PySSL_set_context() now resets the callback and _PySSL_msg_callback()
resets thread state in error path.

Signed-off-by: Christian Heimes <christian@python.org>
Lib/test/test_ssl.py
Misc/NEWS.d/next/Library/2021-03-21-10-13-17.bpo-43577.m7JnAV.rst [new file with mode: 0644]
Modules/_ssl.c
Modules/_ssl/debughelpers.c