2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 06:25:31 +00:00

Add ENGINE_init and ENGINE_finish calls

According to manual page of ENGINE_init, it should be called explicitly
before any key operations happens. Make it active whole lifetime.
This commit is contained in:
Petr Menšík
2022-09-07 13:46:31 +02:00
committed by Mark Andrews
parent 5bfec15ad4
commit 71a8f1e7cd

View File

@@ -85,14 +85,20 @@ dst__openssl_init(const char *engine) {
result = DST_R_NOENGINE;
goto cleanup_rm;
}
if (!ENGINE_init(e)) {
result = DST_R_NOENGINE;
goto cleanup_rm;
}
/* This will init the engine. */
if (!ENGINE_set_default(e, ENGINE_METHOD_ALL)) {
result = DST_R_NOENGINE;
goto cleanup_rm;
goto cleanup_init;
}
}
return (ISC_R_SUCCESS);
cleanup_init:
ENGINE_finish(e);
cleanup_rm:
if (e != NULL) {
ENGINE_free(e);
@@ -108,6 +114,7 @@ void
dst__openssl_destroy(void) {
#if !defined(OPENSSL_NO_ENGINE) && OPENSSL_API_LEVEL < 30000
if (e != NULL) {
ENGINE_finish(e);
ENGINE_free(e);
}
e = NULL;