summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Paul Calderone <exarkun@twistedmatrix.com>2013-12-29 07:34:08 -0500
committerJean-Paul Calderone <exarkun@twistedmatrix.com>2013-12-29 07:34:08 -0500
commitbe2bb4299b07287cb6d8fd4b7e0c0284272dca66 (patch)
treef7df79c28fcb7d85cc3f3dd0c42f8348e6c749fb
parent6037d073170d054554405df944136c1ddd9bbf22 (diff)
downloadpyopenssl-be2bb4299b07287cb6d8fd4b7e0c0284272dca66.tar.gz
Re-enable TLSv1_1 and TLSv1_2 if the backend supports them
-rw-r--r--OpenSSL/SSL.py21
1 files changed, 12 insertions, 9 deletions
diff --git a/OpenSSL/SSL.py b/OpenSSL/SSL.py
index 11edbce..48c8227 100644
--- a/OpenSSL/SSL.py
+++ b/OpenSSL/SSL.py
@@ -35,8 +35,9 @@ TLSv1_2_METHOD = 6
OP_NO_SSLv2 = _lib.SSL_OP_NO_SSLv2
OP_NO_SSLv3 = _lib.SSL_OP_NO_SSLv3
OP_NO_TLSv1 = _lib.SSL_OP_NO_TLSv1
-# OP_NO_TLSv1_1 = _lib.SSL_OP_NO_TLSv1_1
-# OP_NO_TLSv1_2 = _lib.SSL_OP_NO_TLSv1_2
+
+OP_NO_TLSv1_1 = getattr(_lib, "SSL_OP_NO_TLSv1_1", 0)
+OP_NO_TLSv1_2 = getattr(_lib, "SSL_OP_NO_TLSv1_2", 0)
MODE_RELEASE_BUFFERS = _lib.SSL_MODE_RELEASE_BUFFERS
@@ -210,15 +211,17 @@ class Context(object):
new SSL connections.
"""
_methods = {
- SSLv3_METHOD: _lib.SSLv3_method,
- TLSv1_METHOD: _lib.TLSv1_method,
- # TLSv1_1_METHOD: _lib.TLSv1_1_method,
- # TLSv1_2_METHOD: _lib.TLSv1_2_method,
- SSLv23_METHOD: _lib.SSLv23_method,
+ SSLv3_METHOD: "SSLv3_method",
+ SSLv23_METHOD: "SSLv23_method",
+ TLSv1_METHOD: "TLSv1_method",
+ TLSv1_1_METHOD: "TLSv1_1_method",
+ TLSv1_2_METHOD: "TLSv1_2_method",
}
+ _methods = dict(
+ (identifier, getattr(_lib, name))
+ for (identifier, name) in _methods.items()
+ if getattr(_lib, name, None) is not None)
- if False and not _lib.PYOPENSSL_NO_SSL2:
- _methods[SSLv2_METHOD] = _lib.SSLv2_method
def __init__(self, method):
"""