History log of /php-src/UPGRADING.INTERNALS (Results 1 – 25 of 368)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# a22a8724 07-Apr-2024 Bob Weinand

Add next handler parameter to zend_observer_remove_begin/end_handler (#13807)

The usage of the current API within an observer handler leads to bugs like https://bugs.xdebug.org/view.php?id=2

Add next handler parameter to zend_observer_remove_begin/end_handler (#13807)

The usage of the current API within an observer handler leads to bugs like https://bugs.xdebug.org/view.php?id=2232.
Given two observer handlers, next to each other. The first one is executed. It removes itself. The second observer handler gets moved to the place of the first. The first one returns. The handler in the second slot is fetched, but is now NULL, because the it's now in the slot of the first observer; i.e. the second handler is skipped and the begin/end symmetry guarantee is violated.

Providing the next handler to the caller is a zero-cost way to avoid any impact in the paths of zend_observe_fcall_begin/end.

Signed-off-by: Bob Weinand <bobwei9@hotmail.com>

show more ...


# 30885f3b 31-Mar-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Implement request #71571: XSLT processor should provide option to change maxDepth (#13731)

There are two depth limiting parameters for XSLT templates.
1) maxTemplateDepth
This cor

Implement request #71571: XSLT processor should provide option to change maxDepth (#13731)

There are two depth limiting parameters for XSLT templates.
1) maxTemplateDepth
This corresponds to the recursion depth of a template. For very
complicated templates this can be hit.
2) maxTemplateVars
This is the total number of live variables. When using recursive
templates with lots of parameters you can hit this limit.

This patch introduces two new properties to XSLTProcessor that
corresponds to the above variables.

show more ...


# 6c5814da 27-Mar-2024 Remi Collet

revert base64_encode change


# dd6e738f 26-Mar-2024 Remi Collet

[ci skip] NEWS for base64_encode


# a4534faf 02-Mar-2024 Ayesh Karunaratne

ext/openssl: Remove kerberos support

Co-authored-by: Peter Kokot <peterkokot@gmail.com>


# 0c07b0d9 09-Oct-2023 Adam Saponara

Make `--enable-embed` libs respect `--libdir`

And make locatable by via `php-config`. Prior to this, `libphp.*`
would always install to `$prefix/lib`. After this, they will install
t

Make `--enable-embed` libs respect `--libdir`

And make locatable by via `php-config`. Prior to this, `libphp.*`
would always install to `$prefix/lib`. After this, they will install
to `$libdir`.

In practice, this will make it so that programs embedding libphp can
use `php-config` to determine appropriate compile flags without
guessing.

In `configure.ac`, it seems `$libdir` is mutated in some instances.
Ideally the mutated version would be stored in `$phplibdir` or
something. Instead of tracking down all uses of that variable, I
introduced another variable `$orig_libdir` that holds the original
value passed to the configure script.

This is a no-op for users unless they are compiling with `--libdir`
set to something other than `$prefix/lib`, the default.

Closes GH-12389

show more ...


# 79e4ca1e 21-Mar-2024 Peter Kokot

