History log of /PHP-8.4/ext/curl/multi.c (Results 1 – 25 of 156)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# e49d732a 09-Oct-2024 Tim Düsterhus

curl: Prevent a CurlMultiHandle from holding onto a CurlHandle if `add_handle` fails (#16302)

* curl: Prevent a CurlMultiHandle from holding onto a CurlHandle if `add_handle` fails

curl: Prevent a CurlMultiHandle from holding onto a CurlHandle if `add_handle` fails (#16302)

* curl: Prevent a CurlMultiHandle from holding onto a CurlHandle if `add_handle` fails

As a user I expect `curl_multi_add_handle` to not have any effect if it returns
an error and I specifically do not expect that it would be necessary to call
`curl_multi_remove_handle`.

* NEWS

show more ...


# c4ae6458 27-Aug-2024 David Carlier

Follow-up on GH-15548: curl_multi_select.

throws a ValueError on timeout overflow.

close GH-15594


# cc67220e 22-Aug-2024 David Carlier

Fixed GH-15547: curl_multi_wait expects a signed int for timeout.

confusion might come from the previous argument type.
PHP expects ms so we check it fits integer boundaries before the c

Fixed GH-15547: curl_multi_wait expects a signed int for timeout.

confusion might come from the previous argument type.
PHP expects ms so we check it fits integer boundaries before the cast.
raising a warning at least for stable branches.

close GH-15548

show more ...


# 11accb5c 25-Jun-2024 Arnaud Le Blanc

Preferably include from build dir (#13516)

* Include from build dir first

This fixes out of tree builds by ensuring that configure artifacts are included
from the build dir.

Preferably include from build dir (#13516)

* Include from build dir first

This fixes out of tree builds by ensuring that configure artifacts are included
from the build dir.

Before, out of tree builds would preferably include files from the src dir, as
the include path was defined as follows (ignoring includes from ext/ and sapi/) :

-I$(top_builddir)/main
-I$(top_srcdir)
-I$(top_builddir)/TSRM
-I$(top_builddir)/Zend
-I$(top_srcdir)/main
-I$(top_srcdir)/Zend
-I$(top_srcdir)/TSRM
-I$(top_builddir)/

As a result, an out of tree build would include configure artifacts such as
`main/php_config.h` from the src dir.

After this change, the include path is defined as follows:

-I$(top_builddir)/main
-I$(top_builddir)
-I$(top_srcdir)/main
-I$(top_srcdir)
-I$(top_builddir)/TSRM
-I$(top_builddir)/Zend
-I$(top_srcdir)/Zend
-I$(top_srcdir)/TSRM

* Fix extension include path for out of tree builds

* Include config.h with the brackets form

`#include "config.h"` searches in the directory containing the including-file
before any other include path. This can include the wrong config.h when building
out of tree and a config.h exists in the source tree.

Using `#include <config.h>` uses exclusively the include path, and gives
priority to the build dir.

show more ...


# f4dbe239 01-May-2024 Gina Peter Banyard

ext/curl: Refactor cURL to only use FCC (#13291)

* ext/curl: Convert handlers.progress to just be a FCC

* ext/curl: Convert handlers.sshhostkey to just be a FCC

* ext/curl:

ext/curl: Refactor cURL to only use FCC (#13291)

* ext/curl: Convert handlers.progress to just be a FCC

* ext/curl: Convert handlers.sshhostkey to just be a FCC

* ext/curl: Convert handlers.xferinfo to just be a FCC

* ext/curl: Convert handlers.fnmatch to just be a FCC

* ext/curl: Convert handlers.server_push to just be a FCC

* ext/curl: Convert php_curl_write to just use FCC without a function name zval

* ext/curl: Convert php_curl_read to just use FCC without a function name zval

* ext/curl: Remove workaround for old libcurl

* ext/curl: Create macros to codegen the handling of callable options

show more ...


# edb9f65f 31-Jan-2024 Ayesh Karunaratne

ext/curl: Bump minimum Curl version to >= 7.61.0 (#13259)

Bumps the minimum required libcurl version to 7.61.0.

Please also see #4917, which bumped minimum libcurl version to the cu

ext/curl: Bump minimum Curl version to >= 7.61.0 (#13259)

Bumps the minimum required libcurl version to 7.61.0.

Please also see #4917, which bumped minimum libcurl version to the current >= 7.29.0.
This bumps the minimum requirement to Curl 7.61.0 (released 2018 Sept).

Ubuntu, Debian, RHEL, and RHEL derivatives have major and LTS version bumps this year. Following are the
libcurl-dev/libcurl-devel versions available in the oldest supported (LTS or otherwise) in major OSs.

- Debian buster: [7.64](https://packages.debian.org/buster/libcurl4-openssl-dev)
- Ubuntu 20.04: [7.68](https://packages.ubuntu.com/focal/libcurl-dev)
- CentOS/RHEL 7: 7.29
- RHEL 8/Rocky 8/EL 8: 7.61
- Fedora 38: 7.87

RHEL/CentOS 7 reaches EOL mid 2024, so for PHP 8.4 scheduled towards the end of this year, we can safely
bump the minimum libcurl version.

7.61.0 was selected as the new minimum because RHEL and derivatives have libcurl-devel version 7.61. RHEL 8 is
a current and supported RHEL version.

show more ...


# 9814d4a1 15-Jan-2024 divinity76

Fix missing error check in curl_multi_init()

Closes GH-13157.


# dc9adda6 08-Jul-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix return value of _php_server_push_callback in case of failure

It should return CURL_PUSH_DENY by default instead of CURL_PUSH_OK in
the branch I added, just like the check above.

Fix return value of _php_server_push_callback in case of failure

It should return CURL_PUSH_DENY by default instead of CURL_PUSH_OK in
the branch I added, just like the check above.
I forgot to change this after doing tests.

show more ...


# 3ccd8d78 08-Jul-2023 Niels Dossche <7771979+nielsdos@users.noreply.github.com>

Fix crash when an invalid callback function is passed to CURLMOPT_PUSHFUNCTION

Previously this caused a SIGABRT.

Closes GH-11639.


# 1287747a 21-Feb-2023 Max Kellermann

ext: make various internal functions static (#10650)

Namely in:
* ext/date
* ext/libxml
* ext/dba
* ext/curl


# 3641f824 11-Oct-2022 George Peter Banyard

Do not use zend_fcall_info_argn() in ext-curl

Using zend_fcall_info_argn() allocates the ZVALs on the heap and they need to be freed afterwards.
Handle adding them to the FCI manually so

Do not use zend_fcall_info_argn() in ext-curl

Using zend_fcall_info_argn() allocates the ZVALs on the heap and they need to be freed afterwards.
Handle adding them to the FCI manually so to keep them stack allocated.

show more ...


# a01dd9fe 14-Sep-2022 Bob Weinand

Revert "Port all internally used classes to use default_object_handlers"

This reverts commit 94ee4f9834743ca74f6c9653863273277ce6c61a.

The commit was a bit too late to be included i

Revert "Port all internally used classes to use default_object_handlers"

This reverts commit 94ee4f9834743ca74f6c9653863273277ce6c61a.

The commit was a bit too late to be included in PHP 8.2 RC1. Given it's a massive ABI break, we decide to postpone the change to PHP 8.3.

show more ...


Revision tags: php-8.2.0RC1, php-8.1.10, php-8.0.23
# 94ee4f98 24-Aug-2022 Bob Weinand

Port all internally used classes to use default_object_handlers

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


Revision tags: 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
# cec20f61 05-Jun-2022 Pierrick Charron

Expose new constants from libcurl 7.62 to 7.80


Revision tags: 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, 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, php-8.0.12RC1, php-7.4.25RC1
# 0dcbe4a5 29-Sep-2021 George Peter Banyard

Return true for success instead of failure in PHP cURL setopt helpers

This also fixes what was an incorrect return value for an intermediate
failure in _php_curl_multi_setopt() when sett

Return true for success instead of failure in PHP cURL setopt helpers

This also fixes what was an incorrect return value for an intermediate
failure in _php_curl_multi_setopt() when setting CURLMOPT_PUSHFUNCTION

show more ...


# 5ad1b897 29-Sep-2021 George Peter Banyard

Use more specific types instead of int in cURL extension


Revision tags: 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, php-7.4.23, php-8.0.10, php-7.3.30, 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
# 570d9b63 20-Jul-2021 Joe Watkins

Not serializable flag permeation


Revision tags: php-7.4.22RC1, php-8.0.9RC1, php-8.1.0alpha3, php-7.4.21, php-7.3.29
# aff36587 29-Jun-2021 Patrick Allaert

Fixed some spaces used instead of tabs


Revision tags: 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, php-8.0.7RC1, php-7.4.20RC1
# 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
# b63ea104 16-Feb-2021 Nikita Popov

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 prop

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.

show more ...


Revision tags: php-7.4.16RC1
# 5f210620 03-Feb-2021 Máté Kocsis

Generate class entries for a few extensions

Relates to GH-6644


Revision tags: php-8.0.2, php-7.4.15, php-7.3.27, php-8.0.2RC1, php-7.4.15RC2, php-7.4.15RC1, php-8.0.1, php-7.4.14
# 5c21d39d 04-Jan-2021 Nikita Popov

Remove method member from php_curl_callback

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

Remove method member from php_curl_callback

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.

show more ...


# ce2e1076 04-Jan-2021 Nikita Popov

Don't allocate php_curl_handlers separately

Always allocated together with php_curl... no point in that.


# cc11130b 04-Jan-2021 Nikita Popov

Don't allocate php_curlm_handlers separately

This is always allocated together with the php_curlm structure,
there's no point in making it a separate allocation.


# 66ffa1c9 04-Jan-2021 Nikita Popov

Use single typedef for curl callbacks

There's no value in making these separate types.


1234567