| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| |
| |
| | |
* PHP-8.0:
Mark resource-like objects as non-comparable
|
| | |
| |
| |
| |
| |
| |
| | |
As these hold on to some internal resource, there can't be two
"equal" objects with different identity. Make sure the lack of
public properties doesn't result in these being treated as always
equal.
|
| | |
| |
| |
| | |
Relates to GH-6644
|
| | |
| |
| |
| |
| |
| | |
For these callbacks a non-null callback already indicates that
a user callback should be used. We don't need an additional
member to tell us the same thing.
|
| | |
| |
| |
| | |
Always allocated together with php_curl... no point in that.
|
| | |
| |
| |
| |
| | |
This is always allocated together with the php_curlm structure,
there's no point in making it a separate allocation.
|
| |/
|
|
| |
There's no value in making these separate types.
|
| |
|
|
|
| |
The issue affected both CurlHandle and CurlMultiHandle. I'll have
to double check this for other resource->object conversions as well.
|
| |
|
|
|
|
|
|
|
| |
To allow exporting the php_curl.h header containing curl class
entries, split off a separate curl_private.h header with all the
implementation details.
We may move or expose additional APIs in php_curl.h on an as-needed
basis.
|
| |
|
|
|
|
|
|
| |
A recurring pattern in old extension: Putting the whole source
code behind HAVE_EXTNAME. This is pointless, as the code is only
compiled if the extension is enabled.
This removes a couple of them, but not all.
|
| |
|
|
| |
Closes GH-5963
|
| |
|
|
| |
Closes GH-5758
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
While performing resource -> object migrations, we're adding
defensive classes that are final, non-serializable and non-clonable
(unless they are, of course). This path adds a ZEND_ACC_NO_DYNAMIC_PROPERTIES
flag, that also forbids the creation of dynamic properties on these objects.
This is a subset of #3931 and targeted at internal usage only
(though may be extended to userland at some point in the future).
It's already possible to achieve this (what the removed
WeakRef/WeakMap code does), but there's some caveats: First, this
simple approach is only possible if the class has no declared
properties, otherwise it's necessary to special-case those
properties. Second, it's easy to make it overly strict, e.g. by
forbidding isset($obj->prop) as well. And finally, it requires a
lot of boilerplate code for each class.
Closes GH-5572.
|
| | |
|
| |
|
|
|
|
| |
Closes GH-5402
Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
|
| | |
|
| |
|
|
|
|
|
| |
libcurl 7.29.0 has been released almost eight years ago, so this
version is supposed to be available practically everywhere. This bump
also allows us to get rid of quite some conditional code and tests
catering to very old libcurl versions.
|
| |\
| |
| |
| |
| | |
* PHP-7.4:
Fix #79078: Hypothetical use-after-free in curl_multi_add_handle()
|
| | |\
| | |
| | |
| | |
| | | |
* PHP-7.3:
Fix #79078: Hypothetical use-after-free in curl_multi_add_handle()
|
| | | |
| | |
| | |
| | |
| | | |
To avoid this, we have to verify the handlers already in
`curl_multi_add_handle()`, not only in `curl_multi_exec()`.
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
Closes GH-4732.
|
| |/ /
| |
| |
| |
| |
| | |
These functions throw, so they can't return false.
This is just a subset...
|
| |\ \
| |/ |
|
| | |\ |
|
| | | |
| | |
| | |
| | | |
Save multi_info_read() result into easy handle.
|
| |\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.3:
Fix precedence issue causing sub-second timeouts to be 0 in curl_multi_select
|
| | |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.2:
Fix precedence issue causing sub-second timeouts to be 0 in curl_multi_select
|
| | | |
| | |
| | |
| | | |
curl_multi_select
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
`CURLPIPE_HTTP1` is deprecated and has no effect as of cURL 7.62.0[1].
We therefore deprecate the PHP constant as well, and trigger a warning
that it is no longer supported, if used against cURL 7.62.0 and up.
[1] <https://curl.haxx.se/libcurl/c/CURLMOPT_PIPELINING.html>
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
0x2d == 45, not 46. However, `CURLMOPT_PUSHFUNCTION` is actually
available as of cURL 7.44.0[1], while we make the respective PHP
constants available only as of cURL 7.46.0[2].
[1] <https://curl.haxx.se/libcurl/c/CURLMOPT_PUSHFUNCTION.html>
[2] <http://git.php.net/?p=php-src.git;a=blob;f=ext/curl/interface.c;h=fdf855278eef6f32f26c49b54f56aca9bd7007c3;hb=HEAD#l1289>
|
| | | |
| | |
| | |
| | | |
by reference
|
| |\ \ \
| |/ / |
|
| | |\ \
| | |/ |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch removes the so called local variables defined per
file basis for certain editors to properly show tab width, and
similar settings. These are mainly used by Vim and Emacs editors
yet with recent changes the once working definitions don't work
anymore in Vim without custom plugins or additional configuration.
Neither are these settings synced across the PHP code base.
A simpler and better approach is EditorConfig and fixing code
using some code style fixing tools in the future instead.
This patch also removes the so called modelines for Vim. Modelines
allow Vim editor specifically to set some editor configuration such as
syntax highlighting, indentation style and tab width to be set in the
first line or the last 5 lines per file basis. Since the php test
files have syntax highlighting already set in most editors properly and
EditorConfig takes care of the indentation settings, this patch removes
these as well for the Vim 6.0 and newer versions.
With the removal of local variables for certain editors such as
Emacs and Vim, the footer is also probably not needed anymore when
creating extensions using ext_skel.php script.
Additionally, Vim modelines for setting php syntax and some editor
settings has been removed from some *.phpt files. All these are
mostly not relevant for phpt files neither work properly in the
middle of the file.
|
| | | | |
|
| |\ \ \
| |/ / |
|
| | |\ \
| | |/ |
|
| | | |
| | |
| | |
| | | |
Leave a reference to the resource in the php_curl.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
RFC: https://wiki.php.net/rfc/typed_properties_v2
This is a squash of PR #3734, which is a squash of PR #3313.
Co-authored-by: Bob Weinand <bobwei9@hotmail.com>
Co-authored-by: Joe Watkins <krakjoe@php.net>
Co-authored-by: Dmitry Stogov <dmitry@zend.com>
|
| |/ /
| |
| |
| |
| |
| |
| | |
- Simplify conditions
- Use ZEND_HASH_APPLY_* instead of hard-coded booleans
- Use ZEND_NORMALIZE_BOOL
- Drop sign in favor of ZEND_NORMALIZE_BOOL
|
| |\ \
| |/ |
|
| | |\ |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|