15fad7
diff -up openssl-1.0.0c/crypto/md5/md5_dgst.c.md5-allow openssl-1.0.0c/crypto/md5/md5_dgst.c
15fad7
--- openssl-1.0.0c/crypto/md5/md5_dgst.c.md5-allow	2011-02-03 19:53:28.000000000 +0100
15fad7
+++ openssl-1.0.0c/crypto/md5/md5_dgst.c	2011-02-03 20:33:14.000000000 +0100
15fad7
@@ -75,7 +75,15 @@ const char MD5_version[]="MD5" OPENSSL_V
15fad7
 #define INIT_DATA_C (unsigned long)0x98badcfeL
15fad7
 #define INIT_DATA_D (unsigned long)0x10325476L
15fad7
 
15fad7
-FIPS_NON_FIPS_MD_Init(MD5)
15fad7
+int MD5_Init(MD5_CTX *c)
15fad7
+#ifdef OPENSSL_FIPS
15fad7
+	{
15fad7
+	if (FIPS_mode() && getenv("OPENSSL_FIPS_NON_APPROVED_MD5_ALLOW") == NULL)
15fad7
+		FIPS_BAD_ALGORITHM(alg)
15fad7
+	return private_MD5_Init(c);
15fad7
+	}
15fad7
+int private_MD5_Init(MD5_CTX *c)
15fad7
+#endif
15fad7
 	{
15fad7
 	memset (c,0,sizeof(*c));
15fad7
 	c->A=INIT_DATA_A;