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 |
