set BINDING appropriately (ITS#5185)

This commit is contained in:
Pierangelo Masarati 2007-10-13 10:13:38 +00:00
parent 3b13aef53b
commit e25169ccce

View file

@ -1181,7 +1181,8 @@ retry_lock:;
case LDAP_REQ_BIND:
/* if bound as rootdn, the backend must bind to all targets
* with the administrative identity */
* with the administrative identity
* (unless pseoudoroot-bind-defer is TRUE) */
if ( op->orb_method == LDAP_AUTH_SIMPLE && be_isroot_pw( op ) ) {
op_type = META_OP_REQUIRE_ALL;
}
@ -1239,6 +1240,9 @@ retry_lock:;
rs, mc, i, LDAP_BACK_CONN_ISPRIV( &mc_curr ),
LDAP_BACK_DONTSEND, !new_conn );
if ( candidates[ i ].sr_err == LDAP_SUCCESS ) {
if ( new_conn && ( sendok & LDAP_BACK_BINDING ) ) {
LDAP_BACK_CONN_BINDING_SET( &mc->mc_conns[ i ] );
}
META_CANDIDATE_SET( &candidates[ i ] );
ncandidates++;
@ -1428,6 +1432,10 @@ retry_lock2:;
return NULL;
}
if ( new_conn && ( sendok & LDAP_BACK_BINDING ) ) {
LDAP_BACK_CONN_BINDING_SET( &mc->mc_conns[ i ] );
}
candidates[ i ].sr_err = LDAP_SUCCESS;
META_CANDIDATE_SET( &candidates[ i ] );
ncandidates++;