diff --git a/ChangeLog b/ChangeLog index 3175db4b7..de12aaf4e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2010-08-20 Wolfgang Sourdeau + * SoObjects/SOGo/WORequest+SOGo.m (-isMacOSXAddressBookApp): + renamed from "isAddressBookApp". + (-isIPhoneAddressBookApp): new method to detect whether the + request has been performed from the AB of iOS. + * SoObjects/SOGo/SOGoFolder.m (-davEntityTag): we no return a pseudo etag for collections for compatibility with the broken Apple clients. diff --git a/SoObjects/SOGo/WORequest+SOGo.h b/SoObjects/SOGo/WORequest+SOGo.h index f5b775e90..3983c5a80 100644 --- a/SoObjects/SOGo/WORequest+SOGo.h +++ b/SoObjects/SOGo/WORequest+SOGo.h @@ -34,7 +34,8 @@ - (BOOL) isIPhone; - (BOOL) isICal; - (BOOL) isICal4; -- (BOOL) isAddressBookApp; +- (BOOL) isMacOSXAddressBookApp; +- (BOOL) isIPhoneAddressBookApp; @end diff --git a/SoObjects/SOGo/WORequest+SOGo.m b/SoObjects/SOGo/WORequest+SOGo.m index 744a4802b..1c12125ae 100644 --- a/SoObjects/SOGo/WORequest+SOGo.m +++ b/SoObjects/SOGo/WORequest+SOGo.m @@ -104,6 +104,7 @@ return patchedProperties; } +/* So many different DAV libraries... */ - (BOOL) isAppleDAVWithSubstring: (NSString *) osSubstring { WEClientCapabilities *cc; @@ -137,7 +138,7 @@ return [self isAppleDAVWithSubstring: @"iCal/4."]; } -- (BOOL) isAddressBookApp +- (BOOL) isMacOSXAddressBookApp { WEClientCapabilities *cc; @@ -147,4 +148,14 @@ && [[cc userAgent] rangeOfString: @"Darwin"].location != NSNotFound); } +- (BOOL) isIPhoneAddressBookApp +{ + WEClientCapabilities *cc; + + cc = [self clientCapabilities]; + + return ([[cc userAgent] rangeOfString: @"DataAccess/1.0"].location + != NSNotFound); +} + @end