Changeset 5367 in subversion


Ignore:
Timestamp:
Oct 26, 2011 7:53:23 AM (20 months ago)
Author:
alec
Message:
  • Improve generated crypt() passwords (#1488136)
Location:
trunk/plugins/password
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/plugins/password/drivers/sql.php

    r5323 r5367  
    3838    if (strpos($sql, '%c') !== FALSE) { 
    3939        $salt = ''; 
    40         if (CRYPT_MD5) {  
    41             $len = rand(3, CRYPT_SALT_LENGTH); 
     40        if (CRYPT_MD5) { 
     41            // Always use eight salt characters for MD5 (#1488136) 
     42            $len = 8; 
    4243        } else if (CRYPT_STD_DES) { 
    4344            $len = 2; 
     
    4546            return PASSWORD_CRYPT_ERROR; 
    4647        } 
     48 
     49        //Restrict the character set used as salt (#1488136) 
     50        $seedchars = './0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; 
    4751        for ($i = 0; $i < $len ; $i++) { 
    48             $salt .= chr(rand(ord('.'), ord('z'))); 
     52            $salt .= $seedchars[rand(0, 63)]; 
    4953        } 
     54 
    5055        $sql = str_replace('%c',  $db->quote(crypt($passwd, CRYPT_MD5 ? '$1$'.$salt.'$' : $salt)), $sql); 
    5156    } 
  • trunk/plugins/password/package.xml

    r5323 r5367  
    1616                <active>yes</active> 
    1717        </lead> 
    18         <date></date> 
    19         <time></time> 
     18        <date>2011-10-26</date> 
     19        <time>12:00</time> 
    2020        <version> 
    21                 <release></release> 
     21                <release>2.3</release> 
    2222                <api>1.6</api> 
    2323        </version> 
     
    3232- Added 'password_change' hook for plugin actions after successful password change 
    3333- Fixed bug where 'doveadm pw' command was used as dovecotpw utility 
     34- Improve generated crypt() passwords (#1488136) 
    3435    </notes> 
    3536        <contents> 
Note: See TracChangeset for help on using the changeset viewer.