1
0
mirror of https://github.com/php/php-src.git synced 2026-03-24 16:22:37 +01:00
Commit Graph

907 Commits

Author SHA1 Message Date
Nikita Popov
a9969ec1bd Merge branch 'PHP-7.4' 2019-07-22 12:41:20 +02:00
Nikita Popov
72b9105d30 Merge branch 'PHP-7.3' into PHP-7.4 2019-07-22 12:41:15 +02:00
Nikita Popov
b59a9381b9 Remove test for bug #77185
Seems to be very unreliable in CI.
2019-07-22 12:40:26 +02:00
Nikita Popov
8092604ec2 Merge branch 'PHP-7.4' 2019-07-22 11:19:32 +02:00
Nikita Popov
b2915fc332 Merge branch 'PHP-7.3' into PHP-7.4 2019-07-22 11:19:24 +02:00
Nikita Popov
5e4dbce586 Reduce number of workers in test
4 seems to be enough to reliably reproduce the issue. Let's see
if this works better in CI.
2019-07-22 11:18:38 +02:00
Nikita Popov
a16ca769af Merge branch 'PHP-7.4' 2019-07-22 10:34:58 +02:00
Nikita Popov
97b80bd83b Merge branch 'PHP-7.3' into PHP-7.4 2019-07-22 10:34:32 +02:00
Maksim Nikulin
bdf24f8d6d Prevent use after free in fpm_event_epoll_wait
epoll event backend does not guarantee that child input/output events
are reported before SIGCHILD due to finished worker. While a bunch of
events received by epoll is being processed, child-related structures
may be removed before dispatching of an I/O event for the same child.
The result may be attempt to access to memory region allocated for
another purpose, segfault of the master process, and unavailable web
sites.

Postpone processing of SIGCHILD events till other events in the same
bunch are processed.

Fix Bug #62418 php-fpm master process crashes
Fix Bug #65398 Race condition between SIGCHLD and child stdout/stderr event leads to segfault
Fix Bug #75112 php-fpm crashing, hard to reproduce
Fix Bug #77114 php-fpm master segfaults in fpm_event_epoll_wait/fpm_event_fire
Fix Bug #77185 Use-after-free in FPM master event handling
2019-07-22 10:32:58 +02:00
Nikita Popov
eb766751dc Merge branch 'PHP-7.4' 2019-07-19 10:06:30 +02:00
rjhdby
d574df63dc Deprecate alternative array access syntax
RFC: https://wiki.php.net/rfc/deprecate_curly_braces_array_access
2019-07-19 10:06:10 +02:00
Nikita Popov
74bf7bfb88 Merge branch 'PHP-7.4' 2019-07-11 15:49:02 +02:00
Nikita Popov
17f7fb7605 Switch to using shell-less proc_open() in various server tests 2019-07-11 15:48:10 +02:00
Nikita Popov
bbd12b3d30 Merge branch 'PHP-7.4' 2019-07-10 11:11:30 +02:00
Nikita Popov
dfe5fd2a37 Avoid invalid array access in fcgi.inc 2019-07-10 11:09:34 +02:00
Nikita Popov
b98c148f78 Merge branch 'PHP-7.4' 2019-06-28 15:05:00 +02:00
Nikita Popov
54dd762f59 Set up asan+ubsan scheduled build on azure
Also adds an --asan flag to run-tests.php to setup all the necessary
environment variables. Some tests are marked as skipped because they
are incompatible with asan or too slow.

I'm basing this on the DEBUG_ZTS build, which seems to give us the
most mileage.
2019-06-28 15:00:54 +02:00
Peter Kokot
6bfa6bff0b Merge branch 'PHP-7.4'
* PHP-7.4:
  Clean headers checks
2019-06-27 02:45:31 +02:00
Peter Kokot
2079b09854 Clean headers checks
Some headers were checked multiple times in the main configure.ac file
and in the bundled extensions or SAPIs themselves. Also many of these
checks are then used accross other extensions or SAPIs so a central
configure.ac makes most sense for these checks.
2019-06-27 02:45:09 +02:00
Nikita Popov
ac749b126f Merge branch 'PHP-7.4' 2019-06-26 11:43:30 +02:00
Nikita Popov
698dd32b03 Fix fpm limit_extensions leak
The logic here is somewhat ugly because the worker pool structure
gets freed early, so we need to explicitly transfer ownership.
2019-06-26 11:40:39 +02:00
Nikita Popov
80e4a6aaef Merge branch 'PHP-7.4' 2019-06-17 13:31:11 +02:00
Freddie Leeman
482784284a Simplify pm.start_servers calculation in docs
This makes it more obvious that this is just the average.
2019-06-17 13:24:22 +02:00
Joe Watkins
7f0a52e07d Merge branch 'PHP-7.4'
* PHP-7.4:
  bugs in fpm logging #4273 #4007
2019-06-17 07:49:28 +02:00
Joe Watkins
116d42d990 bugs in fpm logging #4273 #4007 2019-06-17 07:48:37 +02:00
Nikita Popov
eea206a06c Merge branch 'PHP-7.4' 2019-06-12 13:18:04 +02:00
Nikita Popov
16f79129c7 Fix unused variables in fpm_env.c 2019-06-12 13:17:25 +02:00
Peter Kokot
76323fefac Merge branch 'PHP-7.4'
* PHP-7.4:
  Extend wildcard files section in EditorConfig [ci skip]
  Simplify LiteSpeed SAPI module version
  Use PHP_VERSION for zend modules
