Revert "Revert "(fix) more multi-domain fixes and cleanups""

This reverts commit 90e11d76f6.
This commit is contained in:
Julio García
2015-06-26 09:35:37 +02:00
parent 67d0d95869
commit 3f1a43cc13
2 changed files with 5 additions and 5 deletions

View File

@@ -165,9 +165,7 @@
// The domain is probably appended to the username;
// make sure it is defined as a domain in the configuration.
domain = [newLogin substringFromIndex: (r.location + r.length)];
if ([[sd domainIds] containsObject: domain])
newLogin = [newLogin substringToIndex: r.location];
else
if (![[sd domainIds] containsObject: domain])
domain = nil;
if (domain != nil && ![sd enableDomainBasedUID])
@@ -199,7 +197,9 @@
// [SOGoUser loginInDomain] only returns the login.
r = [realUID rangeOfString: domain options: NSBackwardsSearch|NSCaseInsensitiveSearch];
if (r.location != NSNotFound)
// Do NOT strip @domain.com if SOGoEnableDomainBasedUID is enabled since
// the real login most likely is the email address.
if (r.location != NSNotFound && ![sd enableDomainBasedUID])
uid = [realUID substringToIndex: r.location-1];
else
uid = [NSString stringWithString: realUID];

View File

@@ -922,7 +922,7 @@ static Class NSNullK;
{
// Remove the "@" prefix used to identified groups in the ACL tables.
aUID = [uid hasPrefix: @"@"] ? [uid substringFromIndex: 1] : uid;
if (domain)
if (domain && [aUID rangeOfString: @"@"].location == NSNotFound)
cacheUid = [NSString stringWithFormat: @"%@@%@", aUID, domain];
else
cacheUid = aUID;