openssl: replace call to OPENSSL_config

OPENSSL_config() is "strongly recommended" to use but unfortunately that
function makes an exit() call on wrongly formatted config files which
makes it hard to use in some situations. OPENSSL_config() itself calls
CONF_modules_load_file() and we use that instead and we ignore its
return code!

Reported-by: Jan Ehrhardt
Bug: http://curl.haxx.se/bug/view.cgi?id=1401
This commit is contained in:
Daniel Stenberg 2014-08-07 12:02:34 +02:00
parent 40e13829af
commit 7d2f61f66a

View File

@ -741,7 +741,17 @@ int Curl_ossl_init(void)
return 0; return 0;
OpenSSL_add_all_algorithms(); OpenSSL_add_all_algorithms();
OPENSSL_config(NULL);
/* OPENSSL_config(NULL); is "strongly recommended" to use but unfortunately
that function makes an exit() call on wrongly formatted config files
which makes it hard to use in some situations. OPENSSL_config() itself
calls CONF_modules_load_file() and we use that instead and we ignore
its return code! */
(void)CONF_modules_load_file(NULL, NULL,
CONF_MFLAGS_DEFAULT_SECTION|
CONF_MFLAGS_IGNORE_MISSING_FILE);
return 1; return 1;
} }