From 941ceb51ac5432214717e74bb83f0ca1ec3c78e4 Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Wed, 11 Oct 2000 04:41:30 +0000 Subject: [PATCH] Fix SPASSWD mutex bug --- CHANGES | 1 + servers/slapd/backend.c | 4 ++-- servers/slapd/init.c | 4 ++-- servers/slapd/passwd.c | 10 +++++----- 4 files changed, 10 insertions(+), 9 deletions(-) diff --git a/CHANGES b/CHANGES index 0cd63d276f..79167fdc53 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,7 @@ OpenLDAP 2.0 Change Log OpenLDAP 2.0.X Engineering + Fixed slapd spasswd mutex bug Updated -lldap SASL error reporting Updated -lldap TLS error reporting Build Environment diff --git a/servers/slapd/backend.c b/servers/slapd/backend.c index 20856cf7a1..bbd12cad5a 100644 --- a/servers/slapd/backend.c +++ b/servers/slapd/backend.c @@ -513,7 +513,7 @@ be_isroot_pw( Backend *be, return 0; } -#if defined( SLAPD_CRYPT ) || defined( SLAPD_PASSWD ) +#if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD ) ldap_pvt_thread_mutex_lock( &passwd_mutex ); #ifdef SLAPD_SPASSWD lutil_passwd_sasl_conn = conn->c_sasl_context; @@ -522,7 +522,7 @@ be_isroot_pw( Backend *be, result = lutil_passwd( &be->be_root_pw, cred, NULL ); -#if defined( SLAPD_CRYPT ) || defined( SLAPD_PASSWD ) +#if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD ) #ifdef SLAPD_SPASSWD lutil_passwd_sasl_conn = NULL; #endif diff --git a/servers/slapd/init.c b/servers/slapd/init.c index 69f64d4b7a..fe57be4c20 100644 --- a/servers/slapd/init.c +++ b/servers/slapd/init.c @@ -40,7 +40,7 @@ char **g_argv; */ ldap_pvt_thread_pool_t connection_pool; ldap_pvt_thread_mutex_t gmtime_mutex; -#if defined( SLAPD_CRYPT ) || defined( SLAPD_PASSWD ) +#if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD ) ldap_pvt_thread_mutex_t passwd_mutex; #endif @@ -103,7 +103,7 @@ slap_init( int mode, const char *name ) ldap_pvt_thread_mutex_init( &num_sent_mutex ); ldap_pvt_thread_mutex_init( &gmtime_mutex ); -#if defined( SLAPD_CRYPT ) || defined( SLAPD_PASSWD ) +#if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD ) ldap_pvt_thread_mutex_init( &passwd_mutex ); #endif diff --git a/servers/slapd/passwd.c b/servers/slapd/passwd.c index 381fb088fd..79dbe4340d 100644 --- a/servers/slapd/passwd.c +++ b/servers/slapd/passwd.c @@ -1,4 +1,4 @@ -/* bind.c - ldbm backend bind and unbind routines */ +/* passwd.c - passwd routines */ /* $OpenLDAP$ */ /* * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved. @@ -224,7 +224,7 @@ slap_passwd_check( int i; int result = 1; -#if defined( SLAPD_CRYPT ) || defined( SLAPD_PASSWD ) +#if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD ) ldap_pvt_thread_mutex_lock( &passwd_mutex ); #ifdef SLAPD_SPASSWD lutil_passwd_sasl_conn = conn->c_sasl_context; @@ -238,7 +238,7 @@ slap_passwd_check( } } -#if defined( SLAPD_CRYPT ) || defined( SLAPD_PASSWD ) +#if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD ) #ifdef SLAPD_SPASSWD lutil_passwd_sasl_conn = NULL; #endif @@ -266,13 +266,13 @@ struct berval * slap_passwd_hash( struct berval *new; -#if defined( SLAPD_CRYPT ) || defined( SLAPD_PASSWD ) +#if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD ) ldap_pvt_thread_mutex_lock( &passwd_mutex ); #endif new = lutil_passwd_hash( cred , hash ); -#if defined( SLAPD_CRYPT ) || defined( SLAPD_PASSWD ) +#if defined( SLAPD_CRYPT ) || defined( SLAPD_SPASSWD ) ldap_pvt_thread_mutex_unlock( &passwd_mutex ); #endif -- 2.47.2