Debugging output for subscription issue

pull/241/head
Francis Lachapelle 2018-05-30 12:01:08 -04:00
parent c6e11606e9
commit e33ec4e396
2 changed files with 17 additions and 3 deletions

View File

@ -1649,7 +1649,9 @@ static NSArray *childRecordFields = nil;
[[SOGoCache sharedCache] registerGroup: group withName: currentUID inDomain: domain]; [[SOGoCache sharedCache] registerGroup: group withName: currentUID inDomain: domain];
} }
if (group && [group hasMemberWithUID: uid]) if (!group)
[self errorWithFormat: @"Can't find group %@", group];
else if ([group hasMemberWithUID: uid])
[acls addObject: [record valueForKey: @"c_role"]]; [acls addObject: [record valueForKey: @"c_role"]];
} }
} }

View File

@ -61,6 +61,7 @@
#include "SOGoUserManager.h" #include "SOGoUserManager.h"
#include "SOGoUser.h" #include "SOGoUser.h"
#import <NGExtensions/NSObject+Logs.h>
#import <NGLdap/NGLdapEntry.h> #import <NGLdap/NGLdapEntry.h>
#define CHECK_CLASS(o) ({ \ #define CHECK_CLASS(o) ({ \
@ -281,6 +282,10 @@
[logins addObject: login]; [logins addObject: login];
[_members addObject: user]; [_members addObject: user];
} }
else
{
[self errorWithFormat: @"Invalid uniquemember %@ (%@) in group %@", dn, login, _identifier];
}
[pool release]; [pool release];
} }
@ -290,12 +295,15 @@
pool = [NSAutoreleasePool new]; pool = [NSAutoreleasePool new];
login = [uids objectAtIndex: i]; login = [uids objectAtIndex: i];
user = [SOGoUser userWithLogin: login roles: nil]; user = [SOGoUser userWithLogin: login roles: nil];
if (user) if (user)
{ {
[logins addObject: [user loginInDomain]]; [logins addObject: [user loginInDomain]];
[_members addObject: user]; [_members addObject: user];
} }
else
{
[self errorWithFormat: @"Invalid memberuid %@ in group %@", login, _identifier];
}
[pool release]; [pool release];
} }
@ -304,6 +312,7 @@
// (ie., their UIDs) in memcached to speed up -hasMemberWithUID. // (ie., their UIDs) in memcached to speed up -hasMemberWithUID.
[[SOGoCache sharedCache] setValue: [logins componentsJoinedByString: @","] [[SOGoCache sharedCache] setValue: [logins componentsJoinedByString: @","]
forKey: [NSString stringWithFormat: @"%@+%@", _identifier, _domain]]; forKey: [NSString stringWithFormat: @"%@+%@", _identifier, _domain]];
[self logWithFormat: @"Cached %i members for group %@: %@", [logins count], _identifier, [logins componentsJoinedByString: @","]];
} }
else else
{ {
@ -341,7 +350,8 @@
currentUID = [[_members objectAtIndex: count] login]; currentUID = [[_members objectAtIndex: count] login];
rc = [memberUID isEqualToString: currentUID]; rc = [memberUID isEqualToString: currentUID];
} }
if (!rc)
[self logWithFormat: @"User %@ is not a member of group %@", memberUID, _identifier];
} }
else else
{ {
@ -362,6 +372,8 @@
a = [value componentsSeparatedByString: @","]; a = [value componentsSeparatedByString: @","];
rc = [a containsObject: memberUID]; rc = [a containsObject: memberUID];
if (!rc)
[self logWithFormat: @"User %@ is not a member of group %@ (cached)", memberUID, _identifier];
} }
return rc; return rc;