diff options
Diffstat (limited to 'src/lib/libcrypto/crypto.h')
-rw-r--r-- | src/lib/libcrypto/crypto.h | 29 |
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())) |
548 | int OPENSSL_isservice(void); | 548 | int OPENSSL_isservice(void); |
549 | 549 | ||
550 | int FIPS_mode(void); | ||
551 | int FIPS_mode_set(int r); | ||
552 | |||
553 | void 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 |