diff --git a/SoObjects/SOGo/LDAPSource.h b/SoObjects/SOGo/LDAPSource.h index 3877ec4ee..9081196be 100644 --- a/SoObjects/SOGo/LDAPSource.h +++ b/SoObjects/SOGo/LDAPSource.h @@ -120,8 +120,10 @@ andMultipleBookingsField: (NSString *) newMultipleBookingsField; - (void) setContactMapping: (NSDictionary *) newMapping andObjectClasses: (NSArray *) newObjectClasses; -- (NGLdapEntry *) lookupGroupEntryByUID: (NSString *) theUID; -- (NGLdapEntry *) lookupGroupEntryByEmail: (NSString *) theEmail; +- (NGLdapEntry *) lookupGroupEntryByUID: (NSString *) theUID + inDomain: (NSString *) domain; +- (NGLdapEntry *) lookupGroupEntryByEmail: (NSString *) theEmail + inDomain: (NSString *) domain; @end diff --git a/SoObjects/SOGo/LDAPSource.m b/SoObjects/SOGo/LDAPSource.m index d537c6aec..f13541024 100644 --- a/SoObjects/SOGo/LDAPSource.m +++ b/SoObjects/SOGo/LDAPSource.m @@ -1339,12 +1339,14 @@ groupObjectClasses: (NSArray *) newGroupObjectClasses } - (NGLdapEntry *) lookupGroupEntryByUID: (NSString *) theUID + inDomain: (NSString *) domain { return [self _lookupGroupEntryByAttributes: [NSArray arrayWithObject: UIDField] andValue: theUID]; } - (NGLdapEntry *) lookupGroupEntryByEmail: (NSString *) theEmail + inDomain: (NSString *) domain { return [self _lookupGroupEntryByAttributes: mailFields andValue: theEmail]; diff --git a/SoObjects/SOGo/SOGoGroup.m b/SoObjects/SOGo/SOGoGroup.m index cacdd7770..9b74f2dee 100644 --- a/SoObjects/SOGo/SOGoGroup.m +++ b/SoObjects/SOGo/SOGoGroup.m @@ -113,7 +113,7 @@ uid = [theID hasPrefix: @"@"] ? [theID substringFromIndex: 1] : theID; return [SOGoGroup groupWithValue: uid - andSourceSelector: @selector (lookupGroupEntryByUID:) + andSourceSelector: @selector (lookupGroupEntryByUID:inDomain:) inDomain: domain]; } @@ -121,7 +121,7 @@ inDomain: (NSString *) domain { return [SOGoGroup groupWithValue: theEmail - andSourceSelector: @selector (lookupGroupEntryByEmail:) + andSourceSelector: @selector (lookupGroupEntryByEmail:inDomain:) inDomain: domain]; } @@ -158,9 +158,9 @@ // Our different sources might not all implements groups support if ([source respondsToSelector: theSelector]) - entry = [source performSelector: theSelector - withObject: theValue]; - + entry = [source performSelector: theSelector + withObject: theValue + withObject: domain]; if (entry) break;