fixed the patch after some testing, works productive

pull/21/head
defa 12 years ago
parent 5e9b40a0d5
commit 5c603c4032

@ -41,29 +41,34 @@ class rcube_sql_password
if (strpos($sql, '%c') !== FALSE) { if (strpos($sql, '%c') !== FALSE) {
$salt = ''; $salt = '';
if (!($crypt_digest = $rcmail->config->get('password_crypt_digest'))) if (!($crypt_hash = $rcmail->config->get('password_crypt_hash')))
$crypt_digest = CRYPT_MD5; {
if (CRYPT_MD5)
$crypt_hash = 'md5';
else if (CRYPT_STD_DES)
$crypt_hash = 'des';
}
switch ($crypt_digest) switch ($crypt_hash)
{ {
case CRYPT_MD5: case 'md5':
$len = 8; $len = 8;
$salt_digest = '$1$'; $salt_hashindicator = '$1$';
break; break;
case CRYPT_STD_DES: case 'des':
$len = 2; $len = 2;
break; break;
case CRYPT_BLOWFISH: case 'blowfish':
$len = 22; $len = 22;
$salt_digest = '$2a$'; $salt_hashindicator = '$2a$';
break; break;
case CRYPT_SHA256: case 'sha256':
$len = 16; $len = 16;
$salt_digest = '$5$'; $salt_hashindicator = '$5$';
break; break;
case CRYPT_SHA512: case 'sha512':
$len = 16; $len = 16;
$salt_digest = '$6$'; $salt_hashindicator = '$6$';
break; break;
default: default:
return PASSWORD_CRYPT_ERROR; return PASSWORD_CRYPT_ERROR;
@ -75,7 +80,7 @@ class rcube_sql_password
$salt .= $seedchars[rand(0, 63)]; $salt .= $seedchars[rand(0, 63)];
} }
$sql = str_replace('%c', $db->quote(crypt($passwd, $salt_digest ? $salt_digest .$salt.'$' : $salt)), $sql); $sql = str_replace('%c', $db->quote(crypt($passwd, $salt_hashindicator ? $salt_hashindicator .$salt.'$' : $salt)), $sql);
} }
// dovecotpw // dovecotpw

Loading…
Cancel
Save