-
-
Notifications
You must be signed in to change notification settings - Fork 31.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test_ssl.py hangs with SSL 1.1 built with no threads #84695
Comments
Hello, this is my first python bug report! I've been running builds of Python 3.7.x on CentOS Linux release 7.7 (64bit/Intel Core I've done a full compilation from source for Python 3.7.7 and SSL 1.1 in my From what I can tell the problem is when SSL 1.1 is built with no threading This one line change will make the hangs in test_ssl.py go away: Index: Modules/_ssl.c --- Modules/_ssl.c (revision 70)
+++ Modules/_ssl.c (working copy)
@@ -5875,7 +5875,7 @@
if (!_setup_ssl_threads()) {
return NULL;
}
-#elif OPENSSL_VERSION_1_1 && defined(OPENSSL_THREADS)
+#elif OPENSSL_VERSION_1_1
/ OpenSSL 1.1.0 builtin thread support is enabled /
_ssl_locks_count++; # endif There appears to be an assumption in _ssl.c and test_ssl.y that SSL 1.1 will be Appreciate any feedback. Thanks! |
How did you build OpenSSL 1.1.1d? Python assumes default build of OpenSSL. Since Python is now always multi-threaded we no longer support non-threaded OpenSSL builds. |
I built with 'no-threads' option. |
It not about what I wish or wish not to do. Python requires thread-safe libraries. A library without proper locking and thread safety is no longer safe to use without great effort and careful locking in the glue code. A non-threaded OpenSSL build will lead to memory corruption and eventually crash the interpreter. |
Users will now get an error message when they are trying to compile against an OpenSSL build without thread support. |
Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.
Show more details
GitHub fields:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: