Commit Graph

139184 Commits

Author SHA1 Message Date
Gina Peter Banyard
f011684206 ext/standard: Split sort tests that contain escape sequences 2024-11-08 07:04:00 +00:00
Gina Peter Banyard
d8a63a38c6 ext/standard: Move sort() related tests into subfolder 2024-11-08 07:04:00 +00:00
Christoph M. Becker
c1bf3acf44
Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix rename_variation12*.phpt parallel test conflicts
2024-11-08 00:26:52 +01:00
Christoph M. Becker
e68970d455
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix rename_variation12*.phpt parallel test conflicts
2024-11-08 00:26:19 +01:00
Christoph M. Becker
5f5d2c04c3
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix rename_variation12*.phpt parallel test conflicts
2024-11-08 00:25:24 +01:00
Christoph M. Becker
03eeec16f0
Fix rename_variation12*.phpt parallel test conflicts
For rename_variation12.phpt this is actually not necessary, since there
is no rename_variation11.phpt, but we still fix it to be in sync with
rename_variation12-win32.phpt which actually is prone to parallel
conflicts.

(cherry picked from commit d4263ddc40)
2024-11-08 00:24:49 +01:00
David Carlier
600da8cffc
Merge branch 'PHP-8.4' 2024-11-07 22:53:08 +00:00
David Carlier
7477c1b4ab
Merge branch 'PHP-8.3' into PHP-8.4 2024-11-07 22:52:57 +00:00
David Carlier
3f28644fff
Merge branch 'PHP-8.2' into PHP-8.3 2024-11-07 22:52:19 +00:00
David Carlier
e74e66e3f7
Fix oss-fuzz report triggered by GH-15712 commit.
It triggered allocation overflow which, even fixed, in turn gives memory
leak on 32 bits but the allocator relies on signed integers.

