mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-01 12:39:35 -05:00
More backglue fix: do not return NO_SUCH_OBJECT when the base object is located above the subordinate database in search
This commit is contained in:
parent
6c41f12ff1
commit
5ac9de4d36
1 changed files with 8 additions and 0 deletions
|
|
@ -349,12 +349,20 @@ glue_back_search ( Operation *op, SlapReply *rs )
|
|||
op->o_req_ndn = op->o_bd->be_nsuffix[0];
|
||||
rs->sr_err = op->o_bd->be_search(op, rs);
|
||||
|
||||
} else if (scope0 == LDAP_SCOPE_SUBTREE &&
|
||||
dn_match(&op->o_bd->be_nsuffix[0], &ndn))
|
||||
{
|
||||
rs->sr_err = op->o_bd->be_search( op, rs );
|
||||
|
||||
} else if (scope0 == LDAP_SCOPE_SUBTREE &&
|
||||
dnIsSuffix(&op->o_bd->be_nsuffix[0], &ndn))
|
||||
{
|
||||
op->o_req_dn = op->o_bd->be_suffix[0];
|
||||
op->o_req_ndn = op->o_bd->be_nsuffix[0];
|
||||
rs->sr_err = op->o_bd->be_search( op, rs );
|
||||
if ( rs->sr_err == LDAP_NO_SUCH_OBJECT ) {
|
||||
gs.err = LDAP_SUCCESS;
|
||||
}
|
||||
|
||||
} else if (dnIsSuffix(&ndn, &op->o_bd->be_nsuffix[0])) {
|
||||
rs->sr_err = op->o_bd->be_search( op, rs );
|
||||
|
|
|
|||
Loading…
Reference in a new issue