From 5ac9de4d369a464c6e013bf7a5fc46ab267fa828 Mon Sep 17 00:00:00 2001 From: Jong Hyuk Choi Date: Mon, 14 Jun 2004 23:41:13 +0000 Subject: [PATCH] More backglue fix: do not return NO_SUCH_OBJECT when the base object is located above the subordinate database in search --- servers/slapd/backglue.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/servers/slapd/backglue.c b/servers/slapd/backglue.c index c7e9543e33..c7f10b058f 100644 --- a/servers/slapd/backglue.c +++ b/servers/slapd/backglue.c @@ -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 ); -- 2.39.5