From 94d918ff590988bd126e34fd281286b576f1164c Mon Sep 17 00:00:00 2001 From: "William A. Rowe Jr" Date: Tue, 24 Jun 2003 21:40:32 +0000 Subject: [PATCH] Narrow the scope of several OPENSSL-specific setup and teardown calls to only OpenSSL based builds. Also introduce success result for the registered cleanup callback to clean up a compiler emit. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@100348 13f79535-47bb-0310-9956-ffa450edef68 --- modules/ssl/mod_ssl.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/modules/ssl/mod_ssl.c b/modules/ssl/mod_ssl.c index fe24ea8da1..e810168a61 100644 --- a/modules/ssl/mod_ssl.c +++ b/modules/ssl/mod_ssl.c @@ -235,7 +235,7 @@ static apr_status_t ssl_cleanup_pre_config(void *data) /* * Try to kill the internals of the SSL library. */ -#ifdef OPENSSL_VERSION_NUMBER +#ifdef HAVE_OPENSSL #if OPENSSL_VERSION_NUMBER >= 0x00907001 /* Corresponds to OPENSSL_load_builtin_modules(): * XXX: borrowed from apps.h, but why not CONF_modules_free() @@ -249,7 +249,11 @@ static apr_status_t ssl_cleanup_pre_config(void *data) #if HAVE_ENGINE_LOAD_BUILTIN_ENGINES ENGINE_cleanup(); #endif +#ifdef HAVE_OPENSSL +#if OPENSSL_VERSION_NUMBER >= 0x00907001 CRYPTO_cleanup_all_ex_data(); +#endif +#endif ERR_remove_state(0); ERR_free_strings(); /* @@ -257,6 +261,7 @@ static apr_status_t ssl_cleanup_pre_config(void *data) * (when enabled) at this late stage in the game: * CRYPTO_mem_leaks_fp(stderr); */ + return APR_SUCCESS; } static int ssl_hook_pre_config(apr_pool_t *pconf, @@ -267,12 +272,14 @@ static int ssl_hook_pre_config(apr_pool_t *pconf, * code can successfully test the SSL environment. */ CRYPTO_malloc_init(); +#ifdef HAVE_OPENSSL ERR_load_crypto_strings(); +#endif SSL_library_init(); #if HAVE_ENGINE_LOAD_BUILTIN_ENGINES ENGINE_load_builtin_engines(); #endif -#ifdef OPENSSL_VERSION_NUMBER +#ifdef HAVE_OPENSSL #if OPENSSL_VERSION_NUMBER >= 0x00907001 OPENSSL_load_builtin_modules(); #endif -- 2.40.0