Эх сурвалжийг харах

fix security password [Set]

marinofaggiana 6 жил өмнө
parent
commit
6fe749cbc5

+ 9 - 1
iOSClient/AppDelegate.m

@@ -1594,7 +1594,15 @@ PKPushRegistry *pushRegistry;
             [[NCManageDatabase sharedInstance] clearTable:[tableActivityPreview class] account:nil];
         }
     }
-
+    
+    if ([actualVersion isEqualToString:@"2.23.4"]) {
+        if (([actualBuild compare:@"3" options:NSNumericSearch] == NSOrderedAscending) || actualBuild == nil) {
+            for (tableAccount *result in [[NCManageDatabase sharedInstance] getAllAccount]) {
+                [CCUtility setPassword:result.account password:result.password];
+            }
+        }
+    }
+    
     return YES;
 }
 

+ 2 - 24
iOSClient/Database/NCManageDatabase.swift

@@ -227,7 +227,8 @@ class NCManageDatabase: NSObject {
             addObject.autoUploadWWAnVideo = true
         }
             
-        addObject.password = password
+        CCUtility.setPassword(account, password: password)
+    
         addObject.url = url
         addObject.user = user
         addObject.userID = user
@@ -241,29 +242,6 @@ class NCManageDatabase: NSObject {
         }
     }
     
-    @objc func setAccountPassword(_ account: String, password: String) -> tableAccount? {
-        
-        let realm = try! Realm()
-
-        realm.beginWrite()
-
-        guard let result = realm.objects(tableAccount.self).filter("account = %@", account).first else {
-            realm.cancelWrite()
-            return nil
-        }
-        
-        result.password = password
-        
-        do {
-            try realm.commitWrite()
-        } catch let error {
-            print("[LOG] Could not write to database: ", error)
-            return nil
-        }
-        
-        return result
-    }
-    
     @objc func deleteAccount(_ account: String) {
         
         let realm = try! Realm()

+ 4 - 2
iOSClient/Login/CCLogin.m

@@ -344,11 +344,13 @@
                 
                 if (_loginType == k_login_Modify_Password) {
                     
+                    tableAccount *tableAccount = [[NCManageDatabase sharedInstance] setAccountActive:account];
+
                     // Change Password
-                    tableAccount *tbAccount = [[NCManageDatabase sharedInstance] setAccountPassword:account password:password];
+                    [CCUtility setPassword:account password:password];
                     
                     // Setting appDelegate active account
-                    [appDelegate settingActiveAccount:tbAccount.account activeUrl:tbAccount.url activeUser:tbAccount.user activeUserID:tbAccount.userID activePassword:tbAccount.password];
+                    [appDelegate settingActiveAccount:account activeUrl:tableAccount.url activeUser:tableAccount.user activeUserID:tableAccount.userID activePassword:password];
                     
                     [self.delegate loginSuccess:_loginType];
                     

+ 3 - 7
iOSClient/Login/CCLoginWeb.swift

@@ -105,13 +105,9 @@ extension CCLoginWeb: SwiftModalWebVCDelegate {
                             return
                         }
                         
-                        // Change Password
-                        guard let tableAccount = NCManageDatabase.sharedInstance.setAccountPassword(account, password: password) else {
-                            self.viewController?.dismiss(animated: true, completion: nil)
-                            return
-                        }
-                        
-                        appDelegate.settingActiveAccount(account, activeUrl: serverUrl, activeUser: username, activeUserID: tableAccount.userID, activePassword: password)
+                        // Change Password & setting active account
+                        CCUtility.setPassword(account, password: password)
+                        appDelegate.settingActiveAccount(account, activeUrl: serverUrl, activeUser: username, activeUserID: appDelegate.activeUserID, activePassword: password)
                         
                         self.delegate?.loginSuccess(NSInteger(loginType))
                         self.delegate?.webDismiss?()