Avoid cache entries with uid@domain@domain prefix
Depend of the current workflow this paths are reached with username as uid and sometimes as uid@domain. So in multidomain environments only append @domain when needed. Conflicts: SoObjects/SOGo/SOGoUserManager.mpull/85/head
parent
37461e650d
commit
04ce8d1066
|
@ -495,11 +495,11 @@ static Class NSNullK;
|
|||
|
||||
dd = [SOGoSystemDefaults sharedSystemDefaults];
|
||||
|
||||
// We check for cached passwords. If the entry is cached, we
|
||||
// check this immediately. If not, we'll go directly at the
|
||||
// authentication source and try to validate there, then cache it.
|
||||
if (*_domain != nil)
|
||||
username = [NSString stringWithFormat: @"%@@%@", _login, *_domain];
|
||||
if (*_domain)
|
||||
{
|
||||
if ([_login rangeOfString: @"@"].location == NSNotFound)
|
||||
username = [NSString stringWithFormat: @"%@@%@", _login, *_domain];
|
||||
}
|
||||
else
|
||||
{
|
||||
NSRange r;
|
||||
|
@ -532,13 +532,10 @@ static Class NSNullK;
|
|||
}
|
||||
}
|
||||
|
||||
failedCount = [[SOGoCache sharedCache] failedCountForLogin: username];
|
||||
|
||||
//
|
||||
// We check the fail count per user in memcache (per server). If the
|
||||
// fail count reaches X in Y minutes, we deny immediately the
|
||||
// authentications for Z minutes
|
||||
//
|
||||
failedCount = [[SOGoCache sharedCache] failedCountForLogin: username];
|
||||
if (failedCount)
|
||||
{
|
||||
unsigned int current_time, start_time, delta, block_time;
|
||||
|
@ -564,7 +561,9 @@ static Class NSNullK;
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
// We check for cached passwords. If the entry is cached, we
|
||||
// check this immediately. If not, we'll go directly at the
|
||||
// authentication source and try to validate there, then cache it.
|
||||
jsonUser = [[SOGoCache sharedCache] userAttributesForLogin: username];
|
||||
currentUser = [jsonUser objectFromJSONString];
|
||||
dictPassword = [currentUser objectForKey: @"password"];
|
||||
|
|
Loading…
Reference in New Issue