Changeset 4016 in subversion
- Timestamp:
- Sep 29, 2010 1:23:26 PM (3 years ago)
- Location:
- trunk/plugins/password
- Files:
-
- 3 edited
-
drivers/poppassd.php (modified) (7 diffs)
-
package.xml (modified) (3 diffs)
-
password.php (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/plugins/password/drivers/poppassd.php
r2668 r4016 6 6 * Driver to change passwords via Poppassd/Courierpassd 7 7 * 8 * @version 1. 08 * @version 1.1 9 9 * @author Philip Weir 10 10 * 11 11 */ 12 13 function format_error_result($code, $line) 14 { 15 if (preg_match('/^\d\d\d\s+(\S.*)\s*$/', $line, $matches)) { 16 return array('code' => $code, 'message' => $matches[1]); 17 } else { 18 return $code; 19 } 20 } 12 21 13 22 function password_save($curpass, $passwd) … … 17 26 $poppassd = new Net_Socket(); 18 27 19 if (PEAR::isError($poppassd->connect($rcmail->config->get('password_pop_host'), $rcmail->config->get('password_pop_port'), null))) { 20 return PASSWORD_CONNECT_ERROR; 28 $result = $poppassd->connect($rcmail->config->get('password_pop_host'), $rcmail->config->get('password_pop_port'), null); 29 if (PEAR::isError($result)) { 30 return format_error_result(PASSWORD_CONNECT_ERROR, $result->getMessage()); 21 31 } 22 32 else { … … 24 34 if(!preg_match('/^2\d\d/', $result)) { 25 35 $poppassd->disconnect(); 26 return PASSWORD_ERROR;36 return format_error_result(PASSWORD_ERROR, $result); 27 37 } 28 38 else { … … 31 41 if(!preg_match('/^[23]\d\d/', $result) ) { 32 42 $poppassd->disconnect(); 33 return PASSWORD_CONNECT_ERROR;43 return format_error_result(PASSWORD_CONNECT_ERROR, $result); 34 44 } 35 45 else { … … 38 48 if(!preg_match('/^[23]\d\d/', $result) ) { 39 49 $poppassd->disconnect(); 40 return PASSWORD_ERROR;50 return format_error_result(PASSWORD_ERROR, $result); 41 51 } 42 52 else { … … 45 55 $poppassd->disconnect(); 46 56 if (!preg_match('/^2\d\d/', $result)) 47 return PASSWORD_ERROR;57 return format_error_result(PASSWORD_ERROR, $result); 48 58 else 49 59 return PASSWORD_SUCCESS; … … 53 63 } 54 64 } 55 56 ?> -
trunk/plugins/password/package.xml
r3955 r4016 16 16 <active>yes</active> 17 17 </lead> 18 <date>2010-09- 10</date>19 <time> 09:00:00</time>18 <date>2010-09-29</date> 19 <time>19:00:00</time> 20 20 <version> 21 <release>1. 7</release>22 <api>1. 5</api>21 <release>1.8</release> 22 <api>1.6</api> 23 23 </version> 24 24 <stability> … … 28 28 <license uri="http://www.gnu.org/licenses/gpl-2.0.html">GNU GPLv2</license> 29 29 <notes> 30 - Added XMail driver 31 - Improve security of chpasswd driver using popen instead of exec+echo (#1486987) 32 - Added chpass-wrapper.py script to improve security (#1486987) 30 - Added possibility to display extended error messages (#1486704) 31 - Added extended error messages in Poppassd driver (#1486704) 33 32 </notes> 34 33 <contents> … … 154 153 </notes> 155 154 </release> 156 </changelog> 155 <release> 156 <date>2010-09-10</date> 157 <time>09:00:00</time> 158 <version> 159 <release>1.7</release> 160 <api>1.5</api> 161 </version> 162 <stability> 163 <release>stable</release> 164 <api>stable</api> 165 </stability> 166 <license uri="http://www.gnu.org/licenses/gpl-2.0.html">GNU GPLv2</license> 167 <notes> 168 - Added XMail driver 169 - Improve security of chpasswd driver using popen instead of exec+echo (#1486987) 170 - Added chpass-wrapper.py script to improve security (#1486987) 171 </notes> 172 </release> 173 </changelog> 157 174 </package> -
trunk/plugins/password/password.php
r3989 r4016 6 6 | @version @package_version@ | 7 7 | | 8 | Copyright (C) 2009 , Roundcube Dev.|8 | Copyright (C) 2009-2010, Roundcube Dev. | 9 9 | | 10 10 | This program is free software; you can redistribute it and/or modify | … … 125 125 } 126 126 // try to save the password 127 else if (!($res = $this->_save($curpwd, $newpwd))) {127 else if (!($res = $this->_save($curpwd, $newpwd))) { 128 128 $rcmail->output->command('display_message', $this->gettext('successfullysaved'), 'confirmation'); 129 129 $_SESSION['password'] = $rcmail->encrypt($newpwd); … … 230 230 $result = password_save($curpass, $passwd); 231 231 232 if (is_array($result)) { 233 $result = $result['code']; 234 $message = $result['message']; 235 } 236 232 237 switch ($result) { 233 238 case PASSWORD_SUCCESS: 234 239 return; 235 240 case PASSWORD_CRYPT_ERROR; 236 return$this->gettext('crypterror');241 $reason = $this->gettext('crypterror'); 237 242 case PASSWORD_CONNECT_ERROR; 238 return$this->gettext('connecterror');243 $reason = $this->gettext('connecterror'); 239 244 case PASSWORD_ERROR: 240 245 default: 241 return $this->gettext('internalerror'); 242 } 246 $reason = $this->gettext('internalerror'); 247 } 248 249 if ($message) { 250 $reason .= ' ' . $message; 251 } 252 253 return $reason; 243 254 } 244 255 } 245 246 ?>
Note: See TracChangeset
for help on using the changeset viewer.
