From: Howard Chu Date: Tue, 13 Feb 2024 17:29:05 +0000 (+0000) Subject: Revert "ITS#9952 libldap: use atexit for TLS teardown" X-Git-Tag: OPENLDAP_REL_ENG_2_5_18~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dcbd0113bce75beb0fe67cd370ce4638c9da1977;p=thirdparty%2Fopenldap.git Revert "ITS#9952 libldap: use atexit for TLS teardown" This reverts commit 337455eb3a66176cc3f66d2c663a72cc7b4178bd. The change was non-portable, caused ITS#10176. OpenSSL 3 is broken and should be fixed. --- diff --git a/libraries/libldap/init.c b/libraries/libldap/init.c index b9915533bd..3a81790dcf 100644 --- a/libraries/libldap/init.c +++ b/libraries/libldap/init.c @@ -544,6 +544,9 @@ ldap_int_destroy_global_options(void) gopts->ldo_def_sasl_authcid = NULL; } #endif +#ifdef HAVE_TLS + ldap_int_tls_destroy( gopts ); +#endif } /* diff --git a/libraries/libldap/tls2.c b/libraries/libldap/tls2.c index f9dcbfc8d7..4a5d42b297 100644 --- a/libraries/libldap/tls2.c +++ b/libraries/libldap/tls2.c @@ -160,14 +160,6 @@ ldap_pvt_tls_destroy( void ) tls_imp->ti_tls_destroy(); } -static void -ldap_exit_tls_destroy( void ) -{ - struct ldapoptions *lo = LDAP_INT_GLOBAL_OPT(); - - ldap_int_tls_destroy( lo ); -} - /* * Initialize a particular TLS implementation. * Called once per implementation. @@ -176,7 +168,6 @@ static int tls_init(tls_impl *impl, int do_threads ) { static int tls_initialized = 0; - int rc; if ( !tls_initialized++ ) { #ifdef LDAP_R_COMPILE @@ -192,10 +183,7 @@ tls_init(tls_impl *impl, int do_threads ) #endif } - rc = impl->ti_tls_init(); - - atexit( ldap_exit_tls_destroy ); - return rc; + return impl->ti_tls_init(); } /*