1
0
mirror of https://github.com/php/php-src.git synced 2026-04-21 15:08:16 +02:00
Commit Graph

6027 Commits

Author SHA1 Message Date
Ilija Tovilo bb48f5da1e Merge branch 'PHP-8.2'
* PHP-8.2:
  Fix bug GH-11246 cli/get_set_process_title
2023-05-31 17:10:44 +02:00
Ilija Tovilo 0bf8ecf9b3 Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Fix bug GH-11246 cli/get_set_process_title
2023-05-31 17:10:17 +02:00
James Lucas c6ae7a55b7 Fix bug GH-11246 cli/get_set_process_title
Fail to clobber_error only when the argv is a non-contiguous area
Don't increment the end_of_error if a non-contiguous area is encountered in environ

Closes GH-11247
2023-05-31 17:08:37 +02:00
Kirill Nesmeyanov b495a916a4 Add string output escaping into zend dump (phpdbg + opcache debug) (#11337)
* Add string output escaping into zend dump (phpdbg + opcache debug)

* Use ZSTR_VAL macro instead direct string access

* Move "escaped_string" into local switch/case scope

* Add zend_string_release

* Add Z_STR_P macro instead direct string access

* Merge zend_string declaration and its assigment in one stmt
2023-05-29 16:45:00 +03:00
Ilija Tovilo 0b1d750d91 Allow arbitrary expressions in static variable initializer
Closes GH-9301
2023-05-24 20:17:31 +02:00
George Peter Banyard 548e0615cd FPM: refactor fpm_php_get_string_from_table() to better match usage (#11051)
Pass the key length to improve the existence check for the key
2023-05-20 22:49:41 +01:00
Niels Dossche 1fe7dc31ef Fix -Wstrict-prototypes warnings in fuzzer SAPI (#11277) 2023-05-20 11:43:30 +02:00
Jakub Zelenka e5d46b31a1 Merge branch 'PHP-8.2' 2023-05-19 16:31:00 +01:00
Jakub Zelenka 3769505c87 Merge branch 'PHP-8.1' into PHP-8.2 2023-05-19 16:30:36 +01:00
Jakub Zelenka aa061cd40b Fix FPM status json encoded value test
Closes GH-11276
2023-05-19 16:20:21 +01:00
Ilija Tovilo 8d0345d94e Merge branch 'PHP-8.2'
* PHP-8.2:
  [skip ci] Mark frequently failing fpm test as XFAIL
2023-05-17 17:42:46 +02:00
Ilija Tovilo 69d41cc7fc Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [skip ci] Mark frequently failing fpm test as XFAIL
2023-05-17 17:42:39 +02:00
Ilija Tovilo e31fe111a5 [skip ci] Mark frequently failing fpm test as XFAIL
Reported here: https://github.com/php/php-src/pull/11050#issuecomment-1546990346
2023-05-17 17:42:05 +02:00
Jakub Zelenka 03f64b7853 Merge branch 'PHP-8.2' 2023-05-14 12:29:19 +01:00
Jakub Zelenka 1129046482 Merge branch 'PHP-8.1' into PHP-8.2 2023-05-14 12:28:52 +01:00
Jakub Zelenka 4294e8d448 FPM: Fix memory leak for invalid primary script file handle
Closes GH-11088
2023-05-14 12:27:38 +01:00
Jakub Zelenka a225f6ab6b Merge branch 'PHP-8.2' 2023-05-13 18:54:16 +01:00
Jakub Zelenka 90553af15c Merge branch 'PHP-8.1' into PHP-8.2 2023-05-13 18:53:35 +01:00
Jakub Zelenka 5e64ead64a Fix bug #64539: FPM status - query_string not properly JSON encoded
Closes GH-11050
2023-05-13 18:43:30 +01:00
Jakub Zelenka 7034263f6e Merge branch 'PHP-8.2' 2023-05-13 14:15:17 +01:00
Jakub Zelenka bda28eb649 Merge branch 'PHP-8.1' into PHP-8.2 2023-05-13 14:14:23 +01:00
Jakub Zelenka 102953735c Fix GH-10461: Postpone FPM child freeing in event loop
This is to prevent after free accessing of the child event that might
happen when child is killed and the message is delivered at that same
time.

Also fixes GH-10889 and properly fixes GH-8517 that was not previously
fixed correctly.
2023-05-13 14:11:42 +01:00
Niels Dossche ac5920f92b Fix GH-11141: Could not open input file: should be sent to stderr
I grepped for php_printf cases in main/ and sapi/ and converted the
cases which clearly indicate errors to fprintf(stderr, ...), like
suggested in the linked issue.

Closes GH-11163.
2023-05-05 19:31:23 +02:00
Calvin Buckley 3af5f47ce6 http_response_code should warn if headers were already sent
This would previously fail silently. We also return false to indicate the error.

Fixes GH-10742
Closes GH-10744
2023-05-05 15:24:56 +02:00
Cédric Anne c02348cf9d Make SERVER_SOFTWARE compliant with RFC3875 (#11093) 2023-05-05 12:43:34 +01:00
nielsdos f6c0c60ef6 Fix GH-11104: STDIN/STDOUT/STDERR is not available for CLI without a script
I found no reason why this is done this way.
Of course this will allow users to do stupid stuff like
`fclose(STDOUT);` etc. but if they type in that code they clearly know
what they're doing...

Close GH-11169.
2023-05-03 19:54:21 +02:00
Michael Voříšek f89fe830f2 Minor conditions simplify (#10397) 2023-04-26 15:12:01 +02:00
Sjon Hortensius 581e729e8d fpm: remove 2 unneeded newlines from zlog call 2023-04-16 11:39:00 +01:00
Ilija Tovilo 24cc40207d Benchmarking mean (#11085)
* Use 50 runs and calculate mean

* Don't validate timestamps

* Don't profile PHP startup and shutdown in cgi with valgrind
2023-04-15 23:14:20 +02:00
Jakub Zelenka 7de83e2736 Merge branch 'PHP-8.2' 2023-04-07 12:29:46 +01:00
Jakub Zelenka 0b4f2fc9e8 Merge branch 'PHP-8.1' into PHP-8.2 2023-04-07 12:29:23 +01:00
Jakub Zelenka ebb3213f79 Add FPM FCGI env Apache handler UDS test 2023-04-07 12:28:42 +01:00
Jakub Zelenka f17cf2ed63 Merge branch 'PHP-8.2' 2023-04-06 16:01:13 +01:00
Jakub Zelenka 1ca1858f31 Merge branch 'PHP-8.1' into PHP-8.2 2023-04-06 16:00:48 +01:00
Jakub Zelenka 15802dfc62 Add FPM FastCGI env var test for Apache without path info fix 2023-04-06 15:59:34 +01:00
Dmitry Stogov c9d728cbd6 Revert "Zend/zend_types.h: move zend_rc_debug to zend_rc_debug.h"
This reverts commit d6e95041e2.
2023-04-04 22:48:26 +03:00
Máté Kocsis f42992f580 Remove name field from the zend_constant struct (#10954)
As global constant names are case-sensitive now, we don't have to store them separately above the constant table.
2023-04-03 22:13:47 +02:00
Ilija Tovilo 11fbf3da35 Merge branch 'PHP-8.2'
* PHP-8.2:
  Unparallelize IO heavy tests
2023-03-27 16:34:19 +02:00
Ilija Tovilo 9b15537e9a Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Unparallelize IO heavy tests
2023-03-27 16:34:11 +02:00
Ilija Tovilo e1ec67acd6 Unparallelize IO heavy tests
Alternative to GH-10892. This is somewhat unfortunate since these are also the
slow tests. I'm also not sure if this actually helps.

Closes GH-10953
2023-03-27 16:33:36 +02:00
Alex Dowad 5f2587eb25 php-fuzz-mbstring also tests text encoding validation functions
In 6fc8d014df, pakutoma added specialized validation functions for
ISO-2022-JP, JIS, UTF-7, and UTF7-IMAP text. In the future, it is
possible we might add such functions for more legacy text encodings.
Allowing them to be tested by php-fuzz-mbstring may help to catch
bugs, both now and in the future.
2023-03-27 08:17:49 +02:00
Ilija Tovilo 9d5f2f1343 Use new ZSTR_INIT_LITERAL macro (#10879) 2023-03-20 16:19:05 +01:00
Jakub Zelenka 5efd60ea90 Merge branch 'PHP-8.2' 2023-03-19 13:17:56 +00:00
Jakub Zelenka 2b0d29bf17 Merge branch 'PHP-8.1' into PHP-8.2 2023-03-19 13:17:09 +00:00
Jakub Zelenka 0d4d471847 Fix bug #74129: Incorrect SCRIPT_NAME with apache ProxyPassMatch
This happens when there are spaces are in the path info. The reason is
that Apache decodes the path info part in the SCRIPT_NAME as per CGI
RFC. FPM tries to strip path info from the SCRIPT_NAME but the
comparison is done against SCRIPT_FILENAME which is not decoded. For
that to work we have to decode it before comparison if there is any
encoded character.

Closes GH-10869
2023-03-19 13:11:14 +00:00
Niels Dossche 674bcca513 Merge branch 'PHP-8.2'
* PHP-8.2:
  Destroy file_handle in fpm_main
2023-03-18 21:05:44 +01:00
Niels Dossche e44b1a916d Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  Destroy file_handle in fpm_main
2023-03-18 21:00:21 +01:00
Niels Dossche f30e71cbde Destroy file_handle in fpm_main
If it's not in the CG(open_files) list, we need to destroy the file
handle ourselves.

Co-authored-by: Jakub Zelenka <bukka@php.net>

Closes GH-10707.
2023-03-18 20:54:46 +01:00
Niels Dossche 4da0da7f2d Implement GH-10854: TSRM should set a smarter value for expected_threads (#10867)
The tsrm_startup() function is currently always called with expected_threads = 1.
This means that the hashtable used in the TSRM will only contain a single bucket,
and all thread resources will therefore be in the same linked list.
So it's not really a hashtable right now, even though it's supposed to be.

This patch adds a function tsrm_startup_ex() which takes the expected
thread count as an argument. It also keeps the tsrm_startup() function
so there are no BC breaks.

In the Apache SAPI we query how many threads we have, and pass that to
the tsrm_startup_ex() function.
2023-03-17 17:08:47 +01:00
Jakub Zelenka 31ccfbd6f6 Merge branch 'PHP-8.2' 2023-03-17 14:57:14 +00:00