aboutsummaryrefslogtreecommitdiff
path: root/lib/vtls
diff options
context:
space:
mode:
authorDaniel Stenberg <daniel@haxx.se>2014-08-07 12:02:34 +0200
committerDaniel Stenberg <daniel@haxx.se>2014-08-07 12:40:31 +0200
commit7d2f61f66ab4e047fc9aefc2effc1ac6d340a66a (patch)
tree203d77cca9db1f0a7e4df1cd0fe0409419743ba3 /lib/vtls
parent40e13829afab4999543f1baf4fa2ca7390206f44 (diff)
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
Diffstat (limited to 'lib/vtls')
-rw-r--r--lib/vtls/openssl.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c
index fa879d974..62d86c017 100644
--- a/lib/vtls/openssl.c
+++ b/lib/vtls/openssl.c
@@ -741,7 +741,17 @@ int Curl_ossl_init(void)
return 0;
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;
}