On Fri, 6 Sep 2002 08:23:33 +0200
Tomáš Procházka <[EMAIL PROTECTED]> wrote:

> Hello,
> I use own PerlAuthenHandler module to verify users' login and password from
> database.
> 
> For comparsion of password user entered and password stored in database is
> crypt function used.
> 
> Here is the code:
> my $real_pass = $d->[0][0];   # crypted password from database
> my $salt = substr $real_pass,0,2;     # salt
> my $test_pass = crypt $sent_pw,$salt; # in $sent_pw is the password user entered
> if ($real_pass eq $test_pass) {
>       $r->subprocess_env(REMOTE_USER => $user);
>       return OK;
> } else {
>       $r->note_basic_auth_failure;
>       return AUTH_REQUIRED;
> }
> 
> Problem:  Sometimes, although user entered correct password, is authentication
> rejected. I tried logging values of $real_pass and $test_pass and they
> differed. When I add line
> 
> $r->log_reason("User $user tested (".$real_pass."/".$test_pass.")...","");
> 
> just before 'if' statement behavior is most of time correct.
> 
> Can anybody help me? Thanks.
> 
> Kacer

Hi,
It seems to be not a mod_perl related problem.
However, try with:

        $test_pass = crypt $sent_pw,$real_pass;

Bye,
        - Enrico

Reply via email to