From dcbd0113bce75beb0fe67cd370ce4638c9da1977 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Tue, 13 Feb 2024 17:29:05 +0000 Subject: [PATCH] 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. --- libraries/libldap/init.c | 3 +++ libraries/libldap/tls2.c | 14 +------------- 2 files changed, 4 insertions(+), 13 deletions(-) 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(); } /* -- 2.47.2