Handle variable-length MD5 salts
authorJamie Cameron <jcameron@webmin.com>
Fri, 13 Jun 2008 17:02:05 +0000 (17:02 +0000)
committerJamie Cameron <jcameron@webmin.com>
Fri, 13 Jun 2008 17:02:05 +0000 (17:02 +0000)
miniserv.pl
useradmin/md5-lib.pl

index 53c037d..89e0bf5 100755 (executable)
@@ -4617,7 +4617,7 @@ sub encrypt_md5
 {
 local ($passwd, $salt) = @_;
 local $magic = '$1$';
-if ($salt =~ /^\$1\$(.{8})/) {
+if ($salt =~ /^\$1\$([^\$]+)/) {
        # Extract actual salt from already encrypted password
        $salt = $1;
        }
index b788a7b..b0c36b8 100644 (file)
@@ -26,7 +26,7 @@ sub encrypt_md5
 local $passwd = $_[0];
 local $magic = '$1$';
 local $salt = $_[1] || substr(time(), -8);
-if ($salt =~ /^\$1\$(.{8})/) {
+if ($salt =~ /^\$1\$([^\$]+)/) {
        # Extract actual salt from already encrypted password
        $salt = $1;
        }