Commit 5ca9cb7c authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

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

library dependencies.
parent 83c3410b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -109,6 +109,8 @@
 *
 */

#define OPENSSL_NO_FIPS_ERR

#include <stdio.h>
#include <stdarg.h>
#include <string.h>
+11 −0
Original line number Diff line number Diff line
@@ -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
+5 −0
Original line number Diff line number Diff line
@@ -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();