FIPS mode ERR changes. Redirect errors to tiny FIPS callbacks to avoid ERR

library dependencies.
This commit is contained in:
Dr. Stephen Henson 2011-01-26 15:53:07 +00:00
parent 83c3410b94
commit 5ca9cb7cbd
3 changed files with 18 additions and 0 deletions

View File

@ -109,6 +109,8 @@
*
*/
#define OPENSSL_NO_FIPS_ERR
#include <stdio.h>
#include <stdarg.h>
#include <string.h>

View File

@ -137,6 +137,17 @@ extern "C" {
#define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,NULL,0)
#endif
#if defined(OPENSSL_FIPSCANISTER) && !defined(OPENSSL_NO_FIPS_ERR)
#define ERR_put_error FIPS_put_error
#define ERR_add_error_data FIPS_add_error_data
#endif
#ifdef OPENSSL_FIPS
void FIPS_set_error_callbacks(
void (*put_cb)(int lib, int func,int reason,const char *file,int line),
void (*add_cb)(int num, va_list args) );
#endif
#include <errno.h>
#define ERR_TXT_MALLOCED 0x01

View File

@ -56,6 +56,8 @@
* [including the GNU Public Licence.]
*/
#define OPENSSL_NO_FIPS_ERR
#include <stdio.h>
#include <openssl/asn1.h>
#include <openssl/bn.h>
@ -106,6 +108,9 @@
void ERR_load_crypto_strings(void)
{
#ifdef OPENSSL_FIPS
FIPS_set_error_callbacks(ERR_put_error, ERR_add_error_vdata);
#endif
#ifndef OPENSSL_NO_ERR
ERR_load_ERR_strings(); /* include error strings for SYSerr */
ERR_load_BN_strings();