Avoid spurious warning messages.

Only display the messages from stderr if the passwords do not match.
This commit is contained in:
nekral-guest
2010-08-28 18:05:03 +00:00
parent 7aa5afbe3e
commit 26d47d4a13
+4 -1
View File
@@ -17,9 +17,12 @@ while ($tmp =~ m/^(.*?)([^\n]*):\@PASS_DES ([^:]*)\@:(.*)$/s) {
$file =~ s/^$user:([^:]*):(.*)$/$user:\@PASS_DES $pass\@:$2/m;
my $cryptpass = $1;
# Check the password
my $checkpass = qx|/usr/bin/openssl passwd -crypt -salt '$cryptpass' $pass|;
my $checkpass = qx|/usr/bin/openssl passwd -crypt -salt '$cryptpass' $pass 2>tmp/openssl.err|;
chomp $checkpass;
system "cat tmp/openssl.err"
if ($checkpass ne $cryptpass);
system "rm -f tmp/openssl.err";
die "Wrong password for $user: '$cryptpass'. Expected password: '$checkpass'\n"
if ($checkpass ne $cryptpass);
} else {