History log of /PHP-8.2/ext/soap/php_sdl.c (Results 1 – 25 of 230)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 72a2cbcc 09-Sep-2024 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix bug #73182: PHP SOAPClient does not support stream context HTTP headers in array form

This code is modelled after how `http_fopen_wrapper.c` does things,
which apparently is just loo

Fix bug #73182: PHP SOAPClient does not support stream context HTTP headers in array form

This code is modelled after how `http_fopen_wrapper.c` does things,
which apparently is just looping over the array and handling each string
the same way as if we passed a header string directly.

Also fixes a potential crash in `php_sdl.c` but without adding support
for header arrays there (yet) because the code is untested.

Closes GH-15817.

show more ...


# 0a39890c 01-Dec-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix libxml2 2.12 build due to API breaks

See https://github.com/php/php-src/actions/runs/7062192818/job/19225478601

# 4eee81b5 30-Nov-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix GH-12838: [SOAP] Temporary WSDL cache files not being deleted

If there are two users that can execute the script that caches a WSDL,
but the script is owned by a single user, then th

Fix GH-12838: [SOAP] Temporary WSDL cache files not being deleted

If there are two users that can execute the script that caches a WSDL,
but the script is owned by a single user, then the caching code will
name the cached file with the file owner username and a hash of the uri.
When one of the two tries to rename the file created by the other
process, this does not work because it has no permission to do so.
This then leaves temporary files floating in the temp directory.

To fix the immediate problem, unlink the file after rename has failed.
On the long term, this has to be fixed by taking the username of the
process instead of the username of the file owner.

Closes GH-12841.

show more ...

# e39538be 26-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
Fix bug #75306: Memleak in SoapClient


# 27797a26 18-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix bug #75306: Memleak in SoapClient

Setting the stream context via php_stream_context_to_zval() will
increase the reference count. So if the new context is created, then it
will en

Fix bug #75306: Memleak in SoapClient

Setting the stream context via php_stream_context_to_zval() will
increase the reference count. So if the new context is created, then it
will end up with a reference count of 2 while it should be 1.

Credits to cmb for the analysis. I arrived at the same patch as he did.

Closes GH-12523.

show more ...

# 07de4b69 25-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
Fix incorrect dtor for persistent sdl->encoders


# 9f7f3b20 24-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix incorrect dtor for persistent sdl->encoders

Closes GH-12515.

# 1b166462 19-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
Fix segfault and assertion failure with refcounted props and arrays
Fix incorrect uri check in SOAP caching
Fix bug #66150: S

Merge branch 'PHP-8.1' into PHP-8.2

* PHP-8.1:
Fix segfault and assertion failure with refcounted props and arrays
Fix incorrect uri check in SOAP caching
Fix bug #66150: SOAP WSDL cache race condition causes Segmentation Fault

show more ...


# abf562c4 19-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix incorrect uri check in SOAP caching

If i == 0 then the check will compare 0 bytes.
We are supposed to check if the uri is identical.

Closes GH-12479.

# 43e63168 18-Oct-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix bug #66150: SOAP WSDL cache race condition causes Segmentation Fault

When we have two processes both trying to cache a WSDL, they might start
writing the data to the same temporary f

Fix bug #66150: SOAP WSDL cache race condition causes Segmentation Fault

When we have two processes both trying to cache a WSDL, they might start
writing the data to the same temporary file, causing file corruption due
to the race condition. Fix this by creating a temporary file first, and
then moving it to the final location. If moving fails then we know
another process finished caching first.

This also fixes #67617 as a consequence of its implementation.

Closes GH-12469.

show more ...

# 4df3dd76 08-Jul-2022 Arnaud Le Blanc