2019-06-09 22:55:43 +02:00
Peter Kokot
5b36c9fef6 Use PHP_VERSION for zend modules
Closes #4147
2019-06-09 22:32:47 +02:00
Nikita Popov
8230d27c98 Merge branch 'PHP-7.4' 2019-05-31 10:54:58 +02:00
Nikita Popov
96a11bee1c Add CONFLCITS file for fpm
We should not run FPM tests in parallel due to port clashes.
2019-05-31 10:54:41 +02:00
Nikita Popov
4241258d74 Fix FPM tests for PHP 8 2019-05-29 17:31:10 +02:00
Jakub Zelenka
5036c293b3 Merge branch 'PHP-7.3' into PHP-7.4 2019-05-13 18:51:41 +01:00
Jakub Zelenka
aa74c30466 Merge branch 'PHP-7.2' into PHP-7.3 2019-05-13 18:51:05 +01:00
Jakub Zelenka
ad63bd169b Add ping to the fpm test for bug #77934 2019-05-13 18:50:24 +01:00
Peter Kokot
75fb74860d Normalize comments in *nix build system m4 files
Normalization include:
- Use dnl for everything that can be ommitted when configure is built in
  favor of the shell comment character # which is visible in the output.
- Line length normalized to 80 columns
- Dots for most of the one line sentences
- Macro definitions include similar pattern header comments now
2019-05-12 18:43:03 +02:00
Hugh McMaster
755f6f6ede Use PKG_CHECK_MODULES to detect the systemd library 2019-05-12 00:19:03 +02:00
Jakub Zelenka
4bf37e467b Merge branch 'PHP-7.3' into PHP-7.4 2019-05-11 20:10:13 +01:00
Jakub Zelenka
0cad701374 Merge branch 'PHP-7.2' into PHP-7.3 2019-05-11 20:08:57 +01:00
Jakub Zelenka
cc5c51e7f0 Fix bug #77934 (php-fpm kill -USR2 not working) 2019-05-11 20:07:39 +01:00
Hugh McMaster
c9ee822bb6 Always use pkg-config from the host architecture 2019-04-29 14:16:16 +02:00
Peter Kokot
2e8819549b Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Update changelog
  Update changelog
  Fix #77921: static.php.net doesn't work anymore
2019-04-20 19:13:21 +02:00
Peter Kokot
2549f7d220 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Update changelog
  Fix #77921: static.php.net doesn't work anymore
2019-04-20 19:12:31 +02:00
Peter Kokot
4450288344 Fix #77921: static.php.net doesn't work anymore
This embeds the PHP logo image in the FPM status HTML page instead of
using remote location. The phpinfo() output also uses such approach
and browser compatibility looks decent [1].

1: https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs
2019-04-20 19:00:51 +02:00
Dmitry Stogov
55cc280429 Backported call frame initialization improvement 2019-04-12 02:35:42 +03:00
Peter Kokot
e06836a1a3 Remove checks for locale.h, setlocale, localeconv
The `<loccale.h>` header file, setlocale, and localeconv are part of the
standard C89 [1] and on current systems can be used unconditionally.

Since PHP 7.4 requires at least C89 or greater, the `HAVE_LOCALE_H`,
`HAVE_SETLOCALE`, and `HAVE_LOCALECONV` symbols defined by Autoconf in
configure.ac [2] can be ommitted and simplifed.

The bundled libmagic (file) has also been patched already in version
5.35 and up in upstream location so when it will be patched also in
php-src the check for locale.h header is still left in the configure.ac
and in windows headers definition file.

[1] https://port70.net/~nsz/c/c89/c89-draft.html#4.4
[2] https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/headers.m4

Omit the bundled libmagic files
2019-04-07 18:32:54 +02:00
Peter Kokot
5f8915786f Remove HAVE_SIGNAL_H
The `<signal.h>` header file is part of the standard C89 headers [1] and
on current systems can be included unconditionally.

Since file requires at least C89 or greater, the `HAVE_SIGNAL_H` symbol
defined by Autoconf in Zend.m4 [2] can be ommitted and simplifed.

The bundled libmagic (file) also ommits the usage of HAVE_SIGNAL_H since
5.35 however current version in PHP is very modified 5.34 version and
will be refactored separately. Check for HAVE_SIGNAL_H is therefore
still done in the configure.ac.

Refs:
[1] https://port70.net/~nsz/c/c89/c89-draft.html#4.1.2
[2] https://git.savannah.gnu.org/cgit/autoconf.git/tree/lib/autoconf/headers.m4
2019-04-07 15:55:34 +02:00
Peter Kokot
97d25c87d2 Clean build system
Changes:
- AC_TYPE_SIZE_T called on only one place (configure.ac)
- AC_FUNC_ALLOCA called on only one place (configure.ac)
- AC_TYPE_UID_T called on only one place (configure.ac)
- HAVE_STRSTR removed since strstr is part of C89 standard [1]
- Remove checks for strtol and strpbrk
- Checking for the presence of perror function is not needed anymore
  since it is part of C89 standard and PHP calls it unconditionally.
- Checking for functions strdup, setenv, strerror, and memmove done only
  on one place (configure.ac)
- outdated check for snprintf removed

1: https://port70.net/~nsz/c/c89/c89-draft.html
2019-03-14 20:20:12 +01:00
Dmitry Stogov
9499484ed2 Implemented a faster way to access predefined TSRM resources - CG(), EG(), etc. 2019-03-14 03:01:01 +03:00
Dmitry Stogov
cf4ee57dc9 Fixed ZTS cache usage 2019-03-12 15:25:51 +03:00