942a99b
diff -up openssl-1.0.1-beta2/crypto/md5/md5_dgst.c.md5-allow openssl-1.0.1-beta2/crypto/md5/md5_dgst.c
942a99b
--- openssl-1.0.1-beta2/crypto/md5/md5_dgst.c.md5-allow	2012-02-06 20:09:56.000000000 +0100
942a99b
+++ openssl-1.0.1-beta2/crypto/md5/md5_dgst.c	2012-02-06 20:14:02.332117603 +0100
942a99b
@@ -71,7 +71,16 @@ const char MD5_version[]="MD5" OPENSSL_V
Kalev Lember ca8adb3
 #define INIT_DATA_C (unsigned long)0x98badcfeL
Kalev Lember ca8adb3
 #define INIT_DATA_D (unsigned long)0x10325476L
Kalev Lember ca8adb3
 
942a99b
-nonfips_md_init(MD5)
Kalev Lember ca8adb3
+int MD5_Init(MD5_CTX *c)
Kalev Lember ca8adb3
+#ifdef OPENSSL_FIPS
Kalev Lember ca8adb3
+	{
Kalev Lember ca8adb3
+	if (FIPS_mode() && getenv("OPENSSL_FIPS_NON_APPROVED_MD5_ALLOW") == NULL)
942a99b
+		OpenSSLDie(__FILE__, __LINE__, \
942a99b
+                "Digest MD5 forbidden in FIPS mode!");
Kalev Lember ca8adb3
+	return private_MD5_Init(c);
Kalev Lember ca8adb3
+	}
Kalev Lember ca8adb3
+int private_MD5_Init(MD5_CTX *c)
Kalev Lember ca8adb3
+#endif
Kalev Lember ca8adb3
 	{
Kalev Lember ca8adb3
 	memset (c,0,sizeof(*c));
Kalev Lember ca8adb3
 	c->A=INIT_DATA_A;