diff --git a/NEWS b/NEWS index 67bb062d9..2c7bb5fce 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,7 @@ Enhancements Bug fixes - fixed French templates encoding + - fixed CardDAV collections for OS X 2.0.3 (2012-12-06) ------------------ diff --git a/SoObjects/Contacts/SOGoUserFolder+Contacts.m b/SoObjects/Contacts/SOGoUserFolder+Contacts.m index 2244456d4..373bbca6e 100644 --- a/SoObjects/Contacts/SOGoUserFolder+Contacts.m +++ b/SoObjects/Contacts/SOGoUserFolder+Contacts.m @@ -61,7 +61,7 @@ - (NSArray *) davDirectoryGateway { - NSArray *tag, *sources; + NSArray *tag, *sources, *sorted_sources; SOGoContactFolders *parent; SOGoUserManager *um; NSString *domain, *url; @@ -71,9 +71,11 @@ sources = [um addressBookSourceIDsInDomain: domain]; if ([sources count] > 0) { + // Only return the first ID from the sorted list of sources parent = [self privateContacts: @"Contacts" inContext: context]; + sorted_sources = [sources sortedArrayUsingSelector: @selector (localizedCaseInsensitiveCompare:)]; url = [NSString stringWithFormat: @"%@%@/", [parent davURLAsString], - [sources objectAtIndex: 0]]; + [sorted_sources objectAtIndex: 0]]; tag = [NSArray arrayWithObject: [NSArray arrayWithObjects: @"href", @"DAV:", @"D", url, nil]]; diff --git a/SoObjects/SOGo/WORequest+SOGo.m b/SoObjects/SOGo/WORequest+SOGo.m index c9474a96b..9c803a0f1 100644 --- a/SoObjects/SOGo/WORequest+SOGo.m +++ b/SoObjects/SOGo/WORequest+SOGo.m @@ -151,17 +151,23 @@ || [self isAppleDAVWithSubstring: @"CalendarAgent/"]); } - +// For 10.6, we see: +// +// Address%20Book/883 CFNetwork/454.12.4 Darwin/10.8.0 (i386) (iMac11%2C3) // // For 10.7, we see: // +// AddressBook/6.0 (1043) CardDAVPlugin/182 CFNetwork/520.0.13 Mac_OS_X/10.7.1 (11B26) // AddressBook/6.1 (1062) CardDAVPlugin/196 CFNetwork/520.2.5 Mac_OS_X/10.7.2 (11C74) +// AddressBook/6.1 (1083) CardDAVPlugin/200 CFNetwork/520.3.2 Mac_OS_X/10.7.3 (11D50d) // AddressBook/6.1.2 (1090) CardDAVPlugin/200 CFNetwork/520.4.3 Mac_OS_X/10.7.4 (11E53) +// AddressBook/6.1.3 (1091) CardDAVPlugin/200 CFNetwork/520.5.1 Mac_OS_X/10.7.5 (11G56) // // For 10.8, we see: // // Mac OS X/10.8 (12A269) AddressBook/1143 // Mac OS X/10.8.1 (12B19) AddressBook/1143 +// Mac OS X/10.8.2 (12C60) AddressBook/1167 // - (BOOL) isMacOSXAddressBookApp { @@ -170,10 +176,15 @@ cc = [self clientCapabilities]; - b = ([[cc userAgent] rangeOfString: @"CFNetwork"].location != NSNotFound - && ([[cc userAgent] rangeOfString: @"Darwin"].location != NSNotFound - || [[cc userAgent] rangeOfString: @"Mac OS X"].location != NSNotFound) - && [[cc userAgent] rangeOfString: @"AddressBook"].location != NSNotFound); + b = ( + [[cc userAgent] rangeOfString: @"CFNetwork"].location != NSNotFound + && [[cc userAgent] rangeOfString: @"Darwin"].location != NSNotFound + || ( + [[cc userAgent] rangeOfString: @"CFNetwork"].location != NSNotFound + || [[cc userAgent] rangeOfString: @"Mac OS X"].location != NSNotFound + ) + && [[cc userAgent] rangeOfString: @"AddressBook"].location != NSNotFound + ); return b; }