From: Shane Lontis Date: Tue, 14 Apr 2020 02:25:34 +0000 (+1000) Subject: Fix Dynamic engine loading so that the call to ENGINE_load_builtin_engines() is perfo... X-Git-Tag: openssl-3.0.0-alpha1~109 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a5c864ce901483d6f1067c22cb7c0a6322d351f5;p=oweals%2Fopenssl.git 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) --- 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;