瀏覽代碼

improved e2ee

Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
Marino Faggiana 2 年之前
父節點
當前提交
c2fe35b504
共有 1 個文件被更改,包括 5 次插入9 次删除
  1. 5 9
      iOSClient/Utility/NCUtility.swift

+ 5 - 9
iOSClient/Utility/NCUtility.swift

@@ -1006,20 +1006,16 @@ class NCUtility: NSObject {
     }
     @objc func isFolderEncrypted(serverUrl: String, e2eEncrypted: Bool = false, account:String, urlBase: String, userId: String) -> Bool {
         if e2eEncrypted { return true }
-
         let home = NCUtilityFileSystem.shared.getHomeServer(urlBase: urlBase, userId: userId)
         if serverUrl == home || serverUrl == ".." { return false }
-        var serverUrl = serverUrl
-
-        var tableDirectory = NCManageDatabase.shared.getTableDirectory(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", account, serverUrl))
-        while let directory = tableDirectory, directory.serverUrl != home {
+        // Current
+        if let directory = NCManageDatabase.shared.getTableDirectory(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", account, serverUrl)) {
             if directory.e2eEncrypted { return true }
-            if let path = NCUtilityFileSystem.shared.deleteLastPath(serverUrlPath: serverUrl, home: home) {
-                serverUrl = path
+            // .. up one ..
+            if let serverUrl = NCUtilityFileSystem.shared.deleteLastPath(serverUrlPath: serverUrl, home: home), serverUrl != home, let directory = NCManageDatabase.shared.getTableDirectory(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", account, serverUrl))  {
+                return directory.e2eEncrypted
             }
-            tableDirectory = NCManageDatabase.shared.getTableDirectory(predicate: NSPredicate(format: "account == %@ AND serverUrl == %@", account, serverUrl))
         }
-
         return false
     }
 }