From a5c864ce901483d6f1067c22cb7c0a6322d351f5 Mon Sep 17 00:00:00 2001 From: Shane Lontis Date: Tue, 14 Apr 2020 12:25:34 +1000 Subject: [PATCH] Fix Dynamic engine loading so that the call to ENGINE_load_builtin_engines() is performed. Fixes #11510 PR #11240 Added support for passing the libctx to the config loader. As part of this work the call to OPENSSL_load_builtin_modules() + ENGINE_load_builtin_engines() was deferred until module_run() is called. The call to ENGINE_load_builtin_engines() has been added to ENGINE_by_id(). Reviewed-by: Matt Caswell Reviewed-by: Dmitry Belyavskiy (Merged from https://github.com/openssl/openssl/pull/11543) --- crypto/engine/eng_list.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/crypto/engine/eng_list.c b/crypto/engine/eng_list.c index 7659231e56..4bd0059233 100644 --- a/crypto/engine/eng_list.c +++ b/crypto/engine/eng_list.c @@ -282,6 +282,8 @@ ENGINE *ENGINE_by_id(const char *id) ENGINEerr(ENGINE_F_ENGINE_BY_ID, ERR_R_PASSED_NULL_PARAMETER); return NULL; } + ENGINE_load_builtin_engines(); + if (!RUN_ONCE(&engine_lock_init, do_engine_lock_init)) { ENGINEerr(ENGINE_F_ENGINE_BY_ID, ERR_R_MALLOC_FAILURE); return NULL;