@@ -0,0 +1,37 @@
+X-Git-Url: http://72.52.91.13:8000/?p=php-src.git;a=blobdiff_plain;f=ext%2Fstandard%2Fcrypt.c;h=1b83d6e12770869f6cde71e65e8d88caecd310a1;hp=b7ac8d64bde30c1b44f0cbd6cf89b9369cedb9d8;hb=54da966883bacf28808e26eeda48fe38e21b118e;hpb=c4681ec8e10b365a83bcff34a261e7c5e62dea60
+
+diff --git a/ext/standard/crypt.c b/ext/standard/crypt.c
+index b7ac8d6..1b83d6e 100644
+--- a/ext/standard/crypt.c
++++ b/ext/standard/crypt.c
+@@ -236,18 +236,23 @@ PHPAPI int php_crypt(const char *password, const int pass_len, const char *salt,
+ # elif defined(CRYPT_R_CRYPTD)
+ CRYPTD buffer;
+ # else
+-# error Data struct used by crypt_r() is unknown. Please report.
++# error Data struct used by crypt_r() is unknown. Please report.
+ # endif
+ crypt_res = crypt_r(password, salt, &buffer);
+- if (!crypt_res || (salt[0] == '*' && salt[1] == '0')) {
+- return FAILURE;
+- } else {
+- *result = estrdup(crypt_res);
+- return SUCCESS;
+- }
+ }
++# elif defined(HAVE_CRYPT)
++ crypt_res = crypt(password, salt);
++# else
++# error No crypt() implementation
+ # endif
+ #endif
++
++ if (!crypt_res || (salt[0] == '*' && salt[1] == '0')) {
++ return FAILURE;
++ } else {
++ *result = estrdup(crypt_res);
++ return SUCCESS;
++ }
+ }
+ /* }}} */
+
|