Blame SOURCES/openssl-1.0.2a-fips-md5-allow.patch

c05f5d
diff -up openssl-1.0.2a/crypto/md5/md5_dgst.c.md5-allow openssl-1.0.2a/crypto/md5/md5_dgst.c
c05f5d
--- openssl-1.0.2a/crypto/md5/md5_dgst.c.md5-allow	2015-04-09 18:18:36.505393113 +0200
c05f5d
+++ openssl-1.0.2a/crypto/md5/md5_dgst.c	2015-04-09 18:18:32.408298469 +0200
c05f5d
@@ -72,7 +72,16 @@ const char MD5_version[] = "MD5" OPENSSL
c05f5d
 #define INIT_DATA_C (unsigned long)0x98badcfeL
c05f5d
 #define INIT_DATA_D (unsigned long)0x10325476L
c05f5d
 
c05f5d
-nonfips_md_init(MD5)
c05f5d
+int MD5_Init(MD5_CTX *c)
c05f5d
+#ifdef OPENSSL_FIPS
c05f5d
+{
c05f5d
+    if (FIPS_mode() && getenv("OPENSSL_FIPS_NON_APPROVED_MD5_ALLOW") == NULL)
c05f5d
+        OpenSSLDie(__FILE__, __LINE__, "Digest MD5 forbidden in FIPS mode!");
c05f5d
+    return private_MD5_Init(c);
c05f5d
+}
c05f5d
+
c05f5d
+int private_MD5_Init(MD5_CTX *c)
c05f5d
+#endif
c05f5d
 {
c05f5d
     memset(c, 0, sizeof(*c));
c05f5d
     c->A = INIT_DATA_A;