diff options
Diffstat (limited to 'main/php/fix-crypt.patch')
-rw-r--r-- | main/php/fix-crypt.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/main/php/fix-crypt.patch b/main/php/fix-crypt.patch new file mode 100644 index 0000000000..2b6b1d3011 --- /dev/null +++ b/main/php/fix-crypt.patch @@ -0,0 +1,48 @@ +https://bugs.php.net/bug.php?id=67512 + +--- php-5.6.19.orig/ext/standard/crypt.c ++++ php-5.6.19/ext/standard/crypt.c +@@ -58,6 +58,7 @@ + #include "php_lcg.h" + #include "php_crypt.h" + #include "php_rand.h" ++#include "php_config.h" + + /* The capabilities of the crypt() function is determined by the test programs + * run by configure from aclocal.m4. They will set PHP_STD_DES_CRYPT, +@@ -227,18 +228,20 @@ + } + } + #else +- +-# if defined(HAVE_CRYPT_R) && (defined(_REENTRANT) || defined(_THREAD_SAFE)) + { +-# if defined(CRYPT_R_STRUCT_CRYPT_DATA) ++# if defined(HAVE_CRYPT_R) ++# if defined(CRYPT_R_STRUCT_CRYPT_DATA) + struct crypt_data buffer; + memset(&buffer, 0, sizeof(buffer)); +-# elif defined(CRYPT_R_CRYPTD) ++# elif defined(CRYPT_R_CRYPTD) + CRYPTD buffer; +-# else +-# error Data struct used by crypt_r() is unknown. Please report. +-# endif ++# else ++# error Data struct used by crypt_r() is unknown. Please report. ++# endif + crypt_res = crypt_r(password, salt, &buffer); ++# else ++ crypt_res = crypt(passwrd, salt); ++#endif + if (!crypt_res || (salt[0] == '*' && salt[1] == '0')) { + return FAILURE; + } else { +@@ -246,7 +249,6 @@ + return SUCCESS; + } + } +-# endif + #endif + } + /* }}} */ |