#
a9e96a37 |
| 02-Oct-2020 |
Sammy Kaye Powers |
Expose php_during_module_startup() and php_during_module_shutdown() This can be handy when trying to determine if it is safe to access request globals amongst other things. Closes G
Expose php_during_module_startup() and php_during_module_shutdown() This can be handy when trying to determine if it is safe to access request globals amongst other things. Closes GH-6265
show more ...
|
#
3e33e1e8 |
| 05-Aug-2020 |
Christoph M. Becker |
Check linker compatibility directly from HMODULE Checking the linker compatibility with extranous `ImageLoad()` calls is possible, but unnecessary, since the modules are either already l
Check linker compatibility directly from HMODULE Checking the linker compatibility with extranous `ImageLoad()` calls is possible, but unnecessary, since the modules are either already loaded or loaded shortly afterwards, so that we can get the required information directly from the module handles. And actually, doing `ImageLoad()` as well as `LoadLibrary()` leaves a tiny room for a race condition, because both functions will lookup the module in the search path, so there is no *guarantee* that both are dealing with the same module. Dropping the `ImageLoad()` calls also has the advantage to no longer face the issue reported in bug #79557. A very minor additional advantage is that we no longer have to link against Imagehlp.dll. Furthermore, there is no need to check for CRT compatibility multiple times, so we can simplify the signature of `php_win32_crt_compatible`, and at the same time clean up main.c a bit. These changes require to change the signature of the exported `php_win32_image_compatible` and `php_win32_crt_compatible` functions, which now expect a `HMODULE` and nothing, respectively, instead of the module name.
show more ...
|
#
12306728 |
| 16-Jul-2020 |
Sammy Kaye Powers |
Add system ID entropy API The `zend_system_id` is a (true global) system ID that fingerprints a process state. When extensions add engine hooks during MINIT/startup, entropy is added the sys
Add system ID entropy API The `zend_system_id` is a (true global) system ID that fingerprints a process state. When extensions add engine hooks during MINIT/startup, entropy is added the system ID for each hook. This allows extensions to identify that changes have been made to the engine since the last PHP process restart. Closes GH-5871
show more ...
|
#
ec3f3002 |
| 15-Sep-2020 |
Nikita Popov |
Fix observer leak Make sure to startup observer infrastructure before we register the first observer...
|
#
1359a52d |
| 14-Sep-2020 |
Benjamin Eberlei |
Rename zend_error_notify APIs to zend_observer_error*
|
#
bd1d11d3 |
| 10-Sep-2020 |
twosee |
Simplify error type filter Closes GH-6049.
|
#
66c3e900 |
| 01-Sep-2020 |
Levi Morrison |
Add zend_observer API Closes GH-5857. Co-authored-by: Nikita Popov <nikita.ppv@gmail.com> Co-authored-by: Sammy Powers <sammyk@datadoghq.com>
|
#
2c15c9ce |
| 28-Aug-2020 |
Nikita Popov |
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 wh
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.
show more ...
|
#
fa8d9b11 |
| 28-Aug-2020 |
George Peter Banyard |
Improve type declarations for Zend APIs Voidification of Zend API which always succeeded Use bool argument types instead of int for boolean arguments Use bool return type for functio
Improve type declarations for Zend APIs Voidification of Zend API which always succeeded Use bool argument types instead of int for boolean arguments Use bool return type for functions which return true/false (1/0) Use zend_result return type for functions which return SUCCESS/FAILURE as they don't follow normal boolean semantics Closes GH-6002
show more ...
|
#
824541d5 |
| 12-Aug-2020 |
Nikita Popov |
Disable report_zend_debug by default We might just want to drop this completely, but at least don't enable it by default. It already gets disabled by a number of SAPIs, but we should
Disable report_zend_debug by default We might just want to drop this completely, but at least don't enable it by default. It already gets disabled by a number of SAPIs, but we should make that the default state.
show more ...
|
#
7c3e4872 |
| 10-Aug-2020 |
Nikita Popov |
Fixed bug #65275 Make EG(exit_status) the single source of truth for the exit status, instead of having two variables that we cannot really keep synchronized.
|
#
896dad4c |
| 10-Aug-2020 |
Nikita Popov |
Fixed bug #77561 Unconditionally strip shebang lines when using the CLI SAPI, independently of whether they occur in the primary or non-primary script. It's unlikely that someone int
Fixed bug #77561 Unconditionally strip shebang lines when using the CLI SAPI, independently of whether they occur in the primary or non-primary script. It's unlikely that someone intentionally wants to print that shebang line when including a script, and this regularly causes issues when scripts are used in multiple contexts, e.g. for direct invocation and as a phar bootstrap.
show more ...
|
#
52047add |
| 05-Aug-2020 |
Nikita Popov |
Only force log startup errors if display_startup_errors disabled Otherwise this results in duplicate errors. Closes GH-5941.
|
#
07db6415 |
| 25-Jun-2020 |
Tyson Andre |
[RFC] Make string length for getTraceAsString() configurable Add a `zend.exception_string_param_max_len` ini setting. (same suffix as `log_errors_max_len`) Allow values between
[RFC] Make string length for getTraceAsString() configurable Add a `zend.exception_string_param_max_len` ini setting. (same suffix as `log_errors_max_len`) Allow values between 0 and 1000000 bytes. For example, with zend.exception_string_param_max_len=0, "" would represent the empty string, and "..." would represent something longer than the empty string. Previously, this was hardcoded as exactly 15 bytes. Discussion: https://externals.io/message/110717 Closes GH-5769
show more ...
|
#
6e92487f |
| 22-Jul-2020 |
twosee |
Fix warnings of strict-prototypes Closes GH-5887.
|
#
6c8b94eb |
| 27-Apr-2020 |
Benjamin Eberlei |
Introduce error notification callbacks that are run independant of zend_error_cb
|
#
2b5de6f8 |
| 01-Jul-2020 |
Max Semenik |
Remove proto comments from C files Closes GH-5758
|
#
afafe544 |
| 25-Jun-2020 |
Nikita Popov |
Clear last error before shutting down memory manager The last error is allocated using ZMM, make sure it's cleared beforehand. It would probably be better to allocate it persist
Clear last error before shutting down memory manager The last error is allocated using ZMM, make sure it's cleared beforehand. It would probably be better to allocate it persistently outside of requests.
show more ...
|
#
c14371ef |
| 08-Jun-2020 |
George Peter Banyard |
Fix incorrect zend_bool usage for display_errors
|
#
88355dd3 |
| 07-Jun-2020 |
twosee |
Constify char * arguments of APIs Closes GH-5676.
|
#
7d6a0ba8 |
| 07-Jun-2020 |
twosee |
Fix expression warnings and break warnings Close GH-5675.
|
#
6260bc21 |
| 06-Jun-2020 |
twosee |
Remove duplicate zend_try Closes GH-5672.
|
#
975acfe7 |
| 29-May-2020 |
Nikita Popov |
Pass zend_string message to zend_error_cb This makes the zend_error_cb API simpler, and avoid formatting the same message in multiple places. It should be noted that the passed
Pass zend_string message to zend_error_cb This makes the zend_error_cb API simpler, and avoid formatting the same message in multiple places. It should be noted that the passed zend_string is always non-persistent, so if you want to store it persistently somewhere, you may still need to duplicate it. The last_error_message is cleared a bit more aggressive, to make sure it doesn't hang around across allocator life-cycles. Closes GH-5639.
show more ...
|
#
e949f306 |
| 29-May-2020 |
Nikita Popov |
Fixed bug #72089: Throw Error on require failure It should be noted that we still throw the usual fopen warnings, but the final fatal error becomes an Error exception. Combine with @
Fixed bug #72089: Throw Error on require failure It should be noted that we still throw the usual fopen warnings, but the final fatal error becomes an Error exception. Combine with @ to suppress FS warnings. Closes GH-5641.
show more ...
|
#
cf513c2d |
| 31-May-2020 |
Daniel Ruf |
Fix small typo in comment
|