diff --git a/ChangeLog b/ChangeLog index 09371a146..fe2328c2a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-06-16 Wolfgang Sourdeau + + * SoObjects/SOGo/NSString+Utilities.m (-asSafeSQLString): new + method that properly escape strings passed as values in SQL + queries. + 2011-06-15 Wolfgang Sourdeau * OpenChange/MAPIStoreSpoolerContext.[hm]: new backend context. diff --git a/SoObjects/SOGo/NSString+Utilities.h b/SoObjects/SOGo/NSString+Utilities.h index 42f92c022..8b9d0dc81 100644 --- a/SoObjects/SOGo/NSString+Utilities.h +++ b/SoObjects/SOGo/NSString+Utilities.h @@ -72,6 +72,7 @@ - (NSString *) asMD5String; - (NSString *) asSHA1String; +- (NSString *) asSafeSQLString; @end diff --git a/SoObjects/SOGo/NSString+Utilities.m b/SoObjects/SOGo/NSString+Utilities.m index ef3639210..19f372307 100644 --- a/SoObjects/SOGo/NSString+Utilities.m +++ b/SoObjects/SOGo/NSString+Utilities.m @@ -589,5 +589,10 @@ static NSMutableCharacterSet *safeLDIFStartChars = nil; return [NSString stringWithUTF8String: buf]; } +- (NSString *) asSafeSQLString +{ + return [[self stringByReplacingString: @"\\" withString: @"\\\\"] + stringByReplacingString: @"'" withString: @"\\'"]; +} @end