Jakub Zelenka
33bb201b3e
Fix bug #76003 : FPM /status reports wrong number of active processe
...
The fix introduces early locking of scoreboard when it is updated
which prevents the race condition causing an incorrect number of
active processes being set.
2022-04-12 23:12:11 +01:00
Christoph M. Becker
e98a7a68b7
Fix bugtracker URL
...
The php-src bugtracker is now on Github.
Closes GH-8102.
2022-02-15 19:14:07 +01:00
Till Backhaus
29fe06fa59
Fix bug #76109 : Implement fpm_scoreboard_copy
...
fpm_scoreboard_copy locks the scoreboard while copying the scoreboard and all
proc scoreboards. proc scoreboards are locked one by one while copying each
struct. The old implementation (inside fpm_handle_status_request) only briefly
locked the scoreboard while copying the scorebard.
Closes GH-7931
Co-authored-by: Jakub Zelenka <bukka@php.net >
2022-02-09 23:02:45 +00:00
David Carlier
c99a026c9c
Fix memory leak on invalid port
...
Closes GH-7911.
2022-01-08 21:04:55 +01:00
David Carlier
cb3d858745
Fix buffer allocations in zlog_stream_set_msg_suffix()
...
If that code was used, there would be a UAF scenario.
Closes GH-7835.
2021-12-28 13:27:54 +01:00
Jakub Zelenka
81513e6285
Add skip for FPM process idle flaky test
2021-11-27 22:37:43 +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
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
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
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
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
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
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
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
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
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
Joe Watkins
33a93b5ed7
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
missing ;
2021-05-11 11:10:52 +02:00
Joe Watkins
ef3e0ee08a
missing ;
2021-05-11 11:10:38 +02:00
Joe Watkins
6ccbaa12e0
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
php-fpm: fix Solaris port events.mechanism
2021-05-11 11:07:47 +02:00
Petr Sumbera
04078a597c
php-fpm: fix Solaris port events.mechanism
...
Bug #65800
Fix by: rainer.jung@kippdata.de
2021-05-11 11:01:38 +02:00
Christoph M. Becker
0f40426450
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix misleading error message
2021-04-20 15:43:04 +02:00
Christoph M. Becker
263f14ac60
Fix misleading error message
...
Closes GH-6889.
2021-04-20 15:41:42 +02:00
Nikita Popov
ec24f14820
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix return type of sparc atomic helper
2021-04-13 14:37:18 +02:00
David Carlier
5ccb5fd91e
Fix return type of sparc atomic helper
...
Closes GH-6808.
2021-04-13 14:36:58 +02:00
Jakub Zelenka
713b82131b
Merge branch 'PHP-7.4' into PHP-8.0
2021-03-21 19:00:38 +00:00
Jakub Zelenka
c483b59124
Fix bug #80024 : Duplication of info about inherited socket after pool removing
2021-03-21 18:52:07 +00:00
Nikita Popov
f1cf553437
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Update year to 2021
2021-02-02 16:46:52 +01:00
Peter Kokot
8c04944b66
Update year to 2021
...
Closes GH-6636.
2021-02-02 16:46:16 +01:00
Jakub Zelenka
d254078020
Merge branch 'PHP-7.4' into PHP-8.0
2020-12-13 18:42:11 +00:00
Jakub Zelenka
a221e17b41
Fix bug #69625 : FPM returns 200 status on request without SCRIPT_FILENAME
2020-12-13 18:39:48 +00:00
Nikita Popov
c97da0f819
Revert "Fix bug #64865 : Use CONTEXT_DOCUMENT_ROOT for scanning dir tree"
...
This reverts commit 98bfad738a .
This doesn't work well in some setups, see bug #80113 and GH-5051.
Reverting this for now.
2020-10-19 11:23:00 +02:00
Nikita Popov
2c15c9ce80
Rehash function table after disabling functions
...
To perform fast shutdown without full table cleanup we need all
internal functions to be in one continuous chunk. This was
violated when functions were deleted via disable_functions.
This drops the zend_disable_function() API in favor of
zend_disable_functions(), which disables the given list of
functions and performs the necessary rehash afterwards.
Also drop PG(disabled_functions), which is no longer used.
2020-08-28 16:50:07 +02:00
Kees Cook
2c2bb50984
sapi/fpm/config.m4: check for libapparmor's aa_change_profile()
...
The fpm code actually uses aa_change_profile(), not change_hat(). Test
for the correct function. (libapparmor always has both, so this is just
a correctness fix.)
Closes GH-6037.
2020-08-24 10:10:12 +02:00
Nyholm
3485ec40ce
Small CS fix
...
The comments were incorrectly aligned. Fix this by dropping the
alignment and moving the comments before the declarations.
Closes GH-5975.
2020-08-12 12:16:53 +02:00
Jakub Zelenka
37a878b8c3
FPM: Prevent warning with raising pm.max_children for shared pool
2020-08-04 21:01:13 +01:00
Nikita Popov
4644a3ed8a
XFAIL status-listen FPM test
...
Has frequent intermittent failures with:
ERROR: The NOTICE does not match expected message:
- PATTERN: /^\[\d\d-\w\w\w-\d{4} \d\d:\d\d:\d\d\] NOTICE: Terminating ...$/
- MESSAGE: [04-Aug-2020 08:15:37] WARNING: [pool unconfined_status] server reached max_children setting (2), consider raising it
- EXPECT: 'Terminating ...'
- ACTUAL: '2020 08:15:37] WARNING: [pool unconfined_status] server reached max_children setting (2), consider raising it'
2020-08-04 10:27:33 +02:00
Jakub Zelenka
44c7128fb7
FPM: Add pm.status_listen option
...
This option allows getting status from different endpoint (e.g. port
or UDS file) which is useful for getting status when all children are
busy with serving long running requests.
Internally a new shared pool with ondemand process manager is used. It
means that the status requests have reserved resources and should not
be blocked by other requests.
2020-08-03 19:14:13 +01:00
Max Semenik
2b5de6f839
Remove proto comments from C files
...
Closes GH-5758
2020-07-06 21:13:34 +02:00
Nikita Popov
c9b9f525a9
Include stub hash in generated arginfo files
...
The hash is used to check whether the arginfo file needs to be
regenerated. PHP-Parser will only be downloaded if this is actually
necessary.
This ensures that release artifacts will never try to regenerate
stubs and thus fetch PHP-Parser, as long as you do not modify any
files.
Closes GH-5739.
2020-06-24 09:55:19 +02:00
Nikita Popov
40d162e423
Merge branch 'PHP-7.4'
...
* PHP-7.4:
Restore XFAIL on fpm test
2020-06-23 12:36:04 +02:00
Nikita Popov
c4639a2deb
Restore XFAIL on fpm test
...
Still fails intermittently.
2020-06-23 12:35:11 +02:00