diff --git a/ChangeLog b/ChangeLog index 779b32066..431ad4574 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,6 +6,9 @@ retrieve the users from LDAP sources that limit the number of results. + * SoObjects/SOGo/LDAPSource.m (:_qualifierForFilter): avoid + duplicated filters on the CN attribute. + 2011-03-20 Wolfgang Sourdeau * OpenChange/MAPIStoreCalendarMessage.m diff --git a/SoObjects/SOGo/LDAPSource.m b/SoObjects/SOGo/LDAPSource.m index 12daf3c56..d844f946a 100644 --- a/SoObjects/SOGo/LDAPSource.m +++ b/SoObjects/SOGo/LDAPSource.m @@ -596,7 +596,7 @@ static NSArray *commonSearchFields; - (EOQualifier *) _qualifierForFilter: (NSString *) filter { NSMutableArray *fields; - NSString *searchFormat, *fieldFormat, *escapedFilter; + NSString *fieldFormat, *searchFormat, *escapedFilter; EOQualifier *qualifier; NSMutableString *qs; @@ -611,10 +611,10 @@ static NSArray *commonSearchFields; fieldFormat = [NSString stringWithFormat: @"(%%@='%@*')", escapedFilter]; fields = [NSMutableArray arrayWithArray: searchFields]; [fields addObjectsFromArray: mailFields]; + [fields addObject: CNField]; searchFormat = [[[fields uniqueObjects] stringsWithFormat: fieldFormat] componentsJoinedByString: @" OR "]; - [qs appendFormat: @"(%@='%@*') OR %@", - CNField, escapedFilter, searchFormat]; + [qs appendString: searchFormat]; } if (_filter && [_filter length])