From: Pierangelo Masarati Date: Fri, 18 Aug 2006 15:22:26 +0000 (+0000) Subject: the conn may not be bound yet even if the bound DN is set... X-Git-Tag: OPENLDAP_REL_ENG_2_4_3ALPHA~2^2~8 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=5b317f5b85265d769ed7eb6eaca9cd32ab96debe;p=openldap the conn may not be bound yet even if the bound DN is set... --- diff --git a/servers/slapd/back-ldap/bind.c b/servers/slapd/back-ldap/bind.c index 3df85b3cce..f117565053 100644 --- a/servers/slapd/back-ldap/bind.c +++ b/servers/slapd/back-ldap/bind.c @@ -921,7 +921,9 @@ ldap_back_dobind_int( { ldapinfo_t *li = (ldapinfo_t *)op->o_bd->be_private; - int rc, binding = 0; + int rc, + isbound, + binding = 0; ber_int_t msgid; assert( retries >= 0 ); @@ -933,8 +935,8 @@ retry_lock:; if ( binding == 0 ) { /* check if already bound */ - rc = LDAP_BACK_CONN_ISBOUND( lc ); - if ( rc ) { + rc = isbound = LDAP_BACK_CONN_ISBOUND( lc ); + if ( isbound ) { lc->lc_binding--; if ( dolock ) { ldap_pvt_thread_mutex_unlock( &li->li_conninfo.lai_mutex ); @@ -995,8 +997,7 @@ retry_lock:; */ if ( op->o_conn != NULL && !op->o_do_not_cache && - ( BER_BVISNULL( &lc->lc_bound_ndn ) || - ( li->li_idassert_flags & LDAP_BACK_AUTH_OVERRIDE ) ) ) + ( !isbound || ( li->li_idassert_flags & LDAP_BACK_AUTH_OVERRIDE ) ) ) { (void)ldap_back_proxy_authz_bind( lc, op, rs, sendok ); goto done;