diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/backend.py | 1 | ||||
-rw-r--r-- | src/cryptography/hazmat/backends/openssl/x509.py | 7 | ||||
-rw-r--r-- | src/cryptography/hazmat/bindings/openssl/binding.py | 3 |
3 files changed, 4 insertions, 7 deletions
diff --git a/src/cryptography/hazmat/backends/openssl/backend.py b/src/cryptography/hazmat/backends/openssl/backend.py index 266a8479..bba407db 100644 --- a/src/cryptography/hazmat/backends/openssl/backend.py +++ b/src/cryptography/hazmat/backends/openssl/backend.py @@ -216,6 +216,7 @@ def _encode_subject_alt_name(backend, san): backend._ffi.NULL, data_ptr_ptr, len(alt_name.value) ) if value == backend._ffi.NULL: + backend._consume_errors() raise ValueError("Invalid ASN.1 data") other_name.type_id = type_id other_name.value = value diff --git a/src/cryptography/hazmat/backends/openssl/x509.py b/src/cryptography/hazmat/backends/openssl/x509.py index 096cbc9e..472d8a70 100644 --- a/src/cryptography/hazmat/backends/openssl/x509.py +++ b/src/cryptography/hazmat/backends/openssl/x509.py @@ -175,10 +175,9 @@ def _decode_general_name(backend, gn): data = _asn1_string_to_ascii(backend, gn.d.rfc822Name) name, address = parseaddr(data) parts = address.split(u"@") - if name or len(parts) > 2 or not address: - # parseaddr has found a name (e.g. Name <email>) or the split - # has found more than 2 parts (which means more than one @ sign) - # or the entire value is an empty string. + if name or not address: + # parseaddr has found a name (e.g. Name <email>) or the entire + # value is an empty string. raise ValueError("Invalid rfc822name value") elif len(parts) == 1: # Single label email name. This is valid for local delivery. No diff --git a/src/cryptography/hazmat/bindings/openssl/binding.py b/src/cryptography/hazmat/bindings/openssl/binding.py index b7178bb2..86fac5ce 100644 --- a/src/cryptography/hazmat/bindings/openssl/binding.py +++ b/src/cryptography/hazmat/bindings/openssl/binding.py @@ -72,9 +72,6 @@ class Binding(object): @classmethod def _ensure_ffi_initialized(cls): - if cls._lib_loaded: - return - with cls._init_lock: if not cls._lib_loaded: cls._lib_loaded = True |