aboutsummaryrefslogtreecommitdiffstats
path: root/src/_cffi_src
diff options
context:
space:
mode:
authorScott Sturdivant <scott.sturdivant@gmail.com>2017-09-26 19:29:55 -0600
committerPaul Kehrer <paul.l.kehrer@gmail.com>2017-09-27 09:29:55 +0800
commitba61c2738e5a79480d135c280316e29080a4a777 (patch)
treea8d358abff82f32d78b0132bb80b0b5c521b29b4 /src/_cffi_src
parente6859232d40a0dbc0c3b7f6bdde0e035ccc45374 (diff)
downloadcryptography-ba61c2738e5a79480d135c280316e29080a4a777.tar.gz
cryptography-ba61c2738e5a79480d135c280316e29080a4a777.tar.bz2
cryptography-ba61c2738e5a79480d135c280316e29080a4a777.zip
Expose FIPS funcs for OpenSSL. (#3939)
* Expose FIPS funcs for OpenSSL. * Remove FIPS customization / conditionals. It seems that the FIPS functions are always defined, regardless of if the FIPS module is present. * Do not include FIPS_selftest_check func. * Libressl does not have FIPS.
Diffstat (limited to 'src/_cffi_src')
-rw-r--r--src/_cffi_src/build_openssl.py1
-rw-r--r--src/_cffi_src/openssl/fips.py28
2 files changed, 29 insertions, 0 deletions
diff --git a/src/_cffi_src/build_openssl.py b/src/_cffi_src/build_openssl.py
index 86ee5007..7ec235ff 100644
--- a/src/_cffi_src/build_openssl.py
+++ b/src/_cffi_src/build_openssl.py
@@ -76,6 +76,7 @@ ffi = build_ffi_for_binding(
"engine",
"err",
"evp",
+ "fips",
"hmac",
"nid",
"objects",
diff --git a/src/_cffi_src/openssl/fips.py b/src/_cffi_src/openssl/fips.py
new file mode 100644
index 00000000..c92bca49
--- /dev/null
+++ b/src/_cffi_src/openssl/fips.py
@@ -0,0 +1,28 @@
+# This file is dual licensed under the terms of the Apache License, Version
+# 2.0, and the BSD License. See the LICENSE file in the root of this repository
+# for complete details.
+
+from __future__ import absolute_import, division, print_function
+
+INCLUDES = """
+#include <openssl/crypto.h>
+"""
+
+TYPES = """
+static const long Cryptography_HAS_FIPS;
+"""
+
+FUNCTIONS = """
+int FIPS_mode_set(int);
+int FIPS_mode(void);
+"""
+
+CUSTOMIZATIONS = """
+#if CRYPTOGRAPHY_IS_LIBRESSL
+static const long Cryptography_HAS_FIPS = 0;
+int (*FIPS_mode_set)(int) = NULL;
+int (*FIPS_mode)(void) = NULL;
+#else
+static const long Cryptography_HAS_FIPS = 1;
+#endif
+"""