apr_pool_t *plog,
apr_pool_t *ptemp)
{
- /* Preregister the malloc callbacks so cmds can make library calls */
+ /* We must register the library in full, to ensure our configuration
+ * code can successfully test the SSL environment.
+ */
CRYPTO_malloc_init();
+ ERR_load_crypto_strings();
+ OpenSSL_add_all_algorithms();
+#if HAVE_ENGINE_LOAD_BUILTIN_ENGINES
+ ENGINE_load_builtin_engines();
+#endif
+ OPENSSL_load_builtin_modules();
+ SSL_load_error_strings();
/* Register us to handle mod_log_config %c/%x variables */
ssl_var_log_config_register(pconf);
}
-/*
- * Initialize SSL library
- */
-static void ssl_init_SSLLibrary(server_rec *s)
-{
- ap_log_error(APLOG_MARK, APLOG_INFO, 0, s,
- "Init: Initializing %s library", SSL_LIBRARY_NAME);
-
- SSL_load_error_strings();
- SSL_library_init();
-}
-
/*
* Handle the Temporary RSA Keys and DH Params
*/
ssl_init_Engine(base_server, p);
#endif
- ssl_init_SSLLibrary(base_server);
-
#if APR_HAS_THREADS
ssl_util_thread_setup(p);
#endif
+ ap_log_error(APLOG_MARK, APLOG_INFO, 0, s,
+ "Init: Initialized %s library", SSL_LIBRARY_NAME);
+
/*
* Seed the Pseudo Random Number Generator (PRNG)
* only need ptemp here; nothing inside allocated from the pool