This commit is contained in:
Quanah Gibson-Mount 2008-04-14 21:29:12 +00:00
parent 99927ba377
commit 4a6f42b606
2 changed files with 33 additions and 10 deletions

View file

@ -2,6 +2,7 @@ OpenLDAP 2.3 Change Log
OpenLDAP 2.3.42 Engineering
Fixed slapd pagedresults stale state (ITS#5409)
Fixed slapd-ldap connection handler (ITS#5404)
OpenLDAP 2.3.41 Release (2008/02/19)
Fixed slapd timestamp race condition (ITS#5370)

View file

@ -1311,15 +1311,26 @@ retry_lock:;
lutil_sasl_freedefs( defaults );
rs->sr_err = slap_map_api2result( rs );
if ( rs->sr_err != LDAP_SUCCESS ) {
switch ( rs->sr_err ) {
case LDAP_SUCCESS:
LDAP_BACK_CONN_ISBOUND_SET( lc );
break;
case LDAP_LOCAL_ERROR:
/* list client API error codes that require
* to taint the connection */
/* FIXME: should actually retry? */
LDAP_BACK_CONN_TAINTED_SET( lc );
/* fallthru */
default:
LDAP_BACK_CONN_ISBOUND_CLEAR( lc );
rs->sr_err = slap_map_api2result( rs );
if ( sendok & LDAP_BACK_SENDERR ) {
send_ldap_result( op, rs );
}
} else {
LDAP_BACK_CONN_ISBOUND_SET( lc );
break;
}
if ( LDAP_BACK_QUARANTINE( li ) ) {
@ -1999,15 +2010,26 @@ ldap_back_proxy_authz_bind(
LDAP_SASL_QUIET, lutil_sasl_interact,
defaults );
rs->sr_err = slap_map_api2result( rs );
if ( rs->sr_err != LDAP_SUCCESS ) {
switch ( rs->sr_err ) {
case LDAP_SUCCESS:
LDAP_BACK_CONN_ISBOUND_SET( lc );
break;
case LDAP_LOCAL_ERROR:
/* list client API error codes that require
* to taint the connection */
/* FIXME: should actually retry? */
LDAP_BACK_CONN_TAINTED_SET( lc );
/* fallthru */
default:
LDAP_BACK_CONN_ISBOUND_CLEAR( lc );
rs->sr_err = slap_map_api2result( rs );
if ( sendok & LDAP_BACK_SENDERR ) {
send_ldap_result( op, rs );
}
} else {
LDAP_BACK_CONN_ISBOUND_SET( lc );
break;
}
lutil_sasl_freedefs( defaults );