|
@@ -612,21 +612,20 @@
|
|
|
|
|
|
NSString *e2eTokenLock = *token;
|
|
|
NSString *metadata;
|
|
|
- __block BOOL updateMetadata = false;
|
|
|
- __block NSError *e2eError;
|
|
|
+ NSError *error;
|
|
|
|
|
|
// Enabled E2E
|
|
|
if ([CCUtility isEndToEndEnabled:account] == NO)
|
|
|
return [NSError errorWithDomain:@"com.nextcloud.nextcloud" code:k_CCErrorInternalError userInfo:[NSDictionary dictionaryWithObject:@"Serius internal error E2E Encryption not enabled" forKey:NSLocalizedDescriptionKey]];
|
|
|
|
|
|
// get Metadata
|
|
|
- e2eError = [[NCNetworkingSync sharedManager] getEndToEndMetadata:user userID:userID password:password url:url fileID:directory.fileID metadata:&metadata];
|
|
|
-
|
|
|
- if ([[NCEndToEndMetadata sharedInstance] decoderMetadata:metadata privateKey:[CCUtility getEndToEndPrivateKey:account] serverUrl:serverUrl account:account url:url] == false)
|
|
|
- e2eError = [NSError errorWithDomain:@"com.nextcloud.nextcloud" code:k_CCErrorInternalError userInfo:[NSDictionary dictionaryWithObject:@"Serious internal error in decoding metadata" forKey:NSLocalizedDescriptionKey]];
|
|
|
-
|
|
|
- if (e2eError.code != 404 && e2eError != nil) {
|
|
|
- return e2eError;
|
|
|
+ error = [[NCNetworkingSync sharedManager] getEndToEndMetadata:user userID:userID password:password url:url fileID:directory.fileID metadata:&metadata];
|
|
|
+ if (error == nil) {
|
|
|
+ if ([[NCEndToEndMetadata sharedInstance] decoderMetadata:metadata privateKey:[CCUtility getEndToEndPrivateKey:account] serverUrl:serverUrl account:account url:url] == false)
|
|
|
+ error = [NSError errorWithDomain:@"com.nextcloud.nextcloud" code:k_CCErrorInternalError userInfo:[NSDictionary dictionaryWithObject:@"Serious internal error in decoding metadata" forKey:NSLocalizedDescriptionKey]];
|
|
|
+ }
|
|
|
+ if (error.code != 404 && error != nil) {
|
|
|
+ return error;
|
|
|
}
|
|
|
|
|
|
NSArray *tableE2eEncryption = [[NCManageDatabase sharedInstance] getE2eEncryptionsWithPredicate:[NSPredicate predicateWithFormat:@"account = %@ AND serverUrl = %@", account, serverUrl]];
|
|
@@ -638,13 +637,13 @@
|
|
|
return [NSError errorWithDomain:@"com.nextcloud.nextcloud" code:k_CCErrorInternalError userInfo:[NSDictionary dictionaryWithObject:@"Serious internal error in encoding metadata" forKey:NSLocalizedDescriptionKey]];
|
|
|
|
|
|
// send Metadata
|
|
|
- if (e2eError == nil)
|
|
|
- e2eError = [[NCNetworkingSync sharedManager] updateEndToEndMetadata:user userID:userID password:password url:url fileID:directory.fileID metadata:e2eMetadataJSON token:&e2eTokenLock];
|
|
|
- else if (e2eError.code == 404)
|
|
|
- e2eError = [[NCNetworkingSync sharedManager] storeEndToEndMetadata:user userID:userID password:password url:url fileID:directory.fileID metadata:e2eMetadataJSON token:&e2eTokenLock];
|
|
|
+ if (error == nil)
|
|
|
+ error = [[NCNetworkingSync sharedManager] updateEndToEndMetadata:user userID:userID password:password url:url fileID:directory.fileID metadata:e2eMetadataJSON token:&e2eTokenLock];
|
|
|
+ else if (error.code == 404)
|
|
|
+ error = [[NCNetworkingSync sharedManager] storeEndToEndMetadata:user userID:userID password:password url:url fileID:directory.fileID metadata:e2eMetadataJSON token:&e2eTokenLock];
|
|
|
|
|
|
*token = e2eTokenLock;
|
|
|
- return e2eError;
|
|
|
+ return error;
|
|
|
}
|
|
|
|
|
|
- (NSError *)rebuildAndSendEndToEndMetadataOnServerUrl:(NSString *)serverUrl account:(NSString *)account user:(NSString *)user userID:(NSString *)userID password:(NSString *)password url:(NSString *)url
|