From 476e264a7a62adcf53c64232c6091bea6e3bce7c Mon Sep 17 00:00:00 2001 From: Fady Yecob Date: Tue, 4 Jan 2022 14:35:05 +0100 Subject: [PATCH 1/2] Proper URL query encoding --- Adjust/ADJAdditions/NSString+ADJAdditions.m | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/Adjust/ADJAdditions/NSString+ADJAdditions.m b/Adjust/ADJAdditions/NSString+ADJAdditions.m index bd94e6ba9..873e1508d 100644 --- a/Adjust/ADJAdditions/NSString+ADJAdditions.m +++ b/Adjust/ADJAdditions/NSString+ADJAdditions.m @@ -36,25 +36,11 @@ - (NSString *)adjTrim { } - (NSString *)adjUrlEncode { -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - return (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes( - NULL, - (CFStringRef)self, - NULL, - (CFStringRef)@"!*'\"();:@&=+$,/?%#[]% ", - CFStringConvertNSStringEncodingToEncoding(NSUTF8StringEncoding))); -#pragma clang diagnostic pop - // Alternative: - // return [self stringByAddingPercentEncodingWithAllowedCharacters: - // [NSCharacterSet characterSetWithCharactersInString:@"!*'\"();:@&=+$,/?%#[]% "]]; + return [self stringByAddingPercentEncodingWithAllowedCharacters: [NSCharacterSet URLQueryAllowedCharacterSet]]; } - (NSString *)adjUrlDecode { - return (NSString *)CFBridgingRelease(CFURLCreateStringByReplacingPercentEscapes( - kCFAllocatorDefault, - (CFStringRef)self, - CFSTR(""))); + return [self stringByRemovingPercentEncoding]; } - (NSString *)adjSha256 { From d8c9035c6f45537f66441779f99915ec5ef25aa7 Mon Sep 17 00:00:00 2001 From: Fady Yecob Date: Tue, 4 Jan 2022 16:32:06 +0100 Subject: [PATCH 2/2] Subtract characters form query allowed set to get the correct set --- Adjust/ADJAdditions/NSString+ADJAdditions.m | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Adjust/ADJAdditions/NSString+ADJAdditions.m b/Adjust/ADJAdditions/NSString+ADJAdditions.m index 873e1508d..0d66ecd5c 100644 --- a/Adjust/ADJAdditions/NSString+ADJAdditions.m +++ b/Adjust/ADJAdditions/NSString+ADJAdditions.m @@ -36,7 +36,10 @@ - (NSString *)adjTrim { } - (NSString *)adjUrlEncode { - return [self stringByAddingPercentEncodingWithAllowedCharacters: [NSCharacterSet URLQueryAllowedCharacterSet]]; + NSMutableCharacterSet *urlQueryKeyValueAllowedCharacterSet = [[NSCharacterSet URLQueryAllowedCharacterSet] mutableCopy]; + [urlQueryKeyValueAllowedCharacterSet removeCharactersInString:@"!*'\"();:@&=+$,/?%#[]% "]; + + return [self stringByAddingPercentEncodingWithAllowedCharacters: urlQueryKeyValueAllowedCharacterSet]; } - (NSString *)adjUrlDecode {