]> git.sur5r.net Git - openldap/commitdiff
ITS#5791
authorQuanah Gibson-Mount <quanah@openldap.org>
Mon, 10 Nov 2008 23:26:08 +0000 (23:26 +0000)
committerQuanah Gibson-Mount <quanah@openldap.org>
Mon, 10 Nov 2008 23:26:08 +0000 (23:26 +0000)
CHANGES
servers/slapd/back-bdb/filterindex.c

diff --git a/CHANGES b/CHANGES
index 04b6719a9ead7f41054d079fe1c35fc5dfda8fdc..9c53c5688d9c3f14b57c311e93b1f3f9a022f690 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -29,6 +29,7 @@ OpenLDAP 2.4.13 Engineering
        Added slapd-bdb/hdb dbpagesize keyword
        Added slapd-bdb/hdb checksum keyword
        Fixed slapd-bdb/hdb indexing of entryDN (ITS#5790)
+       Fixed slapd-bdb/hdb lookup of entryDN with equality (ITS#5791)
        Fixed slapd-ldap snprintf buffer overflow test (ITS#4467)
        Fixed slapd-ldif file rename on windows (ITS#5774)
        Fixed slapd-null read controls support (ITS#5757)
index 6e9ec9d54032c633ac861b09f023868f1ae65439..31fd91b342ea411c1a79f4330ea8d69f748e2f8b 100644 (file)
@@ -717,6 +717,16 @@ 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 ) {
+               EntryInfo *ei = NULL;
+               rc = bdb_cache_find_ndn( op, rtxn, &ava->aa_value, &ei );
+               if ( rc == LDAP_SUCCESS )
+                       bdb_idl_insert( ids, ei->bei_id );
+               if ( ei )
+                       bdb_cache_entryinfo_unlock( ei );
+               return rc;
+       }
+
        BDB_IDL_ALL( bdb, ids );
 
        rc = bdb_index_param( op->o_bd, ava->aa_desc, LDAP_FILTER_EQUALITY,