Skip to content

Commit

Permalink
openssl: Fix algorithm init
Browse files Browse the repository at this point in the history
- Change algorithm init to happen after OpenSSL config load.

Additional algorithms may be available due to the user's config so we
initialize the algorithms after the user's config is loaded.

Bug: curl#447
Reported-by: Denis Feklushkin
  • Loading branch information
ex-troll authored and jgsogo committed Oct 19, 2015
1 parent e42f4f6 commit 843756d
Showing 1 changed file with 9 additions and 10 deletions.
19 changes: 9 additions & 10 deletions lib/vtls/openssl.c
Expand Up @@ -702,16 +702,6 @@ int Curl_ossl_init(void)
ENGINE_load_builtin_engines();
#endif

/* Lets get nice error messages */
SSL_load_error_strings();

/* Init the global ciphers and digests */
if(!SSLeay_add_ssl_algorithms())
return 0;

OpenSSL_add_all_algorithms();


/* 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
Expand All @@ -728,6 +718,15 @@ int Curl_ossl_init(void)
CONF_MFLAGS_DEFAULT_SECTION|
CONF_MFLAGS_IGNORE_MISSING_FILE);

/* Lets get nice error messages */
SSL_load_error_strings();

/* Init the global ciphers and digests */
if(!SSLeay_add_ssl_algorithms())
return 0;

OpenSSL_add_all_algorithms();

return 1;
}

Expand Down

0 comments on commit 843756d

Please sign in to comment.