Commit d558590b authored by Pierangelo Masarati's avatar Pierangelo Masarati
Browse files

import fix to ITS#5185

parent 86a76939
...@@ -11,6 +11,7 @@ OpenLDAP 2.3.39 Engineering ...@@ -11,6 +11,7 @@ OpenLDAP 2.3.39 Engineering
Fixed slapd-ldap SASL idassert w/o authcId Fixed slapd-ldap SASL idassert w/o authcId
Fixed slapd-ldif directory separators in DN (ITS#5172) Fixed slapd-ldif directory separators in DN (ITS#5172)
Fixed slapd-meta conn caching on bind failure (ITS#5154) Fixed slapd-meta conn caching on bind failure (ITS#5154)
Fixed slapd-meta bind timeout assertion (ITS#5185)
Fixed slapd-sql concurrency issue (ITS#5095) Fixed slapd-sql concurrency issue (ITS#5095)
Fixed slapo-chain double-free (ITS#5137) Fixed slapo-chain double-free (ITS#5137)
Fixed slapo-pcache and -rwm interaction fix (ITS#4991) Fixed slapo-pcache and -rwm interaction fix (ITS#4991)
......
...@@ -1183,7 +1183,8 @@ retry_lock:; ...@@ -1183,7 +1183,8 @@ retry_lock:;
case LDAP_REQ_BIND: case LDAP_REQ_BIND:
/* if bound as rootdn, the backend must bind to all targets /* 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 ) ) { if ( op->orb_method == LDAP_AUTH_SIMPLE && be_isroot_pw( op ) ) {
op_type = META_OP_REQUIRE_ALL; op_type = META_OP_REQUIRE_ALL;
} }
...@@ -1241,6 +1242,9 @@ retry_lock:; ...@@ -1241,6 +1242,9 @@ retry_lock:;
rs, mc, i, LDAP_BACK_CONN_ISPRIV( &mc_curr ), rs, mc, i, LDAP_BACK_CONN_ISPRIV( &mc_curr ),
LDAP_BACK_DONTSEND, !new_conn ); LDAP_BACK_DONTSEND, !new_conn );
if ( candidates[ i ].sr_err == LDAP_SUCCESS ) { 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 ] ); META_CANDIDATE_SET( &candidates[ i ] );
ncandidates++; ncandidates++;
...@@ -1430,6 +1434,10 @@ retry_lock2:; ...@@ -1430,6 +1434,10 @@ retry_lock2:;
return NULL; return NULL;
} }
if ( new_conn && ( sendok & LDAP_BACK_BINDING ) ) {
LDAP_BACK_CONN_BINDING_SET( &mc->mc_conns[ i ] );
}
candidates[ i ].sr_err = LDAP_SUCCESS; candidates[ i ].sr_err = LDAP_SUCCESS;
META_CANDIDATE_SET( &candidates[ i ] ); META_CANDIDATE_SET( &candidates[ i ] );
ncandidates++; ncandidates++;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment