From ed4f659a76e86271acae4346fd76b80a770398fc Mon Sep 17 00:00:00 2001
From: hsz <jakub@chrzanowski.info>
Date: Thu, 08 Oct 2015 08:50:41 -0400
Subject: [PATCH] Fixed dovecot and samba encryption - (invalid variables names)

---
 plugins/password/password.php |   13 +++++++++----
 1 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/plugins/password/password.php b/plugins/password/password.php
index 5ad5095..f84dc8f 100644
--- a/plugins/password/password.php
+++ b/plugins/password/password.php
@@ -256,6 +256,7 @@
             $rules = html::tag('ul', array('id' => 'ruleslist'), $rules);
         }
 
+        $disabled_msg = '';
         if ($form_disabled) {
             $disabled_msg = is_string($form_disabled) ? $form_disabled : $this->gettext('disablednotice');
             $disabled_msg = html::div(array('class' => 'boxwarning', 'id' => 'password-notice'), $disabled_msg);
@@ -316,6 +317,7 @@
 
         $object = new $class;
         $result = $object->save($curpass, $passwd);
+        $message = '';
 
         if (is_array($result)) {
             $message = $result['message'];
@@ -403,6 +405,9 @@
     {
         $method = strtolower($method);
         $rcmail = rcmail::get_instance();
+        $prefix = '';
+        $crypted = '';
+        $default = false;
 
         if (empty($method) || $method == 'default') {
             $method   = $rcmail->config->get('password_algorithm');
@@ -547,7 +552,7 @@
         case 'samba':
             if (function_exists('hash')) {
                 $crypted = hash('md4', rcube_charset::convert($password, RCUBE_CHARSET, 'UTF-16LE'));
-                $crypted = strtoupper($crypted_password);
+                $crypted = strtoupper($crypted);
             }
             else {
                 rcube::raise_error(array(
@@ -585,14 +590,14 @@
                 return false;
             }
             else {
-                fwrite($pipe, $passwd . "\n", 1+strlen($passwd)); usleep(1000);
-                fwrite($pipe, $passwd . "\n", 1+strlen($passwd));
+                fwrite($pipe, $password . "\n", 1+strlen($password)); usleep(1000);
+                fwrite($pipe, $password . "\n", 1+strlen($password));
                 pclose($pipe);
 
                 $crypted = trim(file_get_contents($tmpfile), "\n");
                 unlink($tmpfile);
 
-                if (!preg_match('/^\{' . $method . '\}/', $newpass)) {
+                if (!preg_match('/^\{' . $method . '\}/', $crypted)) {
                     return false;
                 }
 

--
Gitblit v1.9.1