mirror of
https://github.com/apache/httpd.git
synced 2025-08-08 15:02:10 +03:00
Solve a pretty horrific bug in SSLCryptoDevice and other places where
the config cmd processors should be examining the SSL context. We must initialize the SSL library before we can actually obtain any useful information from the SSL library. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@100107 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
@@ -235,8 +235,17 @@ static int ssl_hook_pre_config(apr_pool_t *pconf,
|
|||||||
apr_pool_t *plog,
|
apr_pool_t *plog,
|
||||||
apr_pool_t *ptemp)
|
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();
|
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 */
|
/* Register us to handle mod_log_config %c/%x variables */
|
||||||
ssl_var_log_config_register(pconf);
|
ssl_var_log_config_register(pconf);
|
||||||
|
@@ -106,18 +106,6 @@ static void ssl_add_version_components(apr_pool_t *p,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* 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
|
* Handle the Temporary RSA Keys and DH Params
|
||||||
*/
|
*/
|
||||||
@@ -274,12 +262,13 @@ int ssl_init_Module(apr_pool_t *p, apr_pool_t *plog,
|
|||||||
ssl_init_Engine(base_server, p);
|
ssl_init_Engine(base_server, p);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
ssl_init_SSLLibrary(base_server);
|
|
||||||
|
|
||||||
#if APR_HAS_THREADS
|
#if APR_HAS_THREADS
|
||||||
ssl_util_thread_setup(p);
|
ssl_util_thread_setup(p);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
ap_log_error(APLOG_MARK, APLOG_INFO, 0, s,
|
||||||
|
"Init: Initialized %s library", SSL_LIBRARY_NAME);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Seed the Pseudo Random Number Generator (PRNG)
|
* Seed the Pseudo Random Number Generator (PRNG)
|
||||||
* only need ptemp here; nothing inside allocated from the pool
|
* only need ptemp here; nothing inside allocated from the pool
|
||||||
|
Reference in New Issue
Block a user