ASN1 sanity check.
[oweals/openssl.git] / crypto / o_init.c
index 2a5f5aac76c083ad9761b07f8c4ecb594677f97c..c89fda5890ad98eebf6cd4f7d9c55cfa56efb218 100644 (file)
 
 #include <e_os.h>
 #include <openssl/err.h>
+
 /* Internal only functions: only ever used here */
+#ifdef OPENSSL_FIPS
 extern void int_ERR_lib_init(void);
+# ifndef OPENSSL_NO_ENGINE
 extern void int_EVP_MD_init_engine_callbacks(void );
 extern void int_EVP_CIPHER_init_engine_callbacks(void );
 extern void int_RAND_init_engine_callbacks(void );
+# endif
+#endif
 
 /* Perform any essential OpenSSL initialization operations.
  * Currently only sets FIPS callbacks
@@ -88,4 +93,18 @@ void OPENSSL_init(void)
 #endif
        }
                
+#ifdef OPENSSL_FIPS
 
+int CRYPTO_memcmp(const void *in_a, const void *in_b, size_t len)
+       {
+       size_t i;
+       const unsigned char *a = in_a;
+       const unsigned char *b = in_b;
+       unsigned char x = 0;
+
+       for (i = 0; i < len; i++)
+               x |= a[i] ^ b[i];
+
+       return x;
+       }
+#endif