History log of /php-src/ext/standard/user_filters.c (Results 1 – 25 of 178)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# be2f454d 11-Apr-2024 Máté Kocsis

Add dedicated StreamBucket class (#13111)

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


# c087398c 23-Mar-2024 Jakub Zelenka

Fix GH-13264: Part 1 - Memory leak on filter failure

Closes GH-13790


# 1f6770ab 09-Nov-2023 Máté Kocsis

Remove unused stream filter resource name


# 9d5f2f13 20-Mar-2023 Ilija Tovilo

Use new ZSTR_INIT_LITERAL macro (#10879)


# f6ef5fbb 12-Oct-2022 Máté Kocsis

Declare ext/standard constants in stubs - part 12 (#9729)


Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23, php-8.0.23RC1, php-8.1.10RC1, php-8.2.0beta3, php-8.2.0beta2, php-8.1.9, php-8.0.22, php-8.1.9RC1, php-8.2.0beta1, php-8.0.22RC1, php-8.0.21, php-8.1.8, php-8.2.0alpha3, php-8.1.8RC1, php-8.2.0alpha2, php-8.0.21RC1, php-8.0.20, php-8.1.7, php-8.2.0alpha1, php-7.4.30, php-8.1.7RC1, php-8.0.20RC1, php-8.1.6, php-8.0.19, php-8.1.6RC1, php-8.0.19RC1, php-8.0.18, php-8.1.5, php-7.4.29, php-8.1.5RC1, php-8.0.18RC1, php-8.1.4, php-8.0.17, php-8.1.4RC1, php-8.0.17RC1, php-8.1.3, php-8.0.16, php-7.4.28, php-8.1.3RC1, php-8.0.16RC1, php-8.1.2, php-8.0.15, php-8.1.2RC1, php-8.0.15RC1, php-8.0.14, php-8.1.1, php-7.4.27, php-8.1.1RC1, php-8.0.14RC1, php-7.4.27RC1, php-8.1.0, php-8.0.13, php-7.4.26, php-7.3.33, php-8.1.0RC6
# 90b7bde6 03-Nov-2021 Dmitry Stogov

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[

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.

show more ...

Revision tags: php-7.4.26RC1, php-8.0.13RC1, php-8.1.0RC5, php-7.3.32, php-7.4.25, php-8.0.12, php-8.1.0RC4
# d8cb9f9a 07-Oct-2021 Nikita Popov

Merge branch 'PHP-8.1'

* PHP-8.1:
Fixed bug #54350


# 661cd1bf 07-Oct-2021 Nikita Popov

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
Fixed bug #54350


# c69ffa8f 07-Oct-2021 Nikita Popov

Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
Fixed bug #54350


# 15197702 07-Oct-2021 Nikita Popov

Fixed bug #54350

Don't allow calling fclose() on the stream while in the user
filter callback. This is basically the same protection as xp_ssl
streams use during callback invocations

Fixed bug #54350

Don't allow calling fclose() on the stream while in the user
filter callback. This is basically the same protection as xp_ssl
streams use during callback invocations.

There are more issues in this general area (e.g. stack overflow
on stream_filter_remove), but this addresses freeing the stream
during the filter callback invocation at least.

show more ...

Revision tags: php-8.0.12RC1, php-7.4.25RC1, php-8.1.0RC3, php-8.0.11, php-7.4.24, php-7.3.31, php-8.1.0RC2, php-7.4.24RC1, php-8.0.11RC1, php-8.1.0RC1
# 485d3acf 01-Sep-2021 Nikita Popov

Make zend_call_function() failure handling consistent

This API had rather peculiar behavior in case the provided function
is not callable. For some types of failures, it would silently

Make zend_call_function() failure handling consistent

This API had rather peculiar behavior in case the provided function
is not callable. For some types of failures, it would silently
return FAILURE (e.g. a function does not exist), while for others
(e.g. a class does not exist) it would generate a warning. Depending
on what the calling code does, this can either result in silent
failure or duplicate errors.

This commit switches the contract such that zend_call_function()
always (*) succeeds, though that success might be in the form of
throwing an exception. Calling a non-callable will now consistently
throw an exception.

There are some rare callers that do want to ignore missing methods,
for legacy APIs that are specific with optional methods. For these
use cases a new zend_call_method_if_exists() API is provided.

Calling code generally does not need to explicitly check for and
report zend_call_function() failures -- it can rely on
zend_call_function() having already done so. However, existing
code that does check for failure should continue to work fine.

(*) The only exception to this is if EG(active) being false during
late engine shutdown. This is not relevant to most code, but code
running in destructors and similar may need to be aware of the
possibility.

show more ...

# 99d37716 01-Sep-2021 Nikita Popov

Fix check in user filter dtor

obj is always non-null, we need to check for UNDEF here.

This was caught by the new assertion introduced in
3ec14000c6c93b3b0abee52321eb1bf88fad19b

Fix check in user filter dtor

obj is always non-null, we need to check for UNDEF here.

This was caught by the new assertion introduced in
3ec14000c6c93b3b0abee52321eb1bf88fad19b7.

show more ...

Revision tags: php-7.4.23, php-8.0.10, php-7.3.30
# 05a21792 20-Aug-2021 Nikita Popov

Declare php_user_filter::$stream property

This property is temporarily set during the filter() call. I have
no idea why this wasn't added as an argument to filter() instead.

# 7f7a90b2 20-Aug-2021 Nikita Popov

Remove php_user_filter::$filter property

This property was formerly used to hold the php_stream_filter
pointer for destruction purposes. However, this is no longer used,
and we don't

Remove php_user_filter::$filter property

This property was formerly used to hold the php_stream_filter
pointer for destruction purposes. However, this is no longer used,
and we don't need to create this resource at all.

show more ...

Revision tags: php-8.1.0beta3, php-8.0.10RC1, php-7.4.23RC1, php-8.1.0beta2, php-8.0.9, php-7.4.22, php-8.1.0beta1, php-7.4.22RC1, php-8.0.9RC1
# 67776308 13-Jul-2021 Nikita Popov

Fix php_user_filter::filter() return value

We specify that this needs to return an int, so do so.
PSFS_ERR_FATAL has value 0 which is what the null value previously
returned would be

Fix php_user_filter::filter() return value

We specify that this needs to return an int, so do so.
PSFS_ERR_FATAL has value 0 which is what the null value previously
returned would be interpreted as.

show more ...

Revision tags: php-8.1.0alpha3, php-7.4.21, php-7.3.29, php-8.0.8, php-8.1.0alpha2, php-7.4.21RC1, php-8.0.8RC1, php-8.1.0alpha1, php-8.0.7, php-7.4.20
# 56c16334 29-May-2021 Anatol Belski

ext: Cleanup some dead assignments

Signed-off-by: Anatol Belski <ab@php.net>

Revision tags: php-8.0.7RC1, php-7.4.20RC1
# 4ece535f 07-May-2021 Máté Kocsis

Merge branch 'PHP-8.0'

* Fix return type of php_user_filter::onCreate()
* Fix return type of mysqli::init()
* Fix return type of UConverter::fromUCallback() and UConverter::toUCallba

Merge branch 'PHP-8.0'

* Fix return type of php_user_filter::onCreate()
* Fix return type of mysqli::init()
* Fix return type of UConverter::fromUCallback() and UConverter::toUCallback()

show more ...


# a3c38c25 06-May-2021 Máté Kocsis

Fix return type of php_user_filter::onCreate()

# 01b3fc03 06-May-2021 KsaR

Update http->https in license (#6945)

1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https.
2. Update few license 3.0 to 3.01 as

Update http->https in license (#6945)

1. Update: http://www.php.net/license/3_01.txt to https, as there is anyway server header "Location:" to https.
2. Update few license 3.0 to 3.01 as 3.0 states "php 5.1.1, 4.1.1, and earlier".
3. In some license comments is "at through the world-wide-web" while most is without "at", so deleted.
4. fixed indentation in some files before |

show more ...

Revision tags: php-8.0.6, php-7.4.19, php-7.4.18, php-7.3.28, php-8.0.5, php-8.0.5RC1, php-7.4.18RC1, php-8.0.4RC1, php-7.4.17RC1, php-8.0.3, php-7.4.16, php-8.0.3RC1
# 4c6533c2 17-Feb-2021 Máté Kocsis

Generate class entries from stubs for com, standard, xmlreader, xmlwriter, xsl, zip, Zend

Closes GH-6706

Revision tags: php-7.4.16RC1, php-8.0.2, php-7.4.15, php-7.3.27, php-8.0.2RC1, php-7.4.15RC2, php-7.4.15RC1
# 3e01f5af 15-Jan-2021 Nikita Popov

Replace zend_bool uses with bool

We're starting to see a mix between uses of zend_bool and bool.
Replace all usages with the standard bool type everywhere.

Of course, zend_bool

Replace zend_bool uses with bool

We're starting to see a mix between uses of zend_bool and bool.
Replace all usages with the standard bool type everywhere.

Of course, zend_bool is retained as an alias.

show more ...

Revision tags: php-8.0.1, php-7.4.14, php-7.3.26, php-7.4.14RC1, php-8.0.1RC1, php-7.3.26RC1, php-8.0.0, php-7.3.25, php-7.4.13, php-8.0.0RC5
# 2875d0f9 12-Nov-2020 Nikita Popov

Fix memory leak when user filter onCreate returns false

Revision tags: php-7.4.13RC1, php-8.0.0RC4, php-7.3.25RC1, php-7.4.12, php-8.0.0RC3, php-7.3.24, php-8.0.0RC2, php-7.4.12RC1, php-7.3.24RC1, php-7.2.34, php-8.0.0rc1, php-7.4.11, php-7.3.23
# e60f927f 22-Sep-2020 Nikita Popov

stream_bucket_new() cannot return false

php_stream_bucket_new() is infallible.

Revision tags: php-8.0.0beta4, php-7.4.11RC1, php-7.3.23RC1
# 59c645b3 08-Sep-2020 Christoph M. Becker

Merge branch 'PHP-7.4' into master

* PHP-7.4:
Fix #72941: Modifying bucket->data by-ref has no effect any longer


# e6b2a97c 08-Sep-2020 Christoph M. Becker

Merge branch 'PHP-7.3' into PHP-7.4

* PHP-7.3:
Fix #72941: Modifying bucket->data by-ref has no effect any longer


12345678