Remove outdated Zend/zend_istdiostream.h file (#13765)

This removes the unused and obsolete Zend/zend_istdiostream.h header and
symbols on Windows:
- HAVE_STDIOSTR_H
- HAVE_CLASS

Remove outdated Zend/zend_istdiostream.h file (#13765)

This removes the unused and obsolete Zend/zend_istdiostream.h header and
symbols on Windows:
- HAVE_STDIOSTR_H
- HAVE_CLASS_ISTDIOSTREAM
- istdiostream

show more ...


# e1630381 20-Mar-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-13764: xsl cannot build on PHP 8.4 (#13770)

Move some of the DOM APIs from the non-public php_dom.h header to the
public header xml_common.h.


# 81744d6c 18-Mar-2024 Tim Düsterhus

random: Improve the output quality of RANDOM_SEED() (#13730)

* random: Improve the output quality of RANDOM_SEED()

Previously 4 consecutive calls to `RANDOM_SEED()` each for 4 diffe

random: Improve the output quality of RANDOM_SEED() (#13730)

* random: Improve the output quality of RANDOM_SEED()

Previously 4 consecutive calls to `RANDOM_SEED()` each for 4 different CLI
requests resulted in:

$ sapi/cli/php test.php
2c13e9fde9caa
2c13e9fd1d6b0
2c13e9fd4de34
2c13e9fd1610e
$ sapi/cli/php test.php
2c1436764fe07
2c14367621770
2c143676c0bf6
2c143676e02f5
$ sapi/cli/php test.php
2c144995a0626
2c14499590fe2
2c144995c65db
2c14499536833
$ sapi/cli/php test.php
2c145cb30860b
2c145cb3ec027
2c145cb33b4ca
2c145cb38ff63

Now they result in:

$ sapi/cli/php test.php
6796973ace1b5f3d
1913daf5c158cb4b
255dbf24237bc8c9
7c3ba22e60f35196
$ sapi/cli/php test.php
afb7cc9ba9819cd2
3e01a71b91ad020c
6b718364d3ef108
bdcd17beeb4b31d2
$ sapi/cli/php test.php
53d36eb9b83f8788
4381c85e816187aa
2e9b32ee9898e71e
31d15c946842bddb
$ sapi/cli/php test.php
2037a3cba88114b4
ba0b0d93a9bb43aa
e13d82d2421269e2
191de474f3292240

* tree-wide: Replace GENERATE_SEED() by php_random_generate_fallback_seed()

* random: Fix NTS build

* random: Fix Windows build

show more ...


# b9559738 13-Mar-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Only register error handling when observable

Closes GH-13702.


# e1181a64 15-Mar-2024 Peter Kokot

Remove HAVE_MYSQL (#13719)

The ext/pdo_mysql symbol has been once used together with the removed
ext/mysql extension and isn't defined on Windows neither used in the
code anymore.


# 649394d3 09-Mar-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Remove redundant namespace define


# 63bb04e5 09-Mar-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Simplify DOM_RET_OBJ macro


# 1cb86b6f 08-Mar-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Cleanup php_dom_create_object()


# 14b6c981 09-Mar-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

[RFC] Add a way to opt-in ext/dom spec compliance (#13031)

RFC: https://wiki.php.net/rfc/opt_in_dom_spec_compliance


# 713ac344 07-Mar-2024 Peter Kokot

Remove unused config.w32.h.in symbols (#13617)

- CONFIGURATION_FILE_PATH
Removed via 2cf1b8d3459736457b46c295eb2e8b87acb4f521.

- DISCARD_PATH
Used for the --enable-disca

Remove unused config.w32.h.in symbols (#13617)

- CONFIGURATION_FILE_PATH
Removed via 2cf1b8d3459736457b46c295eb2e8b87acb4f521.

- DISCARD_PATH
Used for the --enable-discard-path CGI configure option and converted
to INI configuration. Removed via
06f43b30c1c50ae8cafd35dd2207e3bbda7c3e3c.

- HAVE_ERRMSG_H
Removed via fd1578c196575c7e120a84ee030bb87c14a199b0.

- HAVE_REGCOMP
Used for regcomp function.

- HAVE_RINT
Used for rint function.

- NEED_ISBLANK
Windows ctype.h once didn't have C99 isblank() function. Cannot be
found on current Windows systems anymore, neither was used in PHP at
least since PHP 4.0.

- PHP_URL_FOPEN
Removed via cae27179ce1f84d47de87c4efbbcbd814f3c7bc6.

- REGEX
Not used in current code.

- HSREGEX
Not used in current code.

- USE_CONFIG_FILE
Symbol was once defined by the --with-config-file-path configure
option.

show more ...


# 7b234706 05-Mar-2024 Ayesh Karunaratne

ext/pcre: Add "/r" modifier (#13583)

Adds support for "Caseless restricted" matching added in PCRE2lib
10.43 with the "r" modifier.

This is `PCRE2_EXTRA_CASELESS_RESTRICT` in PC

ext/pcre: Add "/r" modifier (#13583)

Adds support for "Caseless restricted" matching added in PCRE2lib
10.43 with the "r" modifier.

This is `PCRE2_EXTRA_CASELESS_RESTRICT` in PCRE2. This is an "extra"
option, which means it is not possible to pass this option as
pcre2_compile() function parameter.

This option is passed in a pcre2_set_compile_extra_options() call.
Previously, these extra options are set at php_pcre_init_pcre2(),
but after this change, it is possible to customize the options
by adding bits to `eoptions` in pcre_get_compiled_regex_cache_ex().

The tests for this change are ported from upstream test suite[^1].

[^1]: https://github.com/PCRE2Project/pcre2/commit/c13d54f6581#diff-8c8312e4eb2d35bb16485404b7b5cc0eaef0bca1aa95ff5febf6a1890048305c

show more ...


# 99e7cf07 29-Feb-2024 Tim Düsterhus

random: Clean up seeding API (#13540)

* random: Expose xoshiro256**'s seeding functions

* random: Expose pcgoneseq128xslrr64's seeding functions

* random: Expose Mt19937's

random: Clean up seeding API (#13540)

* random: Expose xoshiro256**'s seeding functions

* random: Expose pcgoneseq128xslrr64's seeding functions

* random: Expose Mt19937's seeding functions

* random: Expose CombinedLCG's seeding functions

* random: Call php_random_mt19937_seed32 to seed the global Mt19937

This avoids the function pointer indirection and improves type safety.

* random: NULL the generic seeding function

Different engines work quite differently, it is not useful to attempt to seed
them in a generic way using a 64 bit integer. As an example Mt19937 completely
ignores the upper 32 bits.

* random: Remove the `seed` member from `php_random_algo`

See the explanation in the previous commit for the reasoning. This member is
unused since the previous commit and was not consistently available even before
that (specifically for the Secure engine).

* UPGRADING.INTERNALS

* random: Remove useless cast in `php_mt_srand()`

show more ...


# 2ca38d11 27-Feb-2024 Peter Kokot

Remove PHP_CHECK_GCC_ARG (#13525)

The PHP_CHECK_GCC_ARG has been already removed in PHP 8.0 and this also
removes the error emitting wrapper.

Patches for the solr and vld extens

Remove PHP_CHECK_GCC_ARG (#13525)

The PHP_CHECK_GCC_ARG has been already removed in PHP 8.0 and this also
removes the error emitting wrapper.

Patches for the solr and vld extensions have been sent upstream.

show more ...


# 718a8b42 26-Feb-2024 Peter Kokot

[skip ci] Update PHP inet_aton and symbols removal notes


# 14873dd2 26-Feb-2024 Florian Engelhardt

Drop zend_mm_set_custom_debug_handlers() (#13457)

Simplifies zend_mm_set_custom_debug_handlers to just use zend_mm_set_custom_handlers(), saving some conditionals when the Zend allocator is

Drop zend_mm_set_custom_debug_handlers() (#13457)

Simplifies zend_mm_set_custom_debug_handlers to just use zend_mm_set_custom_handlers(), saving some conditionals when the Zend allocator is not used.

show more ...


# 79133df1 25-Feb-2024 Tim Düsterhus

random: Pass algorithm and state together as `php_random_algo_with_state` (#13350)

* random: Remove `php_random_status`

Since 162e1dce9870168cb8c65c013f2b5a510b6536b1, the `php_rand

random: Pass algorithm and state together as `php_random_algo_with_state` (#13350)

* random: Remove `php_random_status`

Since 162e1dce9870168cb8c65c013f2b5a510b6536b1, the `php_random_status` struct
contains just a single `void*`, resulting in needless indirection when
accessing the engine state and thus decreasing readability because of the
additional non-meaningful `->state` references / the local helper variables.

There is also a small, but measurable performance benefit:

<?php
$e = new Random\Engine\Xoshiro256StarStar(0);
$r = new Random\Randomizer($e);

for ($i = 0; $i < 15; $i++)
var_dump(strlen($r->getBytes(100000000)));

goes from roughly 3.85s down to 3.60s.

The names of the `status` variables have not yet been touched to keep the diff
small. They will be renamed to the more appropriate `state` in a follow-up
cleanup commit.

* Introduce `php_random_algo_with_state`

show more ...


# 9c4beac8 23-Feb-2024 Jorg Sowa

Remove inet_aton

This removes the deprecated inet_aton and its Windows implementation.
The inet_aton can be replaced with platform agnostic inet_pton.

Closes GH-13479


# bd365149 23-Feb-2024 Peter Kokot

Find and link math library as needed with AC_SEARCH_LIBS (#13481)

On some systems (Haiku) the math library is part of the C library and it
doesn't need to be explicitly prepended to LIBS

Find and link math library as needed with AC_SEARCH_LIBS (#13481)

On some systems (Haiku) the math library is part of the C library and it
doesn't need to be explicitly prepended to LIBS. The redundant HAVE_LIBM
symbol defined by the AC_CHECK_LIB has been removed.

show more ...


# e9f8defd 23-Feb-2024 Peter Kokot

Find and link dl library as needed with AC_SEARCH_LIBS (#13482)

AC_SEARCH_LIBS can be used to check for dlopen and if dl library needs
to be prepended to LIBS. The dlsym is available wit

Find and link dl library as needed with AC_SEARCH_LIBS (#13482)

AC_SEARCH_LIBS can be used to check for dlopen and if dl library needs
to be prepended to LIBS. The dlsym is available with the same scope as
dlopen (if dlopen is present, also dlsym is). The redundant HAVE_DLOPEN
and HAVE_DLSYM symbols have been removed.

show more ...


12345678910>>...15