Christopher Hicks wrote:
I brought a new server up yesterday using Red Hat 8's httpd-2.0.40-8 and
based on the patches and comments I found in the list archive all was
eventually well. Today I updated various rpms on the box from the official Red Hat updates and how AuthDBI is no longer working. I stuck various debugging statements in until I drilled down to the point of finding that crypt() seems to be the problem. Running perl from the command line produces correct results:
# perl -e 'print crypt("test","0y"),"\n"';
0y5fZG4UG8Bd.

but when I add the logging statement into AuthDBI

$r->log_reason("password='$password' passwd_to_check='$passwd_to_check' salt='$salt' accessing ", $r->uri);

between these lines:

my $passwd_to_check = $Attr->{encrypted} eq 'on' ? crypt($passwd_sent, $password) : $passwd_sent; # here in other words
if ($passwd_to_check eq $password) {

the logs show:
[Fri Jan 24 16:27:19 2003] [error] password='0y5fZG4UG8Bd.' passwd_to_check='0ypz5H80XtTxw' salt='0y' accessing /cgi/test

So why did upgrading httpd break crypt?!?
Since you didn't remember to fill a complete report as explained here:
http://perl.apache.org/docs/2.0/user/help/help.html#Reporting_Problems
I can only guess that you are using the threaded mpm and perl 5.8.0. In which case you need to install mod_perl 1.99_08. From Changes:

workaround glibc/Perl-5.8.0 crypt() bug (seen with threaded MPMs)




__________________________________________________________________
Stas Bekman JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/ mod_perl Guide ---> http://perl.apache.org
mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org http://ticketmaster.com



Reply via email to