Commit graph

134997 commits

Author SHA1 Message Date
Peter Kokot
7b2c67ca98
Simplify setpflags Autoconf check (#13458)
Similar simplification as e72f0c887b.
2024-02-21 21:01:47 +01:00
Ayesh Karunaratne
ec9ae1ec1b
CI: Fix labeler.yml file to support actions/labeler@v5 (#13459) 2024-02-21 18:53:14 +01:00
Arnaud Le Blanc
5b501f28e5 Cleanup temp file 2024-02-21 17:58:48 +01:00
David Carlier
75c4a6fe33 [ci skip] NEWS typo 2024-02-21 16:32:27 +00:00
David Carlier
8bc34dd1bf [ci skip] NEWS/UPGRADING 2024-02-21 16:24:27 +00:00
David Carlier
037855fcd3 ext/intl: level up c++ runtime std for icu 74 and onwards.
to align with what is required to build icu 74 itself.

Close GH-13422.
2024-02-21 16:11:47 +00:00
David Carlier
211dc60044 ext/intl: adding new UCHAR_IDS_UNARY_OPERATOR/UCHAR_ID_COMPAT_MATH_START/UCHAR_ID_COMPAT_MATH_CONTINUE.
Close GH-13420.
2024-02-21 16:11:09 +00:00
David Carlier
22a3866f0c ext/intl: Timezone::getIanaID method addition.
returns the primary IANA zone ID from the provided timezone ID.
Most of the time, timezone ID==IANA ID.
available from icu >= 74.

Close GH-13419.
2024-02-21 16:09:22 +00:00
Appla
ef61ed10c2
Remove redundant getpid function call (#13454) 2024-02-21 15:33:15 +01:00
Ilija Tovilo
1bef861527
Add vscode chapter to docs
Closes GH-13441
2024-02-21 14:42:08 +01:00
Ayesh Karunaratne
7ed26c01f5
GitHub Actions: Update action versions to avoid node:16 warnings (#13453)
Note 16 is now EOL, so old GitHub Actions that use node 16 now triggers a warning.

This updates all existing workflows except `dwieeb/needs-reply` to their latest versions.
2024-02-21 13:16:25 +01:00
Peter Kokot
e72f0c887b
Simplify prctl and procctl Autoconf checks (#13450)
The AC_CHECK_FUNCS checks whether the linker sees the function in the
usual libraries, in this case libc. This is a simple trick to also check
existence of belonging headers, since the code uses HAVE_PRCTL and
HAVE_PROCCTL to include headers and call functions.
2024-02-21 09:04:37 +01:00
Ayesh Karunaratne
ba0f9fb501
ext/curl: Add feature_info assoc array to curl_version() (#13439)
The `phpinfo()` section of the Curl extension lists individual features
supported by the particular ext-Curl + libcurl build. However, the
`curl_version()` function return values do not indicate the same level of
details.

`curl_version()` has a `protocols` key that returns an array of all protocols
supported by the build. But the `features` key is a bitmask of all the features.
Checking the availability of certain feature requires knowing the corresponding
`CURL_VERSION` constant, and checking the availability of the constant and a
bitmask check for it in the `features` value.

For example, to determine HTTP2 support, it requires evaluating:

```php
defined('CURL_VERSION_HTTP2') && (curl_version()['features'] & CURL_VERSION_HTTP2 === CURL_VERSION_HTTP2)
```

To make feature availability checks more intuitive, this adds a new
`feature_list` key to `curl_version()` output array.

With it, checking for individual features availability is easier, and does
not require inspecting the availability of the `CURL_VERSION` constant and
the `features` key.

```php
!empty(curl_version()['feature_list']['HTTP2']);
```
2024-02-21 00:46:22 +00:00
Jorg Adam Sowa
e630aacf79
Remove HAVE_INET_PTON (#13410) 2024-02-21 00:43:56 +00:00
Dmitry Stogov
f5efaa39fa Update IR
IR commit: 873f13dd933acc38ba4cfe2a4aa8558867992a7e
2024-02-21 01:48:38 +03:00
Dmitry Stogov
23aac16d13 Update IR
IR commit: 67477a78251aafe35515eb7a339e309a0e0d4919
2024-02-21 01:13:31 +03:00
Niels Dossche
6c735739f1 Merge branch 'PHP-8.3'
* PHP-8.3:
  Workaround ZTS persistent resource crashes (PHP 8.3 and lower)
2024-02-20 21:26:39 +01:00
Niels Dossche
3ab7aa001f Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Workaround ZTS persistent resource crashes (PHP 8.3 and lower)
2024-02-20 21:25:06 +01:00
Niels Dossche
2f605820a4 Workaround ZTS persistent resource crashes (PHP 8.3 and lower)
For master (8.4-dev) I merged GH-13381. But that PR changes public API
of TSRM, so cannot be used on lower branches.

This patch is a safe workaround for the issue, in combination with a
pre-existing fix using `ifdef ZTS + if (module_started)` inside pgsql
and odbc. The idea is to delay unloading modules until the persistent
resources are destroyed. This will keep the destructor code accessible
in memory.

This is not a proper fix on its own, because we still need the
workaround of not accessing globals after module destruction.
The proper fix is in master.

Closes GH-13388.
2024-02-20 21:24:43 +01:00
Peter Kokot
847c7459eb
Remove Autoconf check for C99 header stdint.h (#13444)
This removes the redundant check that defines the HAVE_STDINT_H symbol,
which is used in the ext/date/lib and ext/fileinfo/libmagic but on both
places patches and other header files take care of this so it is always
included unconditionally in php-src.

Autoconf by default still automatically checks for stdint.h internally
in current versions, so for now the HAVE_STDINT_H symbol is still
defined in php_config.h and will be made redundant along the way.
2024-02-20 20:19:28 +01:00
Peter Kokot
b41a5023f9
Remove malloc.h (#13436)
This removes the deprecated malloc.h header Autoconf check on *nix
systems and its HAVE_MALLOC_H symbol. It can be replaced mostly with the
stdlib.h. The libgd usptream also doesn't include it anymore.

On Windows, it is still used for some memory allocation functions, but
can be replaced with stdlib.h in the future.
2024-02-20 18:02:54 +01:00
Peter Kokot
056c43f848 [skip ci] Sync file permissions in Git repository
Git can track executable (0755) and non-executable (0644) file modes.
This is a minor file permissions sync across the php-src Git repository.

- build/config.guess (0755 as done upstream)
- build/config.sub (0755 as done upstream)
- ext/*/?*.stub.php (0644)
- ext/mbstring/libmbfl/mbfl/mk_eaw_tbl.awk (0755 due to shebang usage)
2024-02-20 17:58:47 +01:00
Arnaud Le Blanc
3baa606f58 Specify what is expected in zend_call_stack.base 2024-02-20 15:34:44 +01:00
Peter Kokot
03f15534a1 Fix Autoconf configure new lines
The `dnl` (delete to next line) directive in this combination of `m4_if`
macros and arguments isn't properly replaced and a literal dnl string is
appended in the configure script. The `[]dnl` works ok.
2024-02-19 21:30:29 +01:00
Matteo Beccati
291a8bdc26 Merge branch 'PHP-8.3' 2024-02-19 15:19:26 +01:00
Matteo Beccati
56b7db6964 Merge branch 'PHP-8.2' into PHP-8.3 2024-02-19 15:19:12 +01:00
Matteo Beccati
5373f5dd9d Fix test on non-UTC environments 2024-02-19 15:18:48 +01:00
Peter Kokot
0ddc3a23fa [skip ci] Fix Intel CET check in ext/pcre
This adds test program body `int main(void) { return 0; }` and fixes the
configure step with cache enabled (`configure -C`).
2024-02-19 14:25:40 +01:00
Gina Peter Banyard
a45048b983
Zend/tests/offsets: Add test for fetching reference of an object container 2024-02-19 12:26:44 +00:00
Dmitry Stogov
e3683ea479 Merge branch 'PHP-8.3'
* PHP-8.3:
  Prevent recording traces started from usupported VM instruction
2024-02-19 13:23:14 +03:00
Dmitry Stogov
00259952e4 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Prevent recording traces started from usupported VM instruction
2024-02-19 13:23:05 +03:00
Dmitry Stogov
728b81d92e Prevent recording traces started from usupported VM instruction 2024-02-19 13:22:30 +03:00
Ilija Tovilo
fd47cd8b69
[skip ci] Fix ldap skipif 2024-02-19 10:16:13 +01:00
Peter Kokot
51050427f4
Remove obsolescent AC_C_INLINE Autoconf macro (#13429)
This macro defines the inline keyword to be `__inline__`, `__inline`,
or empty, based on the compiler inline support. Since PHP requires C99,
which has the inline keyword definition and all current compilers
support it, this check is redundant and not needed anymore.
2024-02-18 23:55:50 +00:00
Ilija Tovilo
f332e53082
[skip ci] Fix docs glob pattern
* does not refer to nested files.
2024-02-18 20:39:00 +01:00
Ilija Tovilo
1beb778b3a
Merge branch 'PHP-8.3'
* PHP-8.3:
  [skip ci] Fix paths-ignore glob pattern
2024-02-18 20:38:26 +01:00
Ilija Tovilo
3d2f9883ba
Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [skip ci] Fix paths-ignore glob pattern
2024-02-18 20:38:11 +01:00
Ilija Tovilo
a18cf333ba
[skip ci] Fix paths-ignore glob pattern
* does not work for nested files.
2024-02-18 20:37:26 +01:00
Ilija Tovilo
a4dfa35f93
Fix docs typo 2024-02-18 20:31:54 +01:00
Peter Kokot
187f6857df
[skip ci] Update tidy.php excludes (#13425)
- ext/bcmath/libbcmath removed, because it is forked and maintained in
  php-srx. There doesn't seem to be any maintained upstream libbcmath.
- Added bundled ext/dom/lexbor.
- Updated JIT bundled files for ext/opcache/jit/ir.
2024-02-18 18:44:49 +01:00
Peter Kokot
711e452037
Rename HAVE_PHP_SOAP symbol on Windows ext/soap (#13426)
This syncs the symbol name with the *nix build, where HAVE_SOAP is
defined.
2024-02-18 18:01:12 +01:00
David CARLIER
cc934d048c
sapi/fpm: little simplification for the kqueue backend. (#13423) 2024-02-18 15:01:41 +00:00
Niels Dossche
60518e9695
Update error handling when node cannot be added (#13421)
This can only fail on OOM, so be consistent with the other locations and
throw an INVALID_STATE_ERR.
2024-02-18 15:35:41 +01:00
Máté Kocsis
f1d2de7b43
Fix links to "old" documentation and mention the new one in the README
[skip-ci]
2024-02-18 14:37:20 +01:00
Kamil Tekiela
50598a7097
Tidy up pdo_mysql_attr_max_buffer_size.phpt 2024-02-18 13:09:19 +01:00
Saki Takamachi
d433035319
Fixed tests for libmysql (#13424) 2024-02-18 13:08:31 +01:00
Kamil Tekiela
1d45357409
Tidy up UT and add NEWS entry 2024-02-18 12:47:30 +01:00
Ilija Tovilo
19d2b84788
Create book for docs
Closes GH-13338
2024-02-18 12:16:31 +01:00
Saki Takamachi
68f10504de
Fixed GH-13167 Fixed the behavior of bindValue and bindParam. (#13384)
Fixed to generate an error when a non-scalar value is passed in
`PDO_PARAM_EVT_EXEC_PRE` of `pdo_mysql_stmt_param_hook` unless
it is a `Stringable` object.
2024-02-18 12:10:21 +01:00
Máté Kocsis
10957e498c
Do not generate frameless info items when func info generation is disabled
While here, I fixed newlines around arginfo and function entry generation. Previously, newlines were repeated.
2024-02-18 11:39:00 +01:00