diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2012-02-17 18:47:54 +0100 |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2012-02-17 18:47:54 +0100 |
commit | a9bf2ac7265c143eb11538a0ecd491d96edbf4da (patch) | |
tree | abfd09cb6b633c82f9b5923b63078ef7dade2588 | |
parent | f1fd388c775acee4d1e5f560b3ae9dfb9ad7cd16 (diff) | |
download | cpython-git-a9bf2ac7265c143eb11538a0ecd491d96edbf4da.tar.gz |
Try to really fix compilation failures of the _ssl module under very old OpenSSLs.
-rw-r--r-- | Lib/ssl.py | 6 | ||||
-rw-r--r-- | Modules/_ssl.c | 6 |
2 files changed, 11 insertions, 1 deletions
diff --git a/Lib/ssl.py b/Lib/ssl.py index 0282ee924a..e899059bad 100644 --- a/Lib/ssl.py +++ b/Lib/ssl.py @@ -68,12 +68,16 @@ from _ssl import ( from _ssl import CERT_NONE, CERT_OPTIONAL, CERT_REQUIRED from _ssl import ( OP_ALL, OP_NO_SSLv2, OP_NO_SSLv3, OP_NO_TLSv1, - OP_CIPHER_SERVER_PREFERENCE, OP_SINGLE_DH_USE, OP_SINGLE_ECDH_USE, + OP_CIPHER_SERVER_PREFERENCE, OP_SINGLE_DH_USE ) try: from _ssl import OP_NO_COMPRESSION except ImportError: pass +try: + from _ssl import OP_SINGLE_ECDH_USE +except ImportError: + pass from _ssl import RAND_status, RAND_egd, RAND_add, RAND_bytes, RAND_pseudo_bytes from _ssl import ( SSL_ERROR_ZERO_RETURN, diff --git a/Modules/_ssl.c b/Modules/_ssl.c index e25f354264..8225e68f1d 100644 --- a/Modules/_ssl.c +++ b/Modules/_ssl.c @@ -145,6 +145,12 @@ static unsigned int _ssl_locks_count = 0; # define HAVE_OPENSSL_FINISHED 0 #endif +/* ECDH support got added to OpenSSL in 0.9.8 */ +#if OPENSSL_VERSION_NUMBER < 0x0090800fL && !defined(OPENSSL_NO_ECDH) +# define OPENSSL_NO_ECDH +#endif + + typedef struct { PyObject_HEAD SSL_CTX *ctx; |