mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-09-02 23:55:27 +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:
committed by
Mark Andrews
parent
5bfec15ad4
commit
71a8f1e7cd
@@ -85,14 +85,20 @@ dst__openssl_init(const char *engine) {
|
|||||||
result = DST_R_NOENGINE;
|
result = DST_R_NOENGINE;
|
||||||
goto cleanup_rm;
|
goto cleanup_rm;
|
||||||
}
|
}
|
||||||
|
if (!ENGINE_init(e)) {
|
||||||
|
result = DST_R_NOENGINE;
|
||||||
|
goto cleanup_rm;
|
||||||
|
}
|
||||||
/* This will init the engine. */
|
/* This will init the engine. */
|
||||||
if (!ENGINE_set_default(e, ENGINE_METHOD_ALL)) {
|
if (!ENGINE_set_default(e, ENGINE_METHOD_ALL)) {
|
||||||
result = DST_R_NOENGINE;
|
result = DST_R_NOENGINE;
|
||||||
goto cleanup_rm;
|
goto cleanup_init;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return (ISC_R_SUCCESS);
|
return (ISC_R_SUCCESS);
|
||||||
|
cleanup_init:
|
||||||
|
ENGINE_finish(e);
|
||||||
cleanup_rm:
|
cleanup_rm:
|
||||||
if (e != NULL) {
|
if (e != NULL) {
|
||||||
ENGINE_free(e);
|
ENGINE_free(e);
|
||||||
@@ -108,6 +114,7 @@ void
|
|||||||
dst__openssl_destroy(void) {
|
dst__openssl_destroy(void) {
|
||||||
#if !defined(OPENSSL_NO_ENGINE) && OPENSSL_API_LEVEL < 30000
|
#if !defined(OPENSSL_NO_ENGINE) && OPENSSL_API_LEVEL < 30000
|
||||||
if (e != NULL) {
|
if (e != NULL) {
|
||||||
|
ENGINE_finish(e);
|
||||||
ENGINE_free(e);
|
ENGINE_free(e);
|
||||||
}
|
}
|
||||||
e = NULL;
|
e = NULL;
|
||||||
|
Reference in New Issue
Block a user