mirror of
https://github.com/webmin/webmin.git
synced 2026-02-03 14:13:29 +00:00
Fix unix_crypt not to fail false positively
This commit is contained in:
@@ -11001,16 +11001,15 @@ string.
|
||||
sub unix_crypt
|
||||
{
|
||||
my ($pass, $salt) = @_;
|
||||
return "" if ($salt !~ /^[\$a-zA-Z0-9\.\/]{2}/); # same as real crypt
|
||||
my $rv = eval "crypt(\$pass, \$salt)";
|
||||
my $err = $@;
|
||||
return $rv if ($rv && !$@);
|
||||
return "" if ($salt !~ /^[\$a-zA-Z0-9]{2}/); # same as real crypt
|
||||
my $rv = eval { crypt($pass, $salt) };
|
||||
return $rv if (!$@);
|
||||
eval "use Crypt::UnixCrypt";
|
||||
if (!$@) {
|
||||
return Crypt::UnixCrypt::crypt($pass, $salt);
|
||||
}
|
||||
else {
|
||||
&error("Failed to encrypt password : $err");
|
||||
&error("Failed to encrypt password : $@");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user