aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Kehrer <paul.l.kehrer@gmail.com>2016-03-08 21:01:49 -0400
committerPaul Kehrer <paul.l.kehrer@gmail.com>2016-03-08 21:24:54 -0400
commit264cb53035bce5dc1d29014879bb6b28078f7c12 (patch)
treeb9f4a293efa2b5a429dd7ad7b5753a300a6b792f
parent87a76094d85b133e829366a2f8de96462a3037ec (diff)
downloadcryptography-264cb53035bce5dc1d29014879bb6b28078f7c12.tar.gz
cryptography-264cb53035bce5dc1d29014879bb6b28078f7c12.tar.bz2
cryptography-264cb53035bce5dc1d29014879bb6b28078f7c12.zip
In OpenSSL 1.1.0 AES_ctr128_encrypt no longer exists
This is OpenSSL 1.1.0 compatibility patch 1 of n
-rw-r--r--src/_cffi_src/openssl/aes.py11
-rw-r--r--src/cryptography/hazmat/bindings/openssl/_conditional.py3
2 files changed, 13 insertions, 1 deletions
diff --git a/src/_cffi_src/openssl/aes.py b/src/_cffi_src/openssl/aes.py
index 8a5d0471..438431b5 100644
--- a/src/_cffi_src/openssl/aes.py
+++ b/src/_cffi_src/openssl/aes.py
@@ -10,6 +10,7 @@ INCLUDES = """
TYPES = """
static const int Cryptography_HAS_AES_WRAP;
+static const int Cryptography_HAS_AES_CTR128_ENCRYPT;
struct aes_key_st {
...;
@@ -50,5 +51,13 @@ int (*AES_wrap_key)(AES_KEY *, const unsigned char *, unsigned char *,
int (*AES_unwrap_key)(AES_KEY *, const unsigned char *, unsigned char *,
const unsigned char *, unsigned int) = NULL;
#endif
-
+#if OPENSSL_VERSION_NUMBER >= 0x10100000L && !defined(LIBRESSL_VERSION_NUMBER)
+static const int Cryptography_HAS_AES_CTR128_ENCRYPT = 0;
+void (*AES_ctr128_encrypt)(const unsigned char *, unsigned char *,
+ const size_t, const AES_KEY *,
+ unsigned char[], unsigned char[],
+ unsigned int *) = NULL;
+#else
+static const int Cryptography_HAS_AES_CTR128_ENCRYPT = 1;
+#endif
"""
diff --git a/src/cryptography/hazmat/bindings/openssl/_conditional.py b/src/cryptography/hazmat/bindings/openssl/_conditional.py
index 206c2915..8bd9551d 100644
--- a/src/cryptography/hazmat/bindings/openssl/_conditional.py
+++ b/src/cryptography/hazmat/bindings/openssl/_conditional.py
@@ -411,4 +411,7 @@ CONDITIONAL_NAMES = {
"SSL_CTX_set_cert_cb",
"SSL_set_cert_cb",
],
+ "Cryptography_HAS_AES_CTR128_ENCRYPT": [
+ "AES_ctr128_encrypt",
+ ],
}