250fd0
diff -up wpa_supplicant-0.7.3/src/crypto/tls_openssl.c.more-openssl-algs wpa_supplicant-0.7.3/src/crypto/tls_openssl.c
250fd0
--- wpa_supplicant-0.7.3/src/crypto/tls_openssl.c.more-openssl-algs	2010-09-07 10:43:39.000000000 -0500
250fd0
+++ wpa_supplicant-0.7.3/src/crypto/tls_openssl.c	2010-12-08 10:01:02.967664004 -0600
250fd0
@@ -710,6 +710,11 @@ void * tls_init(const struct tls_config 
250fd0
 #endif /* OPENSSL_FIPS */
250fd0
 #endif /* CONFIG_FIPS */
250fd0
 		SSL_load_error_strings();
250fd0
+		/* Only add potentially weak hashes and encryption algorithms
250fd0
+		 * when FIPS mode is not enabled.
250fd0
+		 */
250fd0
+		if (!conf || !conf->fips_mode)
250fd0
+			OpenSSL_add_all_algorithms();
250fd0
 		SSL_library_init();
250fd0
 #if (OPENSSL_VERSION_NUMBER >= 0x0090800fL) && !defined(OPENSSL_NO_SHA256)
250fd0
 		EVP_add_digest(EVP_sha256());
250fd0