From 6df13e614cf6898b6d67f36c9b185a7530102ef1 Mon Sep 17 00:00:00 2001 From: Daniel-Constantin Mierla Date: Mon, 5 Oct 2020 15:28:23 +0200 Subject: [PATCH] tls: reintroduced use of OPENSSL_cleanup() on mod destroy - by that avoid executing it on atexit() callback, when shm is gone --- src/modules/tls/tls_init.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/src/modules/tls/tls_init.c b/src/modules/tls/tls_init.c index f10d0c03441..8bdd14f2cc6 100644 --- a/src/modules/tls/tls_init.c +++ b/src/modules/tls/tls_init.c @@ -627,13 +627,14 @@ int tls_h_mod_pre_init_f(void) return 0; } LM_DBG("preparing tls env for modules initialization\n"); -#if OPENSSL_VERSION_NUMBER < 0x010100000L || defined(LIBRESSL_VERSION_NUMBER) +#if OPENSSL_VERSION_NUMBER >= 0x010100000L && !defined(LIBRESSL_VERSION_NUMBER) + LM_DBG("preparing tls env for modules initialization (libssl >=1.1)\n"); + OPENSSL_init_ssl(0, NULL); +#else LM_DBG("preparing tls env for modules initialization (libssl <=1.0)\n"); SSL_library_init(); - SSL_load_error_strings(); -#else - LM_DBG("preparing tls env for modules initialization (libssl >=1.1)\n"); #endif + SSL_load_error_strings(); tls_mod_preinitialized=1; return 0; } @@ -865,7 +866,6 @@ int tls_check_sockets(tls_domains_cfg_t* cfg) void tls_h_mod_destroy_f(void) { LM_DBG("tls module final tls destroy\n"); -#if OPENSSL_VERSION_NUMBER < 0x010100000L || defined(LIBRESSL_VERSION_NUMBER) if(tls_mod_preinitialized > 0) ERR_free_strings(); /* TODO: free all the ctx'es */ @@ -878,5 +878,4 @@ void tls_h_mod_destroy_f(void) LM_DBG("executing openssl v1.1+ cleanup\n"); OPENSSL_cleanup(); #endif -#endif }