marinofaggiana 4 tahun lalu
induk
melakukan
bc38310b1a
2 mengubah file dengan 25 tambahan dan 3 penghapusan
  1. 22 0
      iOSClient/Database/NCManageDatabase.swift
  2. 3 3
      iOSClient/Utility/CCUtility.m

+ 22 - 0
iOSClient/Database/NCManageDatabase.swift

@@ -963,6 +963,28 @@ class NCManageDatabase: NSObject {
         }
     }
     
+    @objc func getCapabilitiesE2EEEnabled(account: String) -> Bool {
+
+        let realm = try! Realm()
+        realm.refresh()
+        
+        guard let result = realm.objects(tableCapabilities.self).filter("account == %@", account).first else {
+            return false
+        }
+        guard let jsondata = result.jsondata else {
+            return false
+        }
+        
+        let json = JSON(jsondata)
+        let dataCapabilities = json["ocs"]["data"]["capabilities"]
+
+        if let result = dataCapabilities["end-to-end-encryption"]["enabled"].bool {
+            return result
+        } else {
+            return false
+        }
+    }
+    
     @objc func getCapabilitiesE2EEVersion(account: String) -> Float {
 
         let realm = try! Realm()

+ 3 - 3
iOSClient/Utility/CCUtility.m

@@ -419,14 +419,14 @@
 
 + (BOOL)isEndToEndEnabled:(NSString *)account
 {
-    tableCapabilities *capabilities = [[NCManageDatabase sharedInstance] getCapabilitesWithAccount:account];
-
+    BOOL isE2EEEnabled = [[NCManageDatabase sharedInstance] getCapabilitiesE2EEEnabledWithAccount:account];
+    
     NSString *publicKey = [self getEndToEndPublicKey:account];
     NSString *privateKey = [self getEndToEndPrivateKey:account];
     NSString *passphrase = [self getEndToEndPassphrase:account];
     NSString *publicKeyServer = [self getEndToEndPublicKeyServer:account];    
     
-    if (passphrase.length > 0 && privateKey.length > 0 && publicKey.length > 0 && publicKeyServer.length > 0 && capabilities.endToEndEncryption) {
+    if (passphrase.length > 0 && privateKey.length > 0 && publicKey.length > 0 && publicKeyServer.length > 0 && isE2EEEnabled) {
         
         return YES;