fix leak properly this time...
[openssl.git] / crypto / engine / eng_all.c
index fb01ca8972edafdd7deb8c6d165041f3f3a0ffe9..81bc5ff93395395b3b6e5f40cdf38e77cc4f7cc1 100644 (file)
@@ -61,6 +61,8 @@
 
 void ENGINE_load_builtin_engines(void)
        {
+       /* Some ENGINEs need this */
+       OPENSSL_cpuid_setup();
 #if 0
        /* There's no longer any need for an "openssl" ENGINE unless, one day,
         * it is the *only* way for standard builtin implementations to be be
@@ -68,8 +70,17 @@ void ENGINE_load_builtin_engines(void)
         * *no* builtin implementations). */
        ENGINE_load_openssl();
 #endif
-#if defined(__OpenBSD__) || defined(__FreeBSD__)
+#if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(HAVE_CRYPTODEV)
        ENGINE_load_cryptodev();
+#endif
+#if !defined(OPENSSL_NO_HW) && !defined(OPENSSL_NO_HW_AESNI)
+       ENGINE_load_aesni();
+#endif
+#ifndef OPENSSL_NO_RSAX
+       ENGINE_load_rsax();
+#endif
+#ifndef OPENSSL_NO_RDRAND
+       ENGINE_load_rdrand();
 #endif
        ENGINE_load_dynamic();
 #ifndef OPENSSL_NO_STATIC_ENGINE
@@ -108,7 +119,11 @@ void ENGINE_load_builtin_engines(void)
 #ifndef OPENSSL_NO_GMP
        ENGINE_load_gmp();
 #endif
+#if defined(OPENSSL_SYS_WIN32) && !defined(OPENSSL_NO_CAPIENG)
+       ENGINE_load_capi();
+#endif
 #endif
+       ENGINE_register_all_complete();
        }
 
 #if defined(__OpenBSD__) || defined(__FreeBSD__)