Bug #51435 [Opn->Csd]: Missing ifdefs / logic bug in crypt code cause compile errors
| From: | felipe@php.net | Date: | Thu, 22 Apr 2010 20:54:52 +0000 |
| Subject: | Bug #51435 [Opn->Csd]: Missing ifdefs / logic bug in crypt code cause compile errors | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-149798@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=51435&edit=1
ID: 51435
Updated by: felipe@php.net
Reported by: joey@php.net
Summary: Missing ifdefs / logic bug in crypt code cause compile
errors
-Status: Open
+Status: Closed
Type: Bug
Package: Compile Failure
Operating System: Ubuntu 9.10
PHP Version: 5.3.2
-Assigned To:
+Assigned To: felipe
New Comment:
This bug has been fixed in SVN.
Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.
Thank you for the report, and for helping us make PHP better.
Previous Comments:
------------------------------------------------------------------------
[2010-04-22 22:54:37] felipe@php.net
Automatic comment from SVN on behalf of felipe
Revision: http://svn.php.net/viewvc/?view=revision&revision=298345
Log: - Fixed bug #51435 (Missing ifdefs / logic bug in crypt code cause
compile errors)
------------------------------------------------------------------------
[2010-03-30 12:05:14] joey@php.net
Description:
------------
In ext/standard/config.m4, the following line causes conditional
definition of the PHP_SHA256_CRYPT and PHP_SHA512_CRYPT constants:
if test "$ac_cv_crypt_blowfish" = "no" || test "$ac_cv_crypt_des" =
"no"
|| test "$ac_cv_crypt_ext_des" = "no" || test "x$php_crypt_r" =
"x0";
then
Because these symbols are used unconditionally in ext/standard/crypt.c,
this can cause PHP to fail to compile.
In the near-term, the compile bug can be fixed as follows:
#ifdef PHP_SHA256_CRYPT
REGISTER_LONG_CONSTANT("CRYPT_SHA256", PHP_SHA256_CRYPT, CONST_CS |
CONST_PERSISTENT);
#endif
#ifdef PHP_SHA512_CRYPT
REGISTER_LONG_CONSTANT("CRYPT_SHA512", PHP_SHA512_CRYPT, CONST_CS |
CONST_PERSISTENT);
#endif
However, the m4 logic should probably be revisited at some point.
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=51435&edit=1