1
0
mirror of https://github.com/php/php-src.git synced 2026-04-24 00:18:23 +02:00
Commit Graph

6197 Commits

Author SHA1 Message Date
Peter Kokot 072e67fd01 Fix unused variable warning in sapi/litespeed (#13718) 2024-03-15 08:56:35 +01:00
Máté Kocsis 330cc5cdb2 Deprecate implicit nullable parameter types (#12959)
RFC: https://wiki.php.net/rfc/deprecate-implicitly-nullable-types

Co-authored-by: Gina Peter Banyard <girgias@php.net>
2024-03-13 21:40:26 +01:00
Peter Kokot 18dffa6b73 Fix defined but not used warnings (#13678)
This fixes two warnings when building litespeed SAPI:

```
.../php-src/sapi/litespeed/lscriu.c:312:14: warning:
'LSCRIU_Error_File_Name' defined but not used
[-Wunused-function]
  312 | static char *LSCRIU_Error_File_Name(char *pchFile, int max_len)
      |              ^~~~~~~~~~~~~~~~~~~~~~
.../php-src/sapi/litespeed/lscriu.c:102:12: warning:
's_criu_debug' defined but not used [-Wunused-variable]
  102 | static int s_criu_debug = 0;
      |            ^~~~~~~~~~~~
```
2024-03-12 17:49:07 +01:00
Peter Kokot a04577fb4a Mark sapi/embed as non experimental (#13668)
The embed SAPI has been around for quite a while now, and many apps
already use it in production. It can be marked as non experimental to
avoid confusion.

[skip ci]
2024-03-11 22:19:27 +01:00
Peter Kokot 586a0dd369 Find SELinux library with pkgconf (#13645)
The SELinux library has had pkg-config/pkgconf integration since ~2009.
To ease this change, the check without pkgconf is executed in case the
libselinux.pc file is not found on the system.

A sanity check also covers cases where the library path is overriden:
  /configure --enable-fpm --with-fpm-selinux \
    SELINUX_CFLAGS=-I/path/to/libselinux \
    SELINUX_LIBS="-L/path/to/libselinux -lselinux"

This also removes the redundant symbol HAVE_SELINUX_SELINUX_H since the
selinux/selinux.h header is considered a required part of the SELinux
library package.
2024-03-10 21:31:56 +01:00
Peter Kokot 816f6a53d0 Find AppArmor library with pkgconf (#13644)
The AppArmor library has had pkg-config/pkgconf integration since its
early versions (2012), when it was integrated from the libaalogparse
into the AppArmor project. To ease this change, the check without
pkgconf is executed in case the libapparmor.pc file is not found on the
system.

A sanity check also covers cases where the library path is overriden:
  /configure --enable-fpm --with-fpm-apparmor \
    APPARMOR_CFLAGS=-I/path/to/libapparmor \
    APPARMOR_LIBS="-L/path/to/libapparmor -lapparmor"

This also removes the redundant symbol HAVE_SYS_APPARMOR_H since the
sys/apparmor.h header is considered a required part of the AppArmor
library package.
2024-03-10 11:12:54 +01:00
Jakub Zelenka f438b3bc69 Merge branch 'PHP-8.3' 2024-03-09 09:43:10 +00:00
Jakub Zelenka a19267d488 Fix GH-11086: FPM: config test runs twice in daemonised mode
The previous check for STDERR did not work so this fixes it.

Closes GH-13357
2024-03-09 09:41:59 +00:00
Peter Kokot 1dfba4273f Simplify FPM ACL check (#13604)
Instead of running the user/group permissions check (unknown when
cross-compiling), check with linking (AC_LINK_IFELSE) can be sufficient
to test if ACL_USER and ACL_GROUP are available (missing on macOS). The
AC_SEARCH_LIBS is used to test the ACL availability in c or acl library.
2024-03-08 20:38:31 +01:00
Peter Kokot 9e001631e0 Refactor systemd library check for FPM (#13595)
This removes the unused HAVE_SYSTEMD_SD_DAEMON_H symbol defined by the
Autoconf AC_CHECK_HEADERS macro.

The systemd/sd-daemon.h sanity check now also works when systemd library
is overriden by pkgconf variables for custom or development places:

./configure --enable-fpm --with-fpm-systemd \
  SYSTEMD_CFLAGS=-I/path/to/systemd/src \
  SYSTEMD_LIBS="-L/path/to/systemd/build -lsystemd"
2024-03-06 06:22:07 +01:00
Peter Kokot f91dcad567 Remove duplicate phpdbg _GNU_SOURCE compile definition (#13585)
The _GNU_SOURCE is defined on few other places when compiling phpdbg
(CPPFLAGS and php_config.h) depending on the system.
2024-03-03 23:59:01 +01:00
Peter Kokot 734f686ac4 Simplify UFFDIO_WRITEPROTECT_MODE_WP Autoconf check (#13564)
AC_CHECK_DECL can check whether preprocessor macro is defined in the
given includes.
2024-03-02 22:48:41 +01:00
Peter Kokot ffc6f192a8 Simplify port_create Autoconf check (#13529)
Similar simplification as e72f0c887b.
2024-03-02 00:16:19 +01:00
Peter Kokot 42a4e50513 Sync logical operators in shell scripting code (#13560)
This updates the obsolescent `-a` and `-o` binary primaries to `&&` and
`||`.

https://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html
2024-03-01 20:40:16 +01:00
Peter Kokot 98bd66f99e Simplify clock_gettime Autoconf check (#13537)
The clock_gettime() is found in libc on modern systems, except on
Solaris <= 10 and possible similar systems, it is in the rt library.

This checks if clock_gettime() exists in the libc, then it checks if rt
library has clock_gettime, prepends it to LIBS and defines the
HAVE_CLOCK_GETTIME symbol with the template from the AC_CHECK_FUNCS.

The ac_cv_func_clock_gettime is a cache variable set by AC_CHECK_FUNCS.
2024-02-28 08:17:37 +01:00
Florian Engelhardt 14873dd286 Drop zend_mm_set_custom_debug_handlers() (#13457)
Simplifies zend_mm_set_custom_debug_handlers to just use zend_mm_set_custom_handlers(), saving some conditionals when the Zend allocator is not used.
2024-02-26 14:04:33 +01:00
Máté Kocsis f2e199e878 Implement "support doc comments for internal classes and functions" (#13266)
Fixes #13130
2024-02-25 08:41:31 +01:00
Peter Kokot 1feeadd0e2 Simplify times Autoconf check (#13464)
Similar simplification as e72f0c887b.
2024-02-23 21:27:18 +01:00
Peter Kokot 171e3986b0 Remove nsl library check in sapi/fpm (#13478)
In sapi/fpm the inet_ntop is used instead of the deprecated inet_addr
and the required library, if needed, is linked from the configure.ac.
2024-02-22 23:50:03 +01:00
Peter Kokot 9603199547 Remove HAVE_SYSCONF check (#13474)
The sysconf can be assumed to be present on current systems, when
checking for the _SC_CLK_TCK symbol.
2024-02-22 18:09:50 +01:00
Peter Kokot 7b2c67ca98 Simplify setpflags Autoconf check (#13458)
Similar simplification as e72f0c887b.
2024-02-21 21:01:47 +01:00
Arnaud Le Blanc 5b501f28e5 Cleanup temp file 2024-02-21 17:58:48 +01:00
Jorg Adam Sowa e630aacf79 Remove HAVE_INET_PTON (#13410) 2024-02-21 00:43:56 +00:00
David CARLIER cc934d048c sapi/fpm: little simplification for the kqueue backend. (#13423) 2024-02-18 15:01:41 +00: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
Ilija Tovilo cd66fcc68b Add request_parse_body() function
RFC: https://wiki.php.net/rfc/rfc1867-non-post

This function allows populating the $_POST and $_FILES globals for non-post
requests. This avoids manual parsing of RFC1867 requests.

Fixes #55815
Closes GH-11472
2024-02-08 12:08:07 +01:00
Peter Kokot e76f9e2b50 Remove DARWIN symbol (#13346)
When targeting Darwin systems (macOS, etc.), the compiler defines the
__APPLE__ symbol, which should be sufficient and a more established
detection method practice in these cases.
2024-02-07 21:07:48 +01:00
Ilija Tovilo c149b4f56f Fix missing syntax error message in cli-server router script
Fixes GH-13113
Closes GH-13275
2024-02-07 16:13:08 +01:00
K 47b05def96 remove dead code and sillyness (#13322) 2024-02-04 22:25:59 +01:00
David CARLIER b8f10decb3 ZEND_ELEMENT_COUNT usage reduction. (#13324)
clang 18 is going to be released and in the meantime the counted_by
attribute usage had been constrained to true flexible arrays,
typical cases such as type name[1] ZEND_ELEMENT_COUNT(size) no longer
build.
2024-02-04 19:09:15 +00:00
Jakub Zelenka da6a4e799a Merge branch 'PHP-8.3' 2024-02-04 12:01:09 +00:00
Jakub Zelenka ae44ab47a7 Merge branch 'PHP-8.2' into PHP-8.3 2024-02-04 12:00:36 +00:00
Jakub Zelenka bc30ae4f04 Fix bug #75712: getenv in php-fpm should not read $_ENV, $_SERVER
Closes GH-13195
2024-02-04 11:58:18 +00:00
Cristian Rodríguez eb238577f1 cgi: tidy up fastcgi_cleanup signal handler (#13026)
* signal handlers can only touch global volatile sig_atomic_t variables.
* fastcgi_cleanup is static
* structs sigaction are static
* A signal handler cannot call exit() because it is not async signal safe,
  call _exit instead.
2024-02-02 18:10:34 +01:00
Peter Kokot 52dba99d47 Sync headers installation
This syncs the installed sapi and extension headers on *nix and Windows
systems by installing only what is intended outside of php-src.

- ext/gd: without gd_arginfo.h and gd_compat.h
- ext/hash: php_hash_joaat.h and php_hash_fnv.h added also on Windows
  installation; xxhash/xxhash.h added on both installations as it is
  included in php_hash_xxhash.h; Include path for xxhash.h changed to
  relative so the php_hash_xxhash.h can be included outside of php-src;
  Redundant include flags removed
- ext/iconv: without iconv_arginfo.h
- ext/mysqli: mysqli_mysqlnd.h was missing on Windows
- ext/phar: php_phar.h was missing on Windows
- ext/sodium: php_libsodium.h was missing on *nix
- ext/xml: without xml_arginfo.h
- sapi/cli: cli.h was missing on Windows

Closes GH-13210
Closes GH-13213
2024-01-28 19:50:55 +01:00
Dmitry Stogov f83cdce0df Merge branch 'PHP-8.3'
* PHP-8.3:
  Wrap cleanup function call with zend_try.
2024-01-22 10:33:18 +03:00
Dmitry Stogov 9f79a98a4c Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Wrap cleanup function call with zend_try.
2024-01-22 10:33:09 +03:00
Dmitry Stogov b45e7a613f Wrap cleanup function call with zend_try.
Fizes oss-fuzz #65911
2024-01-22 10:32:04 +03:00
Ilija Tovilo bf4ec8bd9d Use __attribute__((assume())) in ZEND_ASSUME when available
Closes GH-13171
2024-01-19 09:25:55 +01:00
Jorg Adam Sowa dd141f9e3e add missing keywords to parser fuzzer dict from PHP 7.4 to 8.3 (#13160)
* Added missing keywords to parser fuzzer dict from PHP 7.4 to 8.3

* Added null return type
2024-01-17 01:51:42 +01:00
Niels Dossche c39a8631b7 Merge branch 'PHP-8.3'
* PHP-8.3:
  Use getenv to prevent undefined key warning
2024-01-15 20:15:29 +01:00
Niels Dossche 0887c5e908 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Use getenv to prevent undefined key warning
2024-01-15 20:15:17 +01:00
Niels Dossche cd483f136c Use getenv to prevent undefined key warning 2024-01-15 20:15:04 +01:00
Peter Kokot 880ff82fc4 Fix the SO_LISTENQLEN check in FPM (#13089)
This now defines the HAVE_LQ_SO_LISTENQ as the fallback check when all
previous have failed in case of FPM LQ. This seemed to be a typo in the
build system.
2024-01-15 08:10:38 +01:00
David Carlier b985a31b0a sapi/fpm: setting backlog default to -1 for DragonFlyBSD.
like most of BSD, when negative the syscall sets it internally to
SOMAXCONN.

close GH-13077
2024-01-11 20:39:41 +00:00
Jakub Zelenka 08b9e8ae9c Merge branch 'PHP-8.3' 2024-01-11 16:48:38 +00:00
Jakub Zelenka 1c7dc0f300 Merge branch 'PHP-8.2' into PHP-8.3 2024-01-11 16:48:03 +00:00
Jakub Zelenka b04b09ef56 Fix GH-12996: Incorrect SCRIPT_NAME with Apache ProxyPassMatch when plus in path
Closes GH-13072
2024-01-11 16:47:08 +00:00
Peter Kokot 8d7364f0bb Align configure check message results together 2024-01-11 00:02:28 +01:00
Peter Kokot 64751a0df0 Merge branch 'PHP-8.3'
* PHP-8.3:
  Set libtool tag per command instead of global one
2024-01-10 09:17:48 +01:00