]> git.sur5r.net Git - openldap/commitdiff
In presence_candidates(), always return a full match for objectClass.
authorHoward Chu <hyc@openldap.org>
Fri, 30 Nov 2001 01:21:52 +0000 (01:21 +0000)
committerHoward Chu <hyc@openldap.org>
Fri, 30 Nov 2001 01:21:52 +0000 (01:21 +0000)
servers/slapd/back-bdb/filterindex.c
servers/slapd/back-ldbm/filterindex.c

index b6c4141728bc693ee367fe78566c65b3a61c433a..f1fe17c85f866d8f5ed1a54c9628c2bf84348c4c 100644 (file)
@@ -191,6 +191,7 @@ presence_candidates(
        AttributeDescription *desc,
        ID *ids )
 {
+       struct bdb_info *bdb = (struct bdb_info *) be->be_private;
        DB *db;
        int rc;
        slap_mask_t mask;
@@ -198,6 +199,11 @@ presence_candidates(
 
        Debug( LDAP_DEBUG_TRACE, "=> bdb_presence_candidates\n", 0, 0, 0 );
 
+       if( desc == slap_schema.si_ad_objectClass ) {
+               BDB_IDL_ALL( bdb, ids );
+               return 0;
+       }
+
        rc = bdb_index_param( be, desc, LDAP_FILTER_PRESENT,
                &db, &mask, &prefix );
 
index 55f873ba01d1e0d383c07f9bdaa9abea21e351b3..048050ca348c05e90690dc693a3de5c3bfb00a5d 100644 (file)
@@ -223,6 +223,10 @@ presence_candidates(
 
        idl = idl_allids( be );
 
+       if( desc == slap_schema.si_ad_objectClass ) {
+               return idl;
+       }
+
        rc = index_param( be, desc, LDAP_FILTER_PRESENT,
                &dbname, &mask, &prefix );