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

Reply via email to