From 584264af05beb141eecac777c0c3fa44988e5f22 Mon Sep 17 00:00:00 2001 From: Ludwig Krispenz Date: Nov 09 2017 14:37:19 +0000 Subject: 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 --- diff --git a/ldap/servers/slapd/back-ldbm/idl_set.c b/ldap/servers/slapd/back-ldbm/idl_set.c index ba39ff0..b68e7ab 100644 --- a/ldap/servers/slapd/back-ldbm/idl_set.c +++ b/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.