diff options
author | Paul Kehrer <paul.l.kehrer@gmail.com> | 2015-10-24 20:10:06 -0500 |
---|---|---|
committer | Paul Kehrer <paul.l.kehrer@gmail.com> | 2015-10-24 20:10:06 -0500 |
commit | 1161aeadd3cc0f0769b0e39959c4c51aa206ed1d (patch) | |
tree | 354e50df8939dc7acec4294ab95fc0e9fb59464e | |
parent | c6af93903be97612314cbd9a8d8e3264059419df (diff) | |
download | cryptography-1161aeadd3cc0f0769b0e39959c4c51aa206ed1d.tar.gz cryptography-1161aeadd3cc0f0769b0e39959c4c51aa206ed1d.tar.bz2 cryptography-1161aeadd3cc0f0769b0e39959c4c51aa206ed1d.zip |
move lock initialization to during binding import
Previously we attempted to register our openssl locks only if the
backend was initialized, but we should really just do it immediately.
Consumers like PyOpenSSL already call init_static_locks after importing
the binding and if a library wants to replace the locks with something
else they can do so themselves.
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/backend.py | 2 | ||||
-rw-r--r-- | src/cryptography/hazmat/bindings/openssl/binding.py | 4 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py index 58587b94..0c257d1e 100644 --- a/src/cryptography/hazmat/backends/openssl/backend.py +++ b/src/cryptography/hazmat/backends/openssl/backend.py @@ -524,8 +524,6 @@ class Backend(object): res = self._lib.ASN1_STRING_set_default_mask_asc(b"utf8only") self.openssl_assert(res == 1) - self._binding.init_static_locks() - self._cipher_registry = {} self._register_default_ciphers() self.activate_osrandom_engine() diff --git a/src/cryptography/hazmat/bindings/openssl/binding.py b/src/cryptography/hazmat/bindings/openssl/binding.py index 4fac11d8..e2c34d6c 100644 --- a/src/cryptography/hazmat/bindings/openssl/binding.py +++ b/src/cryptography/hazmat/bindings/openssl/binding.py @@ -172,3 +172,7 @@ class Binding(object): mode, n, file, line ) ) + + +# OpenSSL is not thread safe until the locks are initialized. +Binding.init_static_locks() |