Reduce memory allocated by var_export, json_encode, serialize, and other (#8902)

smart_str uses an over-allocated string to optimize for append operations. Functions that use smart_str tend

Reduce memory allocated by var_export, json_encode, serialize, and other (#8902)

smart_str uses an over-allocated string to optimize for append operations. Functions that use smart_str tend to return the over-allocated string directly. This results in unnecessary memory usage, especially for small strings.

The overhead can be up to 231 bytes for strings smaller than that, and 4095 for other strings. This can be avoided for strings smaller than `4096 - zend_string header size - 1` by reallocating the string.

This change introduces `smart_str_trim_to_size()`, and calls it in `smart_str_extract()`. Functions that use `smart_str` are updated to use `smart_str_extract()`.

Fixes GH-8896

show more ...

# 08d1593c 23-May-2022 Christoph M. Becker

Merge branch 'PHP-8.1'

* PHP-8.1:
Fix GH-8538: SoapClient may strip parts of nmtokens


# ee9a3fa7 23-May-2022 Christoph M. Becker

Merge branch 'PHP-8.0' into PHP-8.1

* PHP-8.0:
Fix GH-8538: SoapClient may strip parts of nmtokens


# 2a13304b 12-May-2022 Christoph M. Becker

Fix GH-8538: SoapClient may strip parts of nmtokens

When stripping the namespace prefix, we can assume that this does not
contain any colons, while the rest of the name may contain colon

Fix GH-8538: SoapClient may strip parts of nmtokens

When stripping the namespace prefix, we can assume that this does not
contain any colons, while the rest of the name may contain colons.
Hence we must not use `strrchr()` but rather `strchr()` instead.

Closes GH-8543.

show more ...

# 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 ...

# c96be7b8 24-Sep-2021 Tim Starling

Use ASCII lower case for misc case folding

Use ASCII case conversion instead of locale-dependent case conversion in
the following places:

* grapheme_stripos() and grapheme_strri

Use ASCII lower case for misc case folding

Use ASCII case conversion instead of locale-dependent case conversion in
the following places:

* grapheme_stripos() and grapheme_strripos() in the "fast" path
* ldap_get_entries()
* oci_pconnect() for case folding of parameters when constructing a key
into the connection or session pool
* SoapClient: case folding of function names
* get_meta_tags(): case conversion of property names
* http stream wrapper: header names
* phpinfo(): anchor names
* php_verror(): docref URLs
* rfc1867.c: Content-Type boundary parameter name
* streams.c: stream protocol names

Using locale-dependent case folding for these cases is either
unnecessary or actively incorrect. These functions could have
misbehaved when used with certain locales (e.g. Turkish).

Closes GH-7511.

show more ...

# 50484b59 20-Aug-2021 Nikita Popov

Move derefs into accessor macros

These derefs are mostly there to be defensive, but clutter the
code somewhat. Move them directly into the access macros.

# e6c6abf6 19-Aug-2021 Nikita Popov

Declare remaining SoapClient properties

# aff36587 29-Jun-2021 Patrick Allaert

Fixed some spaces used instead of tabs

# 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 ...

# 6f38a539 26-Feb-2021 Patrick Allaert

Remove useless conditional #ifdef

Closes GH-6737

Signed-off-by: George Peter Banyard <girgias@php.net>

# 9576a2ad 02-Feb-2021 Nikita Popov

Merge branch 'PHP-8.0'

* PHP-8.0:
Fix persistent leak on load_wsdl_ex failure


# f1a988af 02-Feb-2021 Nikita Popov

Merge branch 'PHP-7.4' into PHP-8.0

* PHP-7.4:
Fix persistent leak on load_wsdl_ex failure


# 51d76c34 02-Feb-2021 Nikita Popov

Fix persistent leak on load_wsdl_ex failure

Move the load_wsdl_ex call into the zend_try that destroys the
docs hash table. The wsdl will be inserted into docs early on,
and will thu

Fix persistent leak on load_wsdl_ex failure

Move the load_wsdl_ex call into the zend_try that destroys the
docs hash table. The wsdl will be inserted into docs early on,
and will thus be released on subsequent bailout.

show more ...

# 800685e2 01-Feb-2021 Nikita Popov

Merge branch 'PHP-8.0'

* PHP-8.0:
Fix build
crc32 mac build fix


12345678910