summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/crypto.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libcrypto/crypto.h')
-rw-r--r--src/lib/libcrypto/crypto.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/lib/libcrypto/crypto.h b/src/lib/libcrypto/crypto.h
index b0360cec51..6aeda0a9ac 100644
--- a/src/lib/libcrypto/crypto.h
+++ b/src/lib/libcrypto/crypto.h
@@ -547,6 +547,33 @@ unsigned long *OPENSSL_ia32cap_loc(void);
547#define OPENSSL_ia32cap (*(OPENSSL_ia32cap_loc())) 547#define OPENSSL_ia32cap (*(OPENSSL_ia32cap_loc()))
548int OPENSSL_isservice(void); 548int OPENSSL_isservice(void);
549 549
550int FIPS_mode(void);
551int FIPS_mode_set(int r);
552
553void OPENSSL_init(void);
554
555#define fips_md_init(alg) fips_md_init_ctx(alg, alg)
556
557#ifdef OPENSSL_FIPS
558#define fips_md_init_ctx(alg, cx) \
559 int alg##_Init(cx##_CTX *c) \
560 { \
561 if (FIPS_mode()) OpenSSLDie(__FILE__, __LINE__, \
562 "Low level API call to digest " #alg " forbidden in FIPS mode!"); \
563 return private_##alg##_Init(c); \
564 } \
565 int private_##alg##_Init(cx##_CTX *c)
566
567#define fips_cipher_abort(alg) \
568 if (FIPS_mode()) OpenSSLDie(__FILE__, __LINE__, \
569 "Low level API call to cipher " #alg " forbidden in FIPS mode!")
570
571#else
572#define fips_md_init_ctx(alg, cx) \
573 int alg##_Init(cx##_CTX *c)
574#define fips_cipher_abort(alg) while(0)
575#endif
576
550/* BEGIN ERROR CODES */ 577/* BEGIN ERROR CODES */
551/* The following lines are auto generated by the script mkerr.pl. Any changes 578/* The following lines are auto generated by the script mkerr.pl. Any changes
552 * made after this point may be overwritten when the script is next run. 579 * made after this point may be overwritten when the script is next run.
@@ -562,11 +589,13 @@ void ERR_load_CRYPTO_strings(void);
562#define CRYPTO_F_CRYPTO_SET_EX_DATA 102 589#define CRYPTO_F_CRYPTO_SET_EX_DATA 102
563#define CRYPTO_F_DEF_ADD_INDEX 104 590#define CRYPTO_F_DEF_ADD_INDEX 104
564#define CRYPTO_F_DEF_GET_CLASS 105 591#define CRYPTO_F_DEF_GET_CLASS 105
592#define CRYPTO_F_FIPS_MODE_SET 109
565#define CRYPTO_F_INT_DUP_EX_DATA 106 593#define CRYPTO_F_INT_DUP_EX_DATA 106
566#define CRYPTO_F_INT_FREE_EX_DATA 107 594#define CRYPTO_F_INT_FREE_EX_DATA 107
567#define CRYPTO_F_INT_NEW_EX_DATA 108 595#define CRYPTO_F_INT_NEW_EX_DATA 108
568 596
569/* Reason codes. */ 597/* Reason codes. */
598#define CRYPTO_R_FIPS_MODE_NOT_SUPPORTED 101
570#define CRYPTO_R_NO_DYNLOCK_CREATE_CALLBACK 100 599#define CRYPTO_R_NO_DYNLOCK_CREATE_CALLBACK 100
571 600
572#ifdef __cplusplus 601#ifdef __cplusplus