From 0dd842dbf5a63af81fc2abfc884dd9889e59b269 Mon Sep 17 00:00:00 2001
From: alecpl <alec@alec.pl>
Date: Sat, 19 Sep 2009 04:01:55 -0400
Subject: [PATCH] - added server side password inconsistency check
---
plugins/password/password.js | 2 +-
plugins/password/password.php | 9 +++++++--
2 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/plugins/password/password.js b/plugins/password/password.js
index c3252f0..8a079de 100644
--- a/plugins/password/password.js
+++ b/plugins/password/password.js
@@ -25,7 +25,7 @@
} else if (input_confpasswd && input_confpasswd.value=='') {
alert(rcmail.gettext('nopassword', 'password'));
input_confpasswd.focus();
- } else if ((input_newpasswd && input_confpasswd) && (input_newpasswd.value != input_confpasswd.value)) {
+ } else if (input_newpasswd && input_confpasswd && input_newpasswd.value != input_confpasswd.value) {
alert(rcmail.gettext('passwordinconsistency', 'password'));
input_newpasswd.focus();
} else {
diff --git a/plugins/password/password.php b/plugins/password/password.php
index 3a7050b..0a44aa9 100644
--- a/plugins/password/password.php
+++ b/plugins/password/password.php
@@ -89,8 +89,12 @@
$curpwd = get_input_value('_curpasswd', RCUBE_INPUT_POST);
$newpwd = get_input_value('_newpasswd', RCUBE_INPUT_POST);
+ $conpwd = get_input_value('_confpasswd', RCUBE_INPUT_POST);
- if ($confirm && $rcmail->decrypt($_SESSION['password']) != $curpwd) {
+ if ($conpwd != $newpwd) {
+ $rcmail->output->command('display_message', $this->gettext('passwordinconsistency'), 'error');
+ }
+ else if ($confirm && $rcmail->decrypt($_SESSION['password']) != $curpwd) {
$rcmail->output->command('display_message', $this->gettext('passwordincorrect'), 'error');
}
else if ($required_length && strlen($newpwd) < $required_length) {
@@ -103,7 +107,8 @@
else if (!($res = $this->_save($curpwd,$newpwd))) {
$rcmail->output->command('display_message', $this->gettext('successfullysaved'), 'confirmation');
$_SESSION['password'] = $rcmail->encrypt($newpwd);
- } else
+ }
+ else
$rcmail->output->command('display_message', $res, 'error');
}
--
Gitblit v1.9.1