Monotone-Parent: befe03897e161f1796e6bb4fd47e4ff7f46528ab

Monotone-Revision: 78e8177b7871651ba9b05f971e1b40376fb5e49d

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2009-09-11T14:31:02
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2009-09-11 14:31:02 +00:00
parent a77bd3ded2
commit b5dfe674de
1 changed files with 15 additions and 6 deletions

View File

@ -424,8 +424,10 @@ static NSLock *lock;
binddn: userDN
credentials: passwordToCheck];
NS_HANDLER
NS_ENDHANDLER
}
;
NS_ENDHANDLER
;
}
[bindConnection release];
}
}
@ -473,7 +475,8 @@ static NSLock *lock;
- (EOQualifier *) _qualifierForUIDFilter: (NSString *) uid
{
NSString *mailFormat, *fieldFormat, *escapedUid;
NSString *mailFormat, *fieldFormat, *escapedUid, *currentField;
NSEnumerator *bindFieldsEnum;
NSMutableString *qs;
escapedUid = SafeLDAPCriteria (uid);
@ -481,9 +484,15 @@ static NSLock *lock;
fieldFormat = [NSString stringWithFormat: @"(%%@='%@')", escapedUid];
mailFormat = [[mailFields stringsWithFormat: fieldFormat]
componentsJoinedByString: @" OR "];
qs = [NSMutableString string];
[qs appendFormat: (@"(%@='%@') OR %@"), UIDField, escapedUid, mailFormat];
qs = [NSMutableString stringWithFormat: @"(%@='%@') OR %@",
UIDField, escapedUid, mailFormat];
if (bindFields)
{
bindFieldsEnum = [[bindFields componentsSeparatedByString: @","]
objectEnumerator];
while ((currentField = [bindFieldsEnum nextObject]))
[qs appendFormat: @" OR (%@='%@')", currentField, escapedUid];
}
if (_filter && [_filter length])
[qs appendFormat: @" AND %@", _filter];