summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2012-02-17 17:47:54 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2012-02-17 17:47:54 (GMT)
commita9bf2ac7265c143eb11538a0ecd491d96edbf4da (patch)
treeabfd09cb6b633c82f9b5923b63078ef7dade2588
parentf1fd388c775acee4d1e5f560b3ae9dfb9ad7cd16 (diff)
downloadcpython-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.py6
-rw-r--r--Modules/_ssl.c6
2 files changed, 11 insertions, 1 deletions
diff --git a/Lib/ssl.py b/Lib/ssl.py
index 0282ee9..e899059 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 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;