Marino Faggiana 8 жил өмнө
parent
commit
c18f24cf80

+ 2 - 3
Libraries external/OCCommunicationLib/OCCommunicationLib/OCWebDavClient/OCWebDAVClient.m

@@ -763,8 +763,8 @@ NSString const *OCWebDAVModificationDateKey	= @"modificationdate";
     
     _requestMethod = @"POST";
     
-    pushToken = [NSString stringWithFormat:@"/pushToken=%@",pushToken];
-    deviceIdentifier = [NSString stringWithFormat:@"?deviceIdentifier=%@",deviceIdentifier];
+    pushToken = [NSString stringWithFormat:@"?pushToken=%@",pushToken];
+    deviceIdentifier = [NSString stringWithFormat:@"&deviceIdentifier=%@",deviceIdentifier];
     deviceIdentifierSignature = [NSString stringWithFormat:@"&deviceIdentifierSignature=%@",deviceIdentifierSignature];
     userPublicKey = [NSString stringWithFormat:@"&userPublicKey=%@",userPublicKey];
     
@@ -774,7 +774,6 @@ NSString const *OCWebDAVModificationDateKey	= @"modificationdate";
     serverPath = [serverPath stringByAppendingString:userPublicKey];
 
     NSMutableURLRequest *request = [self sharedRequestWithMethod:_requestMethod path:serverPath parameters:nil];
-    [request setValue:[NSString stringWithFormat:@"token %@", authorizationToken] forHTTPHeaderField:@"Authorization"];
     
     OCHTTPRequestOperation *operation = [self mr_operationWithRequest:request onCommunication:sharedOCCommunication success:success failure:failure];
     [self setRedirectionBlockOnDatataskWithOCCommunication:sharedOCCommunication andSessionManager:sharedOCCommunication.networkSessionManager];

+ 6 - 14
iOSClient/Networking/OCNetworking.m

@@ -1242,10 +1242,14 @@
     NSString *pushTokenHash = [parameter objectForKey:@"pushTokenHash"];
     NSString *devicePublicKey = [parameter objectForKey:@"devicePublicKey"];
     
+    // encode URL
+    devicePublicKey = [CCUtility URLEncodeStringFromString:devicePublicKey];
+    
     [communication subscribingNextcloudServerPush:_activeUrl pushTokenHash:pushTokenHash devicePublicKey:devicePublicKey onCommunication:communication successRequest:^(NSHTTPURLResponse *response, NSString *publicKey, NSString *deviceIdentifier, NSString *signature, NSString *redirectedServer) {
         
-        deviceIdentifier = [self URLEncodeStringFromString:deviceIdentifier];
-        signature = [self URLEncodeStringFromString:signature];
+        // encode URL
+        deviceIdentifier = [CCUtility URLEncodeStringFromString:deviceIdentifier];
+        signature = [CCUtility URLEncodeStringFromString:signature];
     
         [communication subscribingPushProxy:_push_notification_server_ pushToken:pushToken deviceIdentifier:deviceIdentifier deviceIdentifierSignature:signature userPublicKey:devicePublicKey onCommunication:communication successRequest:^(NSHTTPURLResponse *response, NSString *publicKey, NSString *deviceIdentifier, NSString *signature, NSString *redirectedServer) {
             
@@ -1411,18 +1415,6 @@
     }];
 }
 
-#pragma --------------------------------------------------------------------------------------------
-#pragma mark =====  Utility =====
-#pragma --------------------------------------------------------------------------------------------
-
-- (NSString *)URLEncodeStringFromString:(NSString *)string
-{
-    static CFStringRef charset = CFSTR("!@#$%&*()+'\";:=,/?[] ");
-    CFStringRef str = (__bridge CFStringRef)string;
-    CFStringEncoding encoding = kCFStringEncodingUTF8;
-    return (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL, str, NULL, charset, encoding));
-}
-
 @end
 
 #pragma --------------------------------------------------------------------------------------------

+ 1 - 0
iOSClient/Utility/CCUtility.h

@@ -181,5 +181,6 @@
 + (NSDate *)datetimeWithOutDate:(NSDate *)datDate;
 + (BOOL)isValidEmail:(NSString *)checkString;
 + (UIImage*)drawText:(NSString*)text inImage:(UIImage*)image;
++ (NSString *)URLEncodeStringFromString:(NSString *)string;
 
 @end

+ 8 - 0
iOSClient/Utility/CCUtility.m

@@ -1260,4 +1260,12 @@
     return newImage;
 }
 
++ (NSString *)URLEncodeStringFromString:(NSString *)string
+{
+    static CFStringRef charset = CFSTR("!@#$%&*()+'\";:=,/?[] ");
+    CFStringRef str = (__bridge CFStringRef)string;
+    CFStringEncoding encoding = kCFStringEncodingUTF8;
+    return (NSString *)CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(NULL, str, NULL, charset, encoding));
+}
+
 @end