close GH-15915
2024-11-07 22:51:05 +00:00
Ilija Tovilo
93c9c7c5c1
[skip ci] Update to ubuntu 24.04 for asan in nightly 2024-11-07 22:05:54 +01:00
Ilija Tovilo
fb257ee83c
Upgrade master to Ubuntu 24.04 (GH-16704) 2024-11-07 16:32:45 +01:00
Arnaud Le Blanc
40997c2c62
[ci skip] NEWS for GH-16702 2024-11-07 15:56:45 +01:00
Michael Orlitzky
4dc0b40f42 ext/standard/crypt.c: handle musl failure tokens
Musl's crypt() returns "*" to indicate failure in contrast with the
"*0" returned by PHP/libxcrypt. This causes test failures, but more
importantly, is a pretty silly thing to expect the user to know.
This commit catches the musl value and turns it into "*0".
2024-11-07 15:54:50 +01:00
Michael Orlitzky
f5d2e7b779 ext/standard/tests/crypt/des_fallback_invalid_salt.phpt: less valid salt
Musl's crypt() implementation of DES tries to handle invalid salts and
can make this test fail because it returns an answer and not an
error. Even musl however will reject a salt with a ':' in it, so we
can make this test cross-platform by supplying an even less valid
salt.
2024-11-07 15:54:50 +01:00
Michael Orlitzky
8a712003aa ext/standard/tests/strings/crypt_sha256.phpt: fix on musl
Among other things, this test tries to run too few and too many rounds
of SHA256. In both cases, it is expecting an error, but that behavior
depends on the implementation:

  * PHP's own implementation raises an error in either case
  * libxcrypt raises an error in either case
  * Older versions of glibc would clamp the number of rounds
    to a valid amount (newer versions don't have libcrypt)
  * Musl libc clamps values that are too low, but raises an error
    for values that are too high

If PHP is built with --with-external-libcrypt, the musl implementation
above can be used. Even if libxcrypt is installed, PHP will notice
that no additional -lfoo flags are needed to use the crypt
implementation in musl. To pass on such a system, we must not test
for the "too few rounds" behavior.
2024-11-07 15:54:50 +01:00
Ilija Tovilo
452c5ac989
Fix incorrect filename of dl()'d internal consts (#16721)
We should only attempt to fetch the current filename for user constants. dl()
may attempt to register internal constants after execution has already started,
thus incorrectly linking the user file invoking dl().

See GH-16663
2024-11-07 14:53:12 +01:00
Christoph M. Becker
5c76ef78cb
Fix GH-10992: Improper long path support for relative paths
Relative paths are passed to the ioutils APIs, these are not properly
converted to long paths.  If the path length already exceeds a given
threshold (usually 259 characters, but only 247 for `mkdir()`), the
long path prefix is prepended, resulting in an invalid path, since long
paths have to be absolute.  If the path length does not exceed that
threshold, no conversion to a long path is done, although that may be
necessary.

Thus we take the path length of the current working directory into
account when checking the threshold, and prepend it to the filename if
necessary.

Since this is only relevant for NTS builds, and using the current
working directory of the process would be erroneous for ZTS builds, we
skip the new code for ZTS builds.

Closes GH-16687.
2024-11-07 13:34:41 +01:00
Christoph M. Becker
59fe79fb45
Merge branch 'PHP-8.4'
* PHP-8.4:
  Skip tests if ldap_set_rebind_proc() is not available
2024-11-07 13:24:33 +01:00
Christoph M. Becker
6b754d9e81
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Skip tests if ldap_set_rebind_proc() is not available
2024-11-07 13:24:00 +01:00
Christoph M. Becker
fb6d500457
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Skip tests if ldap_set_rebind_proc() is not available
2024-11-07 13:22:54 +01:00
Christoph M. Becker
d276ea54f4
Skip tests if ldap_set_rebind_proc() is not available
This is already done by ldap_set_rebind_proc_error.phpt, but not by the
other two affected tests.

Closes GH-16708.
2024-11-07 13:22:17 +01:00
Niels Dossche
96d1cd00b7
Fix GH-16665: \array and \callable should not be usable
This list was initially introduced in 53a40386, but never included array or
callable. I suppose this is because int & friends are not actual tokens,
while array and callable are. This means it was never possible to do class
array, which is probably the reason this was overlooked.

Closes GH-16683.
2024-11-06 18:16:06 +01:00
Niels Dossche
bc4fa01de7
Get rid of reserved name usage in ext/libxml (#16707)
Names starting with an _ are reserved in C.
2024-11-06 17:47:48 +01:00
Niels Dossche
6366da48ec
Use unsigned int for the reference count APIs in ext/libxml (#16706)
Also removes impossible conditions.
2024-11-06 17:47:35 +01:00
David Carlier
3942972bef
Merge branch 'PHP-8.4' 2024-11-06 12:53:40 +00:00
David Carlier
a0c7550886
Merge branch 'PHP-8.3' into PHP-8.4 2024-11-06 12:53:07 +00:00
David Carlier
d59b07f9bd
Merge branch 'PHP-8.2' into PHP-8.3 2024-11-06 12:52:56 +00:00
David Carlier
fde053bb92
Fix GH-16235 jdtogregorian overflow
close GH-16242
2024-11-06 12:52:32 +00:00
Saki Takamachi
91eda57680
Merge branch 'PHP-8.4'
* PHP-8.4:
  Fixed the test because libmysql results type is string. (#16709)
2024-11-06 21:07:22 +09:00
Saki Takamachi
5faef8e6c9
Fixed the test because libmysql results type is string. (#16709)
closes #16709
2024-11-06 21:07:03 +09:00
Saki Takamachi
74218530b6
Merge branch 'PHP-8.4'
* PHP-8.4:
  Added gc_handler to properly handle circular references. (#16703)
2024-11-06 20:32:53 +09:00
Saki Takamachi
a800a03562
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Added gc_handler to properly handle circular references. (#16703)
2024-11-06 20:32:33 +09:00
Saki Takamachi
ca27e40a5f
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Added gc_handler to properly handle circular references. (#16703)
2024-11-06 20:31:30 +09:00
Saki Takamachi
4d14325b19
Added gc_handler to properly handle circular references. (#16703)
closes #16703

Co-authored-by: Christoph M. Becker <cmbecker69@gmx.de>
2024-11-06 20:30:08 +09:00
Niels Dossche
228c27112a
Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix test with shared zend_test (#16705)
2024-11-05 21:36:54 +01:00
Niels Dossche
2f5021b6bd
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix test with shared zend_test (#16705)
2024-11-05 21:36:48 +01:00
Niels Dossche
9a255b384f
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Fix test with shared zend_test (#16705)
2024-11-05 21:36:41 +01:00
Niels Dossche
3f1ea1b663
Fix test with shared zend_test (#16705) 2024-11-05 21:35:47 +01:00
Pierrick Charron
24a4cb2f0e
Merge branch 'PHP-8.4'
* PHP-8.4:
  PHP-8.2 is now for PHP 8.2.27-dev
2024-11-05 12:50:58 -05:00
Pierrick Charron
815a4a8878
Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  PHP-8.2 is now for PHP 8.2.27-dev
  PHP-8.3 is now for PHP-8.3.15-dev
2024-11-05 12:49:49 -05:00
Pierrick Charron
cf2dc976e6
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  PHP-8.2 is now for PHP 8.2.27-dev
2024-11-05 12:48:30 -05:00
Pierrick Charron
f5895792e7
PHP-8.2 is now for PHP 8.2.27-dev 2024-11-05 12:47:25 -05:00
Ilija Tovilo
06b99c059e
Merge branch 'PHP-8.4'
* PHP-8.4:
  Fix compiler warning in zend_test
2024-11-05 16:52:00 +01:00
Arnaud Le Blanc
8d30ed4f80
Fix compiler warning in zend_test
Closes GH-16650
2024-11-05 16:51:43 +01:00
Eric Mann
f2602f3200
Merge branch 'PHP-8.3' 2024-11-05 07:01:41 -08:00
Eric Mann
9c79ca74ef
PHP-8.3 is now for PHP-8.3.15-dev 2024-11-05 07:00:09 -08:00
Dmitry Stogov
e3756c64d2
Merge branch 'PHP-8.4'
* PHP-8.4:
  Update IR
  [ci skip] Update NEWS for PHP 8.4.0RC4
2024-11-05 17:53:54 +03:00
Dmitry Stogov
56381e8f1d
Update IR
IR commit: 23c188cff0594d3af23517537e74e9e3b9b7f120
2024-11-05 17:52:37 +03:00
Calvin Buckley
a94ead4be0
[ci skip] Update NEWS for PHP 8.4.0RC4 2024-11-05 10:41:29 -04:00