Skip to content
Snippets Groups Projects
Commit 45aaaddb authored by Pierangelo Masarati's avatar Pierangelo Masarati
Browse files

lookup entry id when equality on entryDN (proposed fix for ITS#5791; does not...

lookup entry id when equality on entryDN (proposed fix for ITS#5791; does not work for back-hdb, though)
parent d4970fcb
No related branches found
No related tags found
No related merge requests found
......@@ -697,6 +697,28 @@ done:
return rc;
}
static int
dn_equality_candidate(
Operation *op,
DB_TXN *rtxn,
struct berval *ndn,
ID *ids )
{
struct bdb_info *bdb = (struct bdb_info *) op->o_bd->be_private;
EntryInfo ei = { 0 };
DB_LOCK lock;
int rc;
lock.mode = DB_LOCK_NG;
rc = bdb_dn2id( op, ndn, &ei, rtxn, &lock );
if ( rc == 0 ) {
BDB_IDL_RANGE( ids, ei.bei_id, ei.bei_id );
bdb_cache_entry_db_unlock( bdb, &lock );
}
return rc;
}
static int
equality_candidates(
Operation *op,
......@@ -717,6 +739,10 @@ equality_candidates(
Debug( LDAP_DEBUG_TRACE, "=> bdb_equality_candidates (%s)\n",
ava->aa_desc->ad_cname.bv_val, 0, 0 );
if ( ava->aa_desc == slap_schema.si_ad_entryDN ) {
return dn_equality_candidate( op, rtxn, &ava->aa_value, ids );
}
BDB_IDL_ALL( bdb, ids );
rc = bdb_index_param( op->o_bd, ava->aa_desc, LDAP_FILTER_EQUALITY,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment