summaryrefslogtreecommitdiffstats
path: root/ssl/ssl_lib.c
diff options
context:
space:
mode:
authorDr. Stephen Henson <steve@openssl.org>2008-06-05 15:13:03 +0000
committerDr. Stephen Henson <steve@openssl.org>2008-06-05 15:13:03 +0000
commit0278e15fa358bc1d09bfed8132fb347bb3986a5c (patch)
treed054d6a3c06ab5bfd2d86404342a58dc80651468 /ssl/ssl_lib.c
parentf01f085cb9195ae8832dced7568b8b3ff045cebe (diff)
If auto load ENGINE lookup fails retry adding builtin ENGINEs.
Diffstat (limited to 'ssl/ssl_lib.c')
-rw-r--r--ssl/ssl_lib.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ssl/ssl_lib.c b/ssl/ssl_lib.c
index c834eada16..5c6ca2e666 100644
--- a/ssl/ssl_lib.c
+++ b/ssl/ssl_lib.c
@@ -1525,6 +1525,12 @@ SSL_CTX *SSL_CTX_new(SSL_METHOD *meth)
{
ENGINE *eng;
eng = ENGINE_by_id(eng_str(OPENSSL_SSL_CLIENT_ENGINE_AUTO));
+ if (!eng)
+ {
+ ERR_clear_error();
+ ENGINE_load_builtin_engines();
+ eng = ENGINE_by_id(eng_str(OPENSSL_SSL_CLIENT_ENGINE_AUTO));
+ }
if (!eng || !SSL_CTX_set_client_cert_engine(ret, eng))
ERR_clear_error();
}