Handle *0 / *1 more consistently

Avoid throwing a DES salt deprecation warning if the libc crypt
implementation is used.
This commit is contained in:
Nikita Popov 2020-06-24 12:20:05 +02:00
parent 32257ac17f
commit 565baf05c0

View file

@ -99,6 +99,11 @@ PHPAPI zend_string *php_crypt(const char *password, const int pass_len, const ch
{
char *crypt_res;
zend_string *result;
if (salt[0] == '*' && (salt[1] == '0' || salt[1] == '1')) {
return NULL;
}
/* Windows (win32/crypt) has a stripped down version of libxcrypt and
a CryptoApi md5_crypt implementation */
#if PHP_USE_PHP_CRYPT_R
@ -160,8 +165,6 @@ PHPAPI zend_string *php_crypt(const char *password, const int pass_len, const ch
ZEND_SECURE_ZERO(output, PHP_MAX_SALT_LEN + 1);
return result;
}
} else if (salt[0] == '*' && (salt[1] == '0' || salt[1] == '1')) {
return NULL;
} else {
/* DES Fallback */