Re: PHP 5.5.21RC1 is ready for testing
| From: | Remi Collet | Date: | Thu, 08 Jan 2015 18:24:18 +0000 |
| Subject: | Re: PHP 5.5.21RC1 is ready for testing | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-80283@lists.php.net to get a copy of this message | ||
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Le 08/01/2015 18:30, Julien Pauli a écrit :
> PHP 5.5.21 RC1 is available for testing.
I notice Horde_Auth test suite start to fail.
Seems related to
. Upgraded crypt_blowfish to version 1.3. (Leigh)
http://git.php.net/?p=php-src.git;a=commitdiff;h=84be568366e50f76818abfbd49ca623ead809606
With 5.6.4 (without this change)
$ php -r 'var_dump(crypt("foobar", "*0OayF9ttbxIs"));'
string(13) "*0OayF9ttbxIs"
With 5.4.36 / 5.5.21RC1 (with)
$ php55 -r 'var_dump(crypt("foobar", "*0OayF9ttbxIs"));'
string(2) "*1"
Is this expected ?
Notice the diff between (see attachement) :
- - 5.4.35 and 5.4.36 show 5 changes,
- - 5.5.20 and 5.521RC1 show only 2
- - 5.6.4 and 5.6.5RC1 show only 2
Remi
P.S. going to send a mail to horde ML about this
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iEYEARECAAYFAlSuy1IACgkQYUppBSnxahjnjwCgoKcpwa7Fm2QbBQ811tNS2aac
SbcAn0kdF9FeBC+VDyOP8dG/XytadSiF
=YeQO
-----END PGP SIGNATURE-----
--- php-5.4.35/ext/standard/crypt.c 2014-11-12 01:29:14.000000000 +0100 +++ php-5.4.36/ext/standard/crypt.c 2014-12-16 19:41:23.000000000 +0100 @@ -204,7 +204,7 @@ salt[salt_in_len] = '\0'; crypt_res = php_sha512_crypt_r(str, salt, output, needed); - if (!crypt_res) { + if (!crypt_res || (salt[0]=='*' && salt[1]=='0')) { if (salt[0]=='*' && salt[1]=='0') { RETVAL_STRING("*1", 1); } else { @@ -227,7 +227,7 @@ salt[salt_in_len] = '\0'; crypt_res = php_sha256_crypt_r(str, salt, output, needed); - if (!crypt_res) { + if (!crypt_res || (salt[0]=='*' && salt[1]=='0')) { if (salt[0]=='*' && salt[1]=='0') { RETVAL_STRING("*1", 1); } else { @@ -242,7 +242,6 @@ } else if ( salt[0] == '$' && salt[1] == '2' && - salt[2] >= 'a' && salt[2] <= 'z' && salt[3] == '$' && salt[4] >= '0' && salt[4] <= '3' && salt[5] >= '0' && salt[5] <= '9' && @@ -252,7 +251,7 @@ memset(output, 0, PHP_MAX_SALT_LEN + 1); crypt_res = php_crypt_blowfish_rn(str, salt, output, sizeof(output)); - if (!crypt_res) { + if (!crypt_res || (salt[0]=='*' && salt[1]=='0')) { if (salt[0]=='*' && salt[1]=='0') { RETVAL_STRING("*1", 1); } else { @@ -268,7 +267,7 @@ _crypt_extended_init_r(); crypt_res = _crypt_extended_r(str, salt, &buffer); - if (!crypt_res) { + if (!crypt_res || (salt[0]=='*' && salt[1]=='0')) { if (salt[0]=='*' && salt[1]=='0') { RETURN_STRING("*1", 1); } else { @@ -292,7 +291,7 @@ # error Data struct used by crypt_r() is unknown. Please report. # endif crypt_res = crypt_r(str, salt, &buffer); - if (!crypt_res) { + if (!crypt_res || (salt[0]=='*' && salt[1]=='0')) { if (salt[0]=='*' && salt[1]=='0') { RETURN_STRING("*1", 1); } else { --- php-5.5.19/ext/standard/crypt.c 2014-11-12 10:38:46.000000000 +0100 +++ /home/rpmbuild/SPECS/remirepo/scl-php55/php/php-5.5.21RC1/ext/standard/crypt.c 2015-01-07 10:38:49.000000000 +0100 @@ -196,7 +196,6 @@ } else if ( salt[0] == '$' && salt[1] == '2' && - salt[2] >= 'a' && salt[2] <= 'z' && salt[3] == '$' && salt[4] >= '0' && salt[4] <= '3' && salt[5] >= '0' && salt[5] <= '9' && @@ -219,7 +218,7 @@ _crypt_extended_init_r(); crypt_res = _crypt_extended_r(password, salt, &buffer); - if (!crypt_res) { + if (!crypt_res || (salt[0] == '*' && salt[1] == '0')) { return FAILURE; } else { *result = estrdup(crypt_res); @@ -240,7 +239,7 @@ # error Data struct used by crypt_r() is unknown. Please report. # endif crypt_res = crypt_r(password, salt, &buffer); - if (!crypt_res) { + if (!crypt_res || (salt[0] == '*' && salt[1] == '0')) { return FAILURE; } else { *result = estrdup(crypt_res); --- php-5.6.4/ext/standard/crypt.c 2014-12-17 02:25:00.000000000 +0100 +++ /home/rpmbuild/SPECS/remirepo/scl-php56/php/php-5.6.5RC1/ext/standard/crypt.c 2015-01-06 23:01:03.000000000 +0100 @@ -196,7 +196,6 @@ } else if ( salt[0] == '$' && salt[1] == '2' && - salt[2] >= 'a' && salt[2] <= 'z' && salt[3] == '$' && salt[4] >= '0' && salt[4] <= '3' && salt[5] >= '0' && salt[5] <= '9' && @@ -219,7 +218,7 @@ _crypt_extended_init_r(); crypt_res = _crypt_extended_r(password, salt, &buffer); - if (!crypt_res) { + if (!crypt_res || (salt[0] == '*' && salt[1] == '0')) { return FAILURE; } else { *result = estrdup(crypt_res); @@ -240,7 +239,7 @@ # error Data struct used by crypt_r() is unknown. Please report. # endif crypt_res = crypt_r(password, salt, &buffer); - if (!crypt_res) { + if (!crypt_res || (salt[0] == '*' && salt[1] == '0')) { return FAILURE; } else { *result = estrdup(crypt_res);
--- php-5.4.35/ext/standard/crypt.c 2014-11-12 01:29:14.000000000 +0100 +++ php-5.4.36/ext/standard/crypt.c 2014-12-16 19:41:23.000000000 +0100 @@ -204,7 +204,7 @@ salt[salt_in_len] = '\0'; crypt_res = php_sha512_crypt_r(str, salt, output, needed); - if (!crypt_res) { + if (!crypt_res || (salt[0]=='*' && salt[1]=='0')) { if (salt[0]=='*' && salt[1]=='0') { RETVAL_STRING("*1", 1); } else { @@ -227,7 +227,7 @@ salt[salt_in_len] = '\0'; crypt_res = php_sha256_crypt_r(str, salt, output, needed); - if (!crypt_res) { + if (!crypt_res || (salt[0]=='*' && salt[1]=='0')) { if (salt[0]=='*' && salt[1]=='0') { RETVAL_STRING("*1", 1); } else { @@ -242,7 +242,6 @@ } else if ( salt[0] == '$' && salt[1] == '2' && - salt[2] >= 'a' && salt[2] <= 'z' && salt[3] == '$' && salt[4] >= '0' && salt[4] <= '3' && salt[5] >= '0' && salt[5] <= '9' && @@ -252,7 +251,7 @@ memset(output, 0, PHP_MAX_SALT_LEN + 1); crypt_res = php_crypt_blowfish_rn(str, salt, output, sizeof(output)); - if (!crypt_res) { + if (!crypt_res || (salt[0]=='*' && salt[1]=='0')) { if (salt[0]=='*' && salt[1]=='0') { RETVAL_STRING("*1", 1); } else { @@ -268,7 +267,7 @@ _crypt_extended_init_r(); crypt_res = _crypt_extended_r(str, salt, &buffer); - if (!crypt_res) { + if (!crypt_res || (salt[0]=='*' && salt[1]=='0')) { if (salt[0]=='*' && salt[1]=='0') { RETURN_STRING("*1", 1); } else { @@ -292,7 +291,7 @@ # error Data struct used by crypt_r() is unknown. Please report. # endif crypt_res = crypt_r(str, salt, &buffer); - if (!crypt_res) { + if (!crypt_res || (salt[0]=='*' && salt[1]=='0')) { if (salt[0]=='*' && salt[1]=='0') { RETURN_STRING("*1", 1); } else { --- php-5.5.19/ext/standard/crypt.c 2014-11-12 10:38:46.000000000 +0100 +++ /home/rpmbuild/SPECS/remirepo/scl-php55/php/php-5.5.21RC1/ext/standard/crypt.c 2015-01-07 10:38:49.000000000 +0100 @@ -196,7 +196,6 @@ } else if ( salt[0] == '$' && salt[1] == '2' && - salt[2] >= 'a' && salt[2] <= 'z' && salt[3] == '$' && salt[4] >= '0' && salt[4] <= '3' && salt[5] >= '0' && salt[5] <= '9' && @@ -219,7 +218,7 @@ _crypt_extended_init_r(); crypt_res = _crypt_extended_r(password, salt, &buffer); - if (!crypt_res) { + if (!crypt_res || (salt[0] == '*' && salt[1] == '0')) { return FAILURE; } else { *result = estrdup(crypt_res); @@ -240,7 +239,7 @@ # error Data struct used by crypt_r() is unknown. Please report. # endif crypt_res = crypt_r(password, salt, &buffer); - if (!crypt_res) { + if (!crypt_res || (salt[0] == '*' && salt[1] == '0')) { return FAILURE; } else { *result = estrdup(crypt_res); --- php-5.6.4/ext/standard/crypt.c 2014-12-17 02:25:00.000000000 +0100 +++ /home/rpmbuild/SPECS/remirepo/scl-php56/php/php-5.6.5RC1/ext/standard/crypt.c 2015-01-06 23:01:03.000000000 +0100 @@ -196,7 +196,6 @@ } else if ( salt[0] == '$' && salt[1] == '2' && - salt[2] >= 'a' && salt[2] <= 'z' && salt[3] == '$' && salt[4] >= '0' && salt[4] <= '3' && salt[5] >= '0' && salt[5] <= '9' && @@ -219,7 +218,7 @@ _crypt_extended_init_r(); crypt_res = _crypt_extended_r(password, salt, &buffer); - if (!crypt_res) { + if (!crypt_res || (salt[0] == '*' && salt[1] == '0')) { return FAILURE; } else { *result = estrdup(crypt_res); @@ -240,7 +239,7 @@ # error Data struct used by crypt_r() is unknown. Please report. # endif crypt_res = crypt_r(password, salt, &buffer); - if (!crypt_res) { + if (!crypt_res || (salt[0] == '*' && salt[1] == '0')) { return FAILURE; } else { *result = estrdup(crypt_res);