Explorar o código

add password decryption for server password

andre %!s(int64=4) %!d(string=hai) anos
pai
achega
864601c697
Modificáronse 1 ficheiros con 14 adicións e 2 borrados
  1. 14 2
      zimbraSingle.php

+ 14 - 2
zimbraSingle.php

@@ -658,14 +658,26 @@ function zimbraSingle_ConfigOptions($params) {
         ->get();
     $accessData['zimbraServer'] = $server[0]->ipaddress;
     $accessData['adminUser'] = $server[0]->username;
-    $accessData['adminPass'] = $server[0]->password;
+    $passDecrypt = localAPI('DecryptPassword', array('password2' => $server[0]->password));
+    if ($passDecrypt['result'] == 'success') {
+        $accessData['adminPass'] = $passDecrypt['password'];
+    } else {
+        logModuleCall(
+            'zimbrasingle',
+            __FUNCTION__,
+            $server,
+            'Error: could not decrypt password',
+            $passDecrypt['message']
+        );
+    return 'Error: could not decrypt password';
+    }
     $api = new Zm_Auth($accessData['zimbraServer'], $accessData['adminUser'], $accessData['adminPass'], 'admin');
     $login = $api->login();
     if(is_a($login, 'Exception')) {
         logModuleCall(
             'zimbrasingle',
             __FUNCTION__,
-            $params,
+            $server,
             'Error: cannot login to ' . $accessData['zimbraServer'],
             $login->getMessage()
         );