mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-27 01:59:38 -05:00
ITS#5328 - do not send errors (other than referral) from be->be_chk_referrals()
This commit is contained in:
parent
8a703aba83
commit
01ec3c64ea
1 changed files with 6 additions and 8 deletions
|
|
@ -65,8 +65,8 @@ dn2entry_retry:
|
|||
case 0:
|
||||
break;
|
||||
case LDAP_BUSY:
|
||||
send_ldap_error( op, rs, LDAP_BUSY, "ldap server busy" );
|
||||
LOCK_ID_FREE ( bdb->bi_dbenv, locker );
|
||||
rs->sr_text = "ldap server busy";
|
||||
return LDAP_BUSY;
|
||||
case DB_LOCK_DEADLOCK:
|
||||
case DB_LOCK_NOTGRANTED:
|
||||
|
|
@ -76,13 +76,13 @@ dn2entry_retry:
|
|||
LDAP_XSTRING(bdb_referrals)
|
||||
": dn2entry failed: %s (%d)\n",
|
||||
db_strerror(rc), rc, 0 );
|
||||
send_ldap_error( op, rs, LDAP_OTHER, "internal error" );
|
||||
LOCK_ID_FREE ( bdb->bi_dbenv, locker );
|
||||
return rs->sr_err;
|
||||
rs->sr_text = "internal error";
|
||||
return LDAP_OTHER;
|
||||
}
|
||||
|
||||
if ( rc == DB_NOTFOUND ) {
|
||||
rc = 0;
|
||||
rc = LDAP_SUCCESS;
|
||||
rs->sr_matched = NULL;
|
||||
if ( e != NULL ) {
|
||||
Debug( LDAP_DEBUG_TRACE,
|
||||
|
|
@ -117,9 +117,7 @@ dn2entry_retry:
|
|||
ber_bvarray_free( rs->sr_ref );
|
||||
rs->sr_ref = NULL;
|
||||
} else if ( rc != LDAP_SUCCESS ) {
|
||||
rs->sr_err = rc;
|
||||
rs->sr_text = rs->sr_matched ? "bad referral object" : NULL;
|
||||
send_ldap_result( op, rs );
|
||||
}
|
||||
|
||||
LOCK_ID_FREE ( bdb->bi_dbenv, locker );
|
||||
|
|
@ -148,8 +146,8 @@ dn2entry_retry:
|
|||
ber_bvarray_free( rs->sr_ref );
|
||||
rs->sr_ref = NULL;
|
||||
} else {
|
||||
send_ldap_error( op, rs, LDAP_OTHER, "bad referral object" );
|
||||
rc = rs->sr_err;
|
||||
rc = LDAP_OTHER;
|
||||
rs->sr_text = "bad referral object";
|
||||
}
|
||||
|
||||
rs->sr_matched = NULL;
|
||||
|
|
|
|||
Loading…
Reference in a new issue