1
0
mirror of https://github.com/php/php-src.git synced 2026-04-19 14:01:01 +02:00
Commit Graph

1101 Commits

Author SHA1 Message Date
Jakub Zelenka
c4a1c0c18c Merge branch 'PHP-8.1' 2021-11-27 22:43:37 +00:00
Jakub Zelenka
a529d0dd15 Merge branch 'PHP-8.0' into PHP-8.1 2021-11-27 22:39:51 +00:00
Jakub Zelenka
81513e6285 Add skip for FPM process idle flaky test 2021-11-27 22:37:43 +00:00
Dmitry Stogov
067df26344 Use memrchr() when available
On x86_64 glibc memrchr() uses SSE/AVX CPU extensions and works much
faster then naive loop. On x86 32-bit we still use inlined version.

memrchr() is a GNU extension. Its prototype  becomes available when
<string.h> is included with defined _GNU_SOURCE macro. Previously, we
defined it in "php_config.h", but some sources may include <string.h>
befire it. To avod mess we also pass -D_GNU_SOURCE to C compiler.
2021-11-24 16:13:34 +03:00
Nikita Popov
7cbf4bde3e Merge branch 'PHP-8.1'
* PHP-8.1:
  Add FPM test for php_admin_value doc_root usage
  Fix for bug in file handling refactor.
2021-11-23 18:36:45 +01:00
Jakub Zelenka
435a5aca89 Add FPM test for php_admin_value doc_root usage
Closes GH-7673.
2021-11-23 18:36:04 +01:00
Jakub Zelenka
636e54a1cb Merge branch 'PHP-8.1' 2021-11-20 20:44:41 +00:00
Jakub Zelenka
79f0e486fd Merge branch 'PHP-8.0' into PHP-8.1 2021-11-20 20:44:02 +00:00
Jakub Zelenka
2f8407f185 Increase read timeout in FPM process idle test 2021-11-20 20:42:19 +00:00
Jakub Zelenka
fc67967190 Increase script sleep in FPM process idle test 2021-11-20 20:42:19 +00:00
Jakub Zelenka
14db5fab11 Merge branch 'PHP-8.1' 2021-11-14 20:16:44 +00:00
Jakub Zelenka
48bc4ea758 Merge branch 'PHP-8.0' into PHP-8.1 2021-11-14 20:14:22 +00:00
Jakub Zelenka
ec3d4409a4 Merge branch 'PHP-7.4' into PHP-8.0 2021-11-14 20:10:42 +00:00
Jakub Zelenka
b2cf9b7ec7 Fix bug #81513 (Future possibility for heap overflow in FPM zlog)
This fixes currently unused code path in zlog that could lead to
the heap overflow in the future.
2021-11-14 20:08:57 +00:00
Nikita Popov
e964c91bce Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix leaks for AppArmor based distros in case the profile creation fails
2021-11-12 14:26:16 +01:00
Nikita Popov
4a5d75e3ec Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix leaks for AppArmor based distros in case the profile creation fails
2021-11-12 14:26:03 +01:00
David Carlier
b1e6fdefd4 Fix leaks for AppArmor based distros in case the profile creation fails
Closes GH-7646.
2021-11-12 14:25:52 +01:00
David CARLIER
1de405907d fpm allow process tracing/core dump on solaris systems. (#7548) 2021-11-03 22:26:43 +00:00
Dmitry Stogov
90b7bde615 Use more compact representation for packed arrays.
- for packed arrays we store just an array of zvals without keys.
- the elements of packed array are accessible throuf as ht->arPacked[i]
  instead of ht->arData[i]
- in addition to general ZEND_HASH_FOREACH_* macros, we introduced similar
  familied for packed (ZEND_HASH_PACKED_FORECH_*) and real hashes
  (ZEND_HASH_MAP_FOREACH_*)
- introduced an additional family of macros to access elements of array
  (packed or real hashes) ZEND_ARRAY_ELEMET_SIZE, ZEND_ARRAY_ELEMET_EX,
  ZEND_ARRAY_ELEMET, ZEND_ARRAY_NEXT_ELEMENT, ZEND_ARRAY_PREV_ELEMENT
- zend_hash_minmax() prototype was changed to compare only values

Because of smaller data set, this patch may show performance improvement
on some apps and benchmarks that use packed arrays. (~1% on PHP-Parser)

TODO:
    - sapi/phpdbg needs special support for packed arrays (WATCH_ON_BUCKET).
    - zend_hash_sort_ex() may require converting packed arrays to hash.
2021-11-03 15:18:26 +03:00
Stanislav Malyshev
9ab3bc69e8 Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix bug #81026 (PHP-FPM oob R/W in root process leading to priv escalation)
  Add FPM fix news
  Fix bug #81026 (PHP-FPM oob R/W in root process leading to priv escalation)
2021-10-18 15:34:20 -07:00
Stanislav Malyshev
0acfd2d7b5 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Fix bug #81026 (PHP-FPM oob R/W in root process leading to priv escalation)
  Add FPM fix news
  Fix bug #81026 (PHP-FPM oob R/W in root process leading to priv escalation)
2021-10-18 15:23:08 -07:00
Jakub Zelenka
fadb1f8c1d Fix bug #81026 (PHP-FPM oob R/W in root process leading to priv escalation)
The main change is to store scoreboard procs directly to the variable sized
array rather than indirectly through the pointer.

Signed-off-by: Stanislav Malyshev <stas@php.net>
2021-10-18 15:06:36 -07:00
Nikita Popov
4cdcbc828f Merge branch 'PHP-8.1'
* PHP-8.1:
  Fix some FPM printf warnings on openbsd
2021-10-18 11:12:23 +02:00
David Carlier
f71810fb6f Fix some FPM printf warnings on openbsd
Closes GH-7585.
2021-10-18 11:11:33 +02:00
Jakub Zelenka
cb2021e5f6 Fix bug #81026 (PHP-FPM oob R/W in root process leading to priv escalation)
The main change is to store scoreboard procs directly to the variable sized
array rather than indirectly through the pointer.

Signed-off-by: Stanislav Malyshev <stas@php.net>
2021-10-17 20:16:10 -07:00
Nikita Popov
0c6c882b92 Merge branch 'PHP-8.1'
* PHP-8.1:
  Disable failing FPM test
2021-10-04 23:31:48 +02:00
Nikita Popov
cd84480e54 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Disable failing FPM test
2021-10-04 23:31:40 +02:00
Nikita Popov
a00d933242 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Disable failing FPM test
2021-10-04 23:31:31 +02:00
Nikita Popov
4c01bd2ade Disable failing FPM test
Test fails intermittently, e.g.:

https://dev.azure.com/phpazuredevops/PHP/_build/results?buildId=20597&view=ms.vss-test-web.build-test-results-tab&runId=475324&resultId=115501&paneView=debug

Possibly this is because the two requests end up being processed
in sequence and no second process is spawned.
2021-10-04 23:30:14 +02:00
Jakub Zelenka
582cd2ca7f Merge branch 'PHP-8.1' 2021-10-04 21:57:25 +01:00
Jakub Zelenka
7dd87b2343 Merge branch 'PHP-8.0' into PHP-8.1 2021-10-04 21:56:06 +01:00
Jakub Zelenka
9ed95846a3 Merge branch 'PHP-7.4' into PHP-8.0 2021-10-04 21:55:21 +01:00
Jakub Zelenka
66a655fdf4 Add the actual test for FPM prod idle timeout test with 6s sleep 2021-10-04 21:54:32 +01:00
Jakub Zelenka
2cd69115d5 Merge branch 'PHP-7.4' into PHP-8.0 2021-10-04 21:53:34 +01:00
Jakub Zelenka
edfb347019 Add FPM prod idle timeout test with 6s sleep 2021-10-04 21:50:57 +01:00
Nikita Popov
17a237a561 Merge branch 'PHP-8.1'
* PHP-8.1:
  Revert "Add FPM prod idle timeout test"
2021-10-04 10:17:18 +02:00
Nikita Popov
0431bd3137 Merge branch 'PHP-8.0' into PHP-8.1
* PHP-8.0:
  Revert "Add FPM prod idle timeout test"
  [ci skip] Fix missing NEWS
  [ci skip] Add missing NEWS
2021-10-04 10:17:07 +02:00
Nikita Popov
987aee10a9 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Revert "Add FPM prod idle timeout test"
2021-10-04 10:16:53 +02:00
Nikita Popov
69514e6ffb Revert "Add FPM prod idle timeout test"
This reverts commit 08f52b1643.

The newly added test fails.
2021-10-04 10:16:20 +02:00
Jakub Zelenka
cbdcb0e46f Merge branch 'PHP-8.1' 2021-10-02 18:32:20 +01:00
Jakub Zelenka
4ef6280b9a Fix conflicting pattern wrapping in FPM openmetrics test 2021-10-02 18:31:49 +01:00
Jakub Zelenka
390d4e94ed Merge branch 'PHP-8.0' into PHP-8.1 2021-10-02 18:29:25 +01:00
Jakub Zelenka
ca3f20209f Merge branch 'PHP-7.4' into PHP-8.0 2021-10-02 18:27:47 +01:00
Jakub Zelenka
08f52b1643 Add FPM prod idle timeout test 2021-10-02 18:26:18 +01:00
David CARLIER
83697aa95e fpm allow to ptrace/make the the process dumpable for FreeBSD. (#7375) 2021-09-27 21:16:23 +01:00
Jakub Zelenka
590af4678b Sync the FPM openmetrics status with php-fpm_exporter 2021-07-21 19:58:36 +01:00
Christoph M. Becker
1f9b044c80 Merge branch 'PHP-8.0'
* PHP-8.0:
  Fix #80849: HTTP Status header truncation
2021-07-15 19:16:21 +02:00
Christoph M. Becker
bb4dbbc150 Merge branch 'PHP-7.4' into PHP-8.0
* PHP-7.4:
  Fix #80849: HTTP Status header truncation
2021-07-15 19:13:58 +02:00
Christoph M. Becker
a054ef2aad Fix #80849: HTTP Status header truncation
While truncating the contents of a header is okay, we must never omit
the trailing CRLF.

Closes GH-7238.
2021-07-15 19:10:53 +02:00
Patrick Allaert
aff365871a Fixed some spaces used instead of tabs 2021-06-29 11:30:26 +02:00