Niels Dossche
b156d37d7f
Use zend_array_is_list() in soap instead of own is_map() ( #18684 )
...
is_map() is just the inverse of zend_array_is_list().
2025-05-28 20:12:54 +02:00
Christoph M. Becker
300811f1e2
Remove support for unsupported MSVC versions (GH-17128)
...
As of PHP 8.4.0, MSVC >= 1920 (aka. Visual Studio 2019 RTW 16.0) is
required anyway[1], so we can clean up a bit.
[1] <b3d6414b87
>
2024-12-12 19:50:14 +01:00
Christoph M. Becker
6e759e079f
Resolve some MSVC C4244 level 2 warnings
...
These got already approval by the respective code owners in GH-17076.
2024-12-11 00:12:13 +01:00
Niels Dossche
37db2edd26
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-16429: Segmentation fault (access null pointer) in SoapClient
2024-10-14 22:00:45 +02:00
Niels Dossche
0b657fea2b
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix GH-16429: Segmentation fault (access null pointer) in SoapClient
2024-10-14 22:00:29 +02:00
Niels Dossche
d613c0ed30
Fix GH-16429: Segmentation fault (access null pointer) in SoapClient
...
If get_iterator() fails, we should not destroy the object.
Also changes the check to a NULL check to be more defensive, and to
match the VM.
Closes GH-16441.
2024-10-14 21:59:51 +02:00
Niels Dossche
f108c1675e
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-16318: Recursive array segfaults soap encoding
2024-10-12 23:30:44 +02:00
Niels Dossche
6ff4a2d7a8
Fix GH-16318: Recursive array segfaults soap encoding
...
This adds recursion protection to the array encoders.
Closes GH-16347.
2024-10-12 23:20:15 +02:00
Niels Dossche
82d58c4842
Merge branch 'PHP-8.3' into PHP-8.4
...
* PHP-8.3:
Fix GH-16259: Soap segfault when classmap instantiation fails
2024-10-07 17:43:10 +02:00
Niels Dossche
932406a146
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix GH-16259: Soap segfault when classmap instantiation fails
2024-10-07 17:42:54 +02:00
Niels Dossche
71222f799d
Fix GH-16259: Soap segfault when classmap instantiation fails
...
Instantiation failure checks were missing.
Closes GH-16273.
2024-10-07 17:42:27 +02:00
Niels Dossche
1ce07b0957
Merge branch 'PHP-8.3'
...
* PHP-8.3:
Fix GH-15711: SoapClient can't convert BackedEnum to scalar value
Use get_serialization_string_from_zval() in all encoding functions
Introduce get_serialization_string_from_zval() and use it in to_xml_string()
2024-09-16 20:51:34 +02:00
Niels Dossche
25289dd08e
Fix GH-15711: SoapClient can't convert BackedEnum to scalar value
...
Allow SoapClient to use the backing value during response serialization.
Closes GH-15803.
2024-09-16 20:47:36 +02:00
Niels Dossche
ca66a11c36
Use get_serialization_string_from_zval() in all encoding functions
2024-09-16 20:46:52 +02:00
Niels Dossche
56fea5995d
Introduce get_serialization_string_from_zval() and use it in to_xml_string()
...
For now this new function only returns a copy of the string, but its
functionality will be expanded by later commits.
to_xml_string() now uses this function and the memory management is
simplified as well.
2024-09-16 20:46:52 +02:00
Niels Dossche
cc0464268d
Avoid copying the local name in SOAP's parse_namespace() ( #15862 )
...
The local name is either the entire input or is the last part, so we
never need to make a copy.
2024-09-12 22:41:45 +02:00
Niels Dossche
027b210d42
Merge branch 'PHP-8.3'
...
* PHP-8.3:
Revert "Fix bug #69280 : SoapClient classmap doesn't support fully qualified class name (#14398 )"
2024-08-07 10:04:58 +02:00
Niels Dossche
1d56340831
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Revert "Fix bug #69280 : SoapClient classmap doesn't support fully qualified class name (#14398 )"
2024-08-07 10:03:35 +02:00
Niels Dossche
28290655e8
Revert "Fix bug #69280 : SoapClient classmap doesn't support fully qualified class name ( #14398 )"
...
This reverts commit 476706165a
.
Although the fix is correct, people are relying on the bug and their
code stopped working, see GH-15252.
2024-08-07 10:03:12 +02:00
Niels Dossche
ecf0bb0fd1
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
[ci skip] NEWS
Backport libxml2 2.13.2 fixes (#14816 )
2024-07-04 15:37:35 +02:00
Niels Dossche
4fe821311c
Backport libxml2 2.13.2 fixes ( #14816 )
...
Backproted from https://github.com/php/php-src/pull/14789
2024-07-04 15:29:50 +02:00
Niels Dossche
ef80266d99
Fix double entity encoding in soap
2024-07-03 10:34:46 -07:00
Niels Dossche
61191dc313
Merge branch 'PHP-8.3'
...
* PHP-8.3:
Fix bug #69280 : SoapClient classmap doesn't support fully qualified class name (#14398 )
2024-06-01 13:32:58 +02:00
Niels Dossche
d11a3c6579
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
Fix bug #69280 : SoapClient classmap doesn't support fully qualified class name (#14398 )
2024-06-01 13:31:02 +02:00
Niels Dossche
476706165a
Fix bug #69280 : SoapClient classmap doesn't support fully qualified class name ( #14398 )
...
There's a hash table that maps type names to class name, but names with
a leading backslash are not supported. The engine has logic to strip
away the leading backslash that we should replicate here.
It works by checking if we need to make an actual copy in case an
unexpected (e.g. invalid data or leading backslash) situations are
detected. Upon making a copy we normalize the data in the table.
Furthermore, previously the code assumed that the key was always valid
and that the structure was a non-packed hash table. This isn't
necessarily the case. The new code fixes this as well.
Closes GH-14398.
2024-06-01 13:29:26 +02:00
Niels Dossche
b34b4d54c3
Fix #44383 : PHP DateTime not converted to xsd:datetime
...
Closes GH-12437.
Closes GH-11725.
2023-12-08 17:26:52 +01:00
Viktor Vassilyev
e58af7c160
ext/soap: Add support for clark notation for namespaces in class map
...
Closes GH-12411.
2023-10-23 23:39:28 +02:00
Niels Dossche
7da6c0f1db
Merge branch 'PHP-8.2' into PHP-8.3
...
* PHP-8.2:
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
2023-10-19 18:32:47 +02:00
Niels Dossche
1b16646270
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
2023-10-19 18:32:01 +02:00
Niels Dossche
deebb68612
Fix segfault and assertion failure with refcounted props and arrays
...
Closes GH-12478.
2023-10-19 18:29:13 +02:00
Ilija Tovilo
80b4c73030
Implement diagnostic ignore macro for Clang
...
Newer versions of Clang now also complain about -Wscript-prototypes for included
headers.
Closes GH-12467
2023-10-18 17:37:15 +02:00
Ilija Tovilo
d98963a071
Switch to Ubuntu 22.04 for GitHub actions jobs
...
Closes GH-10814
2023-03-10 00:17:23 +01:00
George Peter Banyard
f13d541ca6
Fix GCC 12 compiler warnings ( #10713 )
...
* Fix -Wunused-but-set-variable compiler warning in ext/mysqli
* Fix -Wstrict-prototypes compiler warning in ext/mysqlnd
* Fix -Wstrict-prototypes compiler warning in ext/soap
* Fix -Wunused-but-set-variable compiler warning in ext/exif
However, this code looks really sketchy...
* Fix -Wstrict-prototypes compiler warning in ext/openssl
* Fix -Wstrict-prototypes compiler warning in ext/dba
Add void to our bundled libraries
* Refactor bundled BCMath library
Fix -Wdeprecated-non-prototype compiler warnings
Use bool instead of char/int
Cleanup some useless header includes
2023-02-28 14:21:01 +00:00
Christoph M. Becker
c8955c078a
Revert GH-10220
...
Cf. <https://github.com/php/php-src/pull/10220#issuecomment-1383739816 >.
This reverts commit ecc880f491
.
This reverts commit 588a07f737
.
This reverts commit f377e15751
.
This reverts commit b4ba16fe18
.
This reverts commit 694ec1deea
.
This reverts commit 6b34de8eba
.
This reverts commit aa1cd02a43
.
This reverts commit 308fd311ea
.
This reverts commit 16203b53e1
.
This reverts commit 738fb5ca54
.
This reverts commit 9fdbefacd3
.
This reverts commit cd4a7c1d90
.
This reverts commit 928685eba2
.
This reverts commit 01e5ffc85c
.
2023-01-16 12:27:33 +01:00
Max Kellermann
308fd311ea
ext/{standard,json,random,...}: add missing includes
2023-01-10 14:19:03 +00:00
Dmitry Stogov
90b7bde615
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.
2021-11-03 15:18:26 +03:00
Nikita Popov
50484b59cd
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.
2021-08-20 14:15:23 +02:00
Nikita Popov
c58c926034
Declare SoapVar properties
2021-08-19 12:35:37 +02:00
Nikita Popov
d28f6e694d
Move php_gcvt to zend_gcvt
...
Also move PHP_DOUBLE_MAX_LENGTH to ZEND_DOUBLE_MAX_LENGTH.
2021-08-02 14:51:46 +02:00
Patrick Allaert
aff365871a
Fixed some spaces used instead of tabs
2021-06-29 11:30:26 +02:00
KsaR
01b3fc03c3
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 |
2021-05-06 12:16:35 +02:00
George Peter Banyard
5caaf40b43
Introduce pseudo-keyword ZEND_FALLTHROUGH
...
And use it instead of comments
2021-04-07 00:46:29 +01:00
Christoph M. Becker
8f1ec5be60
Merge branch 'PHP-8.0'
...
* PHP-8.0:
Fix #69668 : SOAP special XML characters in namespace URIs not encoded
Signed-off-by: Christoph M. Becker <cmbecker69@gmx.de>
2021-03-29 14:20:13 +02:00
Christoph M. Becker
dd227f61df
Merge branch 'PHP-7.4' into PHP-8.0
...
* PHP-7.4:
Fix #69668 : SOAP special XML characters in namespace URIs not encoded
Signed-off-by: Christoph M. Becker <cmbecker69@gmx.de>
2021-03-29 14:19:39 +02:00
Christoph M. Becker
75cb678206
Fix #69668 : SOAP special XML characters in namespace URIs not encoded
...
`xmlNewNs()` does not XML encode the passed `href`, so we need to do
that manually.
Closes GH-6804.
Signed-off-by: Christoph M. Becker <cmbecker69@gmx.de>
2021-03-29 14:17:55 +02:00
Nikita Popov
3e01f5afb1
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.
2021-01-15 12:33:06 +01:00
Dmitry Stogov
4a2ae84188
Add "const". Move constant strings to read-only memory.
2020-09-07 21:35:48 +03:00
Nikita Popov
8b77c58130
Accept zend_object* in zend_update_property
2020-08-07 16:40:27 +02:00
Nikita Popov
01cbb5967c
Accept zend_object* in zend_unset_property
2020-08-07 16:40:27 +02:00
Nikita Popov
7991fc2753
Accept zend_object in zend_read_property
2020-08-07 16:40:27 +02:00