From: Kurt Zeilenga Date: Fri, 22 Jan 1999 05:46:23 +0000 (+0000) Subject: Import resetting of c_dn/c_cdn after anonymous bind. X-Git-Tag: OPENLDAP_REL_ENG_1_2_BETA~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8a5bbf9b0808a17543cd7141623a91a79c633232;p=thirdparty%2Fopenldap.git Import resetting of c_dn/c_cdn after anonymous bind. --- diff --git a/servers/slapd/bind.c b/servers/slapd/bind.c index d5d4cae966..b4ad462599 100644 --- a/servers/slapd/bind.c +++ b/servers/slapd/bind.c @@ -135,6 +135,22 @@ do_bind( free( cred.bv_val ); } + pthread_mutex_lock( &conn->c_dnmutex ); + + conn->c_protocol = version; + + if ( conn->c_cdn != NULL ) { + free( conn->c_cdn ); + conn->c_cdn = NULL; + } + + if ( conn->c_dn != NULL ) { + free( conn->c_dn ); + conn->c_dn = NULL; + } + + pthread_mutex_unlock( &conn->c_dnmutex ); + send_ldap_result( conn, op, LDAP_SUCCESS, NULL, NULL ); return; } @@ -152,6 +168,22 @@ do_bind( free( cred.bv_val ); } if ( cred.bv_len == 0 ) { + pthread_mutex_lock( &conn->c_dnmutex ); + + conn->c_protocol = version; + + if ( conn->c_cdn != NULL ) { + free( conn->c_cdn ); + conn->c_cdn = NULL; + } + + if ( conn->c_dn != NULL ) { + free( conn->c_dn ); + conn->c_dn = NULL; + } + + pthread_mutex_unlock( &conn->c_dnmutex ); + send_ldap_result( conn, op, LDAP_SUCCESS, NULL, NULL ); } else if ( default_referral && *default_referral ) {