From 15853f1e74c471bc9bc7e607c7a89848e7b1c688 Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Thu, 8 Jun 2006 19:35:42 +0000 Subject: [PATCH] ITS#4583 use mutex around SSL_accept() --- libraries/libldap/tls.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/libraries/libldap/tls.c b/libraries/libldap/tls.c index 9dfbd73ef4..3d8333f64a 100644 --- a/libraries/libldap/tls.c +++ b/libraries/libldap/tls.c @@ -93,6 +93,7 @@ static void tls_locking_cb( int mode, int type, const char *file, int line ) */ static ldap_pvt_thread_mutex_t tls_def_ctx_mutex; +static ldap_pvt_thread_mutex_t tls_connect_mutex; static void tls_init_threads( void ) { @@ -105,6 +106,7 @@ static void tls_init_threads( void ) /* FIXME: the thread id should be added somehow... */ ldap_pvt_thread_mutex_init( &tls_def_ctx_mutex ); + ldap_pvt_thread_mutex_init( &tls_connect_mutex ); } #endif /* LDAP_R_COMPILE */ @@ -862,7 +864,13 @@ ldap_pvt_tls_accept( Sockbuf *sb, void *ctx_arg ) LBER_SBIOD_LEVEL_TRANSPORT, (void *)ssl ); } +#ifdef LDAP_R_COMPILE + ldap_pvt_thread_mutex_lock( &tls_connect_mutex ); +#endif err = SSL_accept( ssl ); +#ifdef LDAP_R_COMPILE + ldap_pvt_thread_mutex_unlock( &tls_connect_mutex ); +#endif #ifdef HAVE_WINSOCK errno = WSAGetLastError(); -- 2.39.5