ID: 19764 User updated by: [EMAIL PROTECTED] Reported By: [EMAIL PROTECTED] Status: Open Bug Type: *Encryption and hash functions Operating System: Redhat 7.3, kernel 2.4.19 PHP Version: 4.2.3 New Comment:
This problem has been solved. It was an OpenSSL issue, and a fix was committed last night to the OpenSSL tree. This morning, I build OpenSSL-0.9.7-stable (-beta3), and the problem went away. Previous Comments: ------------------------------------------------------------------------ [2002-10-05 19:28:01] [EMAIL PROTECTED] Interestingly enough, when I build Apache2 with mod_ssl as a DSO, and then disable mod_ssl in httpd.conf, the problem still occurs. I expected the opposite behavior. ------------------------------------------------------------------------ [2002-10-05 19:07:42] [EMAIL PROTECTED] $testsalt isn't a variable, it's part of the salt string. $1$ tells crypt() that this is an MD5 salt, not a 2-character DES salt. When it works, it generates: $1$testsalt$FJo/PhmykbF5HpI4eUR190 When it doesn't, it generates: $19JEJTylB1.M I've just finished doing a bunch more tests of various different situations, and it looks like it's some sort of Apache2 <-> OpenSSL issue. It *only* occurs when Apache2 is compiled '--enable-ssl'. Apache2 compiled without SSL enabled works great, Apache1 works great with the exact same versions of OpenSSL and the latest mod_ssl, and PHP standalone works great. I've tried various versions of OpenSSL and Apache2, all of them exhibit this behavior. ------------------------------------------------------------------------ [2002-10-05 01:27:40] [EMAIL PROTECTED] Seems to work just fine here for me on Linux. Could you show me what salt are you using (value of the $testsalt variable) as well as the results that you get. ------------------------------------------------------------------------ [2002-10-04 21:28:05] [EMAIL PROTECTED] Looks like it is an OpenSSL problem, afterall. When I compile Apache 2.0.43 without SSL, PHP's crypt() behaves properly. Sorry for the bug entry. I guess I'll go bother the OpenSSL guys. ------------------------------------------------------------------------ [2002-10-04 19:36:02] [EMAIL PROTECTED] I should note, also, that the following constants are the correct values, too: CRYPT_MD5 = 1 CRYPT_SALT_LENGTH = 12. I just tried the latest CVS snapshot of 4.3.0-dev (200210040900) and I have the same problem there. If I configure with '--with-apxs2' I get DES results, and if I build with '--without-apache' the standalone php binary works fine. I even went as far as to force configure to turn DES off, and indeed, after compiling, CRYPT_STD_DES = 0. Nevertheless, crypt() returned DES results. I will try whatever CVS snapshot of Apache2 I can get my hands on, but this appears on the surface to be a php bug. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/19764 -- Edit this bug report at http://bugs.php.net/?id=19764&edit=1