restore validate_password test
not sure how/why that got removed, but it wasn't intentional
This commit is contained in:
parent
b7cb9eaf3d
commit
7d19bc6d5e
@ -40,4 +40,55 @@ sub run_tests {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub validate_password {
|
||||||
|
my ( $self, %a ) = @_;
|
||||||
|
|
||||||
|
my ($pkg, $file, $line) = caller();
|
||||||
|
|
||||||
|
my $src_clear = $a{src_clear};
|
||||||
|
my $src_crypt = $a{src_crypt};
|
||||||
|
my $attempt_clear = $a{attempt_clear};
|
||||||
|
my $attempt_hash = $a{attempt_hash};
|
||||||
|
my $method = $a{method} or die "missing method";
|
||||||
|
my $ticket = $a{ticket};
|
||||||
|
my $deny = $a{deny} || DENY;
|
||||||
|
|
||||||
|
if ( ! $src_crypt && ! $src_clear ) {
|
||||||
|
$self->log(LOGINFO, "fail: missing password");
|
||||||
|
return ( $deny, "$file - no such user" );
|
||||||
|
};
|
||||||
|
|
||||||
|
if ( ! $src_clear && $method =~ /CRAM-MD5/i ) {
|
||||||
|
$self->log(LOGINFO, "skip: cram-md5 not supported w/o clear pass");
|
||||||
|
return ( DECLINED, $file );
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( defined $attempt_clear ) {
|
||||||
|
if ( $src_clear && $src_clear eq $attempt_clear ) {
|
||||||
|
$self->log(LOGINFO, "pass: clear match");
|
||||||
|
return ( OK, $file );
|
||||||
|
};
|
||||||
|
|
||||||
|
if ( $src_crypt && $src_crypt eq crypt( $attempt_clear, $src_crypt ) ) {
|
||||||
|
$self->log(LOGINFO, "pass: crypt match");
|
||||||
|
return ( OK, $file );
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
if ( defined $attempt_hash && $src_clear ) {
|
||||||
|
if ( ! $ticket ) {
|
||||||
|
$self->log(LOGERROR, "skip: missing ticket");
|
||||||
|
return ( DECLINED, $file );
|
||||||
|
};
|
||||||
|
|
||||||
|
if ( $attempt_hash eq hmac_md5_hex( $ticket, $src_clear ) ) {
|
||||||
|
$self->log(LOGINFO, "pass: hash match");
|
||||||
|
return ( OK, $file );
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
$self->log(LOGINFO, "fail: wrong password");
|
||||||
|
return ( $deny, "$file - wrong password" );
|
||||||
|
};
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
Loading…
Reference in New Issue
Block a user