aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/cryptography/hazmat/backends/openssl/backend.py1
-rw-r--r--src/cryptography/hazmat/backends/openssl/x509.py7
-rw-r--r--src/cryptography/hazmat/bindings/openssl/binding.py3
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