diff --git a/NEWS b/NEWS index 01021452b..5cda7f31d 100644 --- a/NEWS +++ b/NEWS @@ -30,6 +30,9 @@ Bug fixes - handle emails having an attachment as their content - fixed JavaScript syntax error in attendees editor - fixed wrong comparison of meta vs. META tag in HTML mails + - fixed popup menu position when moved to the left (#3381) + - fixed dialog position when at the bottom of the window (#2646, #3378) + - fixed addressbrook-only source entires having a c_uid set 2.3.2 (2015-09-16) ------------------ diff --git a/SoObjects/Contacts/SOGoContactSourceFolder.m b/SoObjects/Contacts/SOGoContactSourceFolder.m index 829aad15a..1375c74dc 100644 --- a/SoObjects/Contacts/SOGoContactSourceFolder.m +++ b/SoObjects/Contacts/SOGoContactSourceFolder.m @@ -47,6 +47,7 @@ #import #import #import +#import #import #import #import @@ -230,8 +231,15 @@ NSObject *recordSource; newRecord = [NSMutableDictionary dictionaryWithCapacity: 8]; - [newRecord setObject: [oldRecord objectForKey: @"c_uid"] - forKey: @"c_uid"]; + + // We set the c_uid only for authentication sources. SOGoUserSources set + // with canAuthenticate = NO and isAddressBook = YES have absolutely *NO REASON* + // to have entries with a c_uid. These can collide with real uids. + if ([[[[SOGoUserManager sharedUserManager] metadataForSourceID: [source sourceID]] objectForKey: @"canAuthenticate"] boolValue]) + { + [newRecord setObject: [oldRecord objectForKey: @"c_uid"] + forKey: @"c_uid"]; + } // c_name => id [newRecord setObject: [oldRecord objectForKey: @"c_name"]