Browse Source

Ticket 49443 - scope one searches in 1.3.7 give incorrect results

Bug: if a onelevel search is done for an unidexed attribute, the filter test is skipped
     and all children of the search base are returned

Fix: enforce filter test if allids

Reviewed by: Mark, thanks
Ludwig Krispenz 8 years ago
parent
commit
c917b93a2f
1 changed files with 5 additions and 0 deletions
  1. 5 0
      ldap/servers/slapd/back-ldbm/idl_set.c

+ 5 - 0
ldap/servers/slapd/back-ldbm/idl_set.c

@@ -349,6 +349,11 @@ idl_set_intersect(IDListSet *idl_set, backend *be)
 {
     IDList *result_list = NULL;
 
+    if (idl_set->allids) {
+        /* if any component was allids we have to apply the filtertest */
+        slapi_be_set_flag(be, SLAPI_BE_FLAG_DONT_BYPASS_FILTERTEST);
+    }
+
     if (idl_set->allids != 0 && idl_set->count == 0) {
         /*
          * We only have allids, so must be allids.