diff options
author | Alex Gaynor <alex.gaynor@gmail.com> | 2014-01-24 12:19:05 -0600 |
---|---|---|
committer | Alex Gaynor <alex.gaynor@gmail.com> | 2014-01-24 12:19:05 -0600 |
commit | 0d62fb05a9203398510b2f0a6c940daab640f1d4 (patch) | |
tree | 749debfab745b588b1a986507b4216b570280daa | |
parent | bb41bf4d798a6761889ea828f7d7f160f17b4132 (diff) | |
download | cryptography-0d62fb05a9203398510b2f0a6c940daab640f1d4.tar.gz cryptography-0d62fb05a9203398510b2f0a6c940daab640f1d4.tar.bz2 cryptography-0d62fb05a9203398510b2f0a6c940daab640f1d4.zip |
Switch to using our own InternalError, instead of SystemError
-rw-r--r-- | cryptography/exceptions.py | 4 | ||||
-rw-r--r-- | cryptography/hazmat/backends/commoncrypto/backend.py | 9 | ||||
-rw-r--r-- | cryptography/hazmat/backends/openssl/backend.py | 6 | ||||
-rw-r--r-- | tests/hazmat/backends/test_commoncrypto.py | 6 | ||||
-rw-r--r-- | tests/hazmat/backends/test_openssl.py | 10 |
5 files changed, 22 insertions, 13 deletions
diff --git a/cryptography/exceptions.py b/cryptography/exceptions.py index 44363c24..2654b453 100644 --- a/cryptography/exceptions.py +++ b/cryptography/exceptions.py @@ -34,3 +34,7 @@ class InvalidTag(Exception): class InvalidSignature(Exception): pass + + +class InternalError(Exception): + pass diff --git a/cryptography/hazmat/backends/commoncrypto/backend.py b/cryptography/hazmat/backends/commoncrypto/backend.py index 7193f1d8..ebb834cb 100644 --- a/cryptography/hazmat/backends/commoncrypto/backend.py +++ b/cryptography/hazmat/backends/commoncrypto/backend.py @@ -16,7 +16,9 @@ from __future__ import absolute_import, division, print_function from collections import namedtuple from cryptography import utils -from cryptography.exceptions import UnsupportedAlgorithm, InvalidTag +from cryptography.exceptions import ( + UnsupportedAlgorithm, InvalidTag, InternalError +) from cryptography.hazmat.backends.interfaces import ( HashBackend, HMACBackend, CipherBackend ) @@ -197,8 +199,9 @@ class Backend(object): "the block length" ) else: - raise SystemError( - "The backend returned an error. Code: {0}".format(response) + raise InternalError( + "The backend returned an unkown error, consider filing a bug. " + "Code: {0}.".format(response) ) diff --git a/cryptography/hazmat/backends/openssl/backend.py b/cryptography/hazmat/backends/openssl/backend.py index ee82ba71..b5116be4 100644 --- a/cryptography/hazmat/backends/openssl/backend.py +++ b/cryptography/hazmat/backends/openssl/backend.py @@ -16,7 +16,9 @@ from __future__ import absolute_import, division, print_function import itertools from cryptography import utils -from cryptography.exceptions import UnsupportedAlgorithm, InvalidTag +from cryptography.exceptions import ( + UnsupportedAlgorithm, InvalidTag, InternalError +) from cryptography.hazmat.backends.interfaces import ( CipherBackend, HashBackend, HMACBackend ) @@ -154,7 +156,7 @@ class Backend(object): "the block length" ) - raise SystemError( + raise InternalError( "Unknown error code from OpenSSL, you should probably file a bug." ) diff --git a/tests/hazmat/backends/test_commoncrypto.py b/tests/hazmat/backends/test_commoncrypto.py index cfa332d0..7cc0f72f 100644 --- a/tests/hazmat/backends/test_commoncrypto.py +++ b/tests/hazmat/backends/test_commoncrypto.py @@ -14,7 +14,7 @@ import pytest from cryptography import utils -from cryptography.exceptions import UnsupportedAlgorithm +from cryptography.exceptions import UnsupportedAlgorithm, InternalError from cryptography.hazmat.bindings.commoncrypto.binding import Binding from cryptography.hazmat.primitives import interfaces from cryptography.hazmat.primitives.ciphers.algorithms import AES @@ -49,10 +49,10 @@ class TestCommonCrypto(object): with pytest.raises(ValueError): backend._check_response(backend._lib.kCCAlignmentError) - with pytest.raises(SystemError): + with pytest.raises(InternalError): backend._check_response(backend._lib.kCCMemoryFailure) - with pytest.raises(SystemError): + with pytest.raises(InternalError): backend._check_response(backend._lib.kCCDecodeError) def test_nonexistent_aead_cipher(self): diff --git a/tests/hazmat/backends/test_openssl.py b/tests/hazmat/backends/test_openssl.py index 2a329920..f01c3f64 100644 --- a/tests/hazmat/backends/test_openssl.py +++ b/tests/hazmat/backends/test_openssl.py @@ -14,7 +14,7 @@ import pytest from cryptography import utils -from cryptography.exceptions import UnsupportedAlgorithm +from cryptography.exceptions import UnsupportedAlgorithm, InternalError from cryptography.hazmat.backends import default_backend from cryptography.hazmat.backends.openssl.backend import backend, Backend from cryptography.hazmat.primitives import interfaces @@ -76,20 +76,20 @@ class TestOpenSSL(object): cipher.encryptor() def test_handle_unknown_error(self): - with pytest.raises(SystemError): + with pytest.raises(InternalError): backend._handle_error_code(0, 0, 0) - with pytest.raises(SystemError): + with pytest.raises(InternalError): backend._handle_error_code(backend._lib.ERR_LIB_EVP, 0, 0) - with pytest.raises(SystemError): + with pytest.raises(InternalError): backend._handle_error_code( backend._lib.ERR_LIB_EVP, backend._lib.EVP_F_EVP_ENCRYPTFINAL_EX, 0 ) - with pytest.raises(SystemError): + with pytest.raises(InternalError): backend._handle_error_code( backend._lib.ERR_LIB_EVP, backend._lib.EVP_F_EVP_DECRYPTFINAL_EX, |