diff options
author | Antoine Pitrou <solipsis@pitrou.net> | 2012-02-17 17:47:54 (GMT) |
---|---|---|
committer | Antoine Pitrou <solipsis@pitrou.net> | 2012-02-17 17:47:54 (GMT) |
commit | a9bf2ac7265c143eb11538a0ecd491d96edbf4da (patch) | |
tree | abfd09cb6b633c82f9b5923b63078ef7dade2588 | |
parent | f1fd388c775acee4d1e5f560b3ae9dfb9ad7cd16 (diff) | |
download | cpython-a9bf2ac7265c143eb11538a0ecd491d96edbf4da.zip cpython-a9bf2ac7265c143eb11538a0ecd491d96edbf4da.tar.gz cpython-a9bf2ac7265c143eb11538a0ecd491d96edbf4da.tar.bz2 |
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
@@ -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 e25f354..8225e68 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; |