m6w6/ext-http
3 years agorelease 2.6.0RC1 RELEASE_2_6_0_RC1
Michael Wallner [Tue, 4 Oct 2016 15:43:09 +0000 (17:43 +0200)] 
release 2.6.0RC1

+ Added http\Client\Curl\User interface for userland event loops
+ Added http\Url::IGNORE_ERRORS, http\Url::SILENT_ERRORS and
http\Url::STDFLAGS
+ Added http\Client::setDebug(callable $debug)
+ Added http\Client\Curl\FEATURES constants and namespace
+ Added http\Client\Curl\VERSIONS constants and namespace
+ Added share_cookies and share_ssl (libcurl >= 7.23.0) options to
http\Client::configure()
+ http\Client uses curl_share handles to properly share cookies and
SSL/TLS sessions between requests
+ Improved configure checks for default CA bundles
+ Improved negotiation precision
* Fixed regression introduced by http\Params::PARSE_RFC5987: negotiation
using the params parser would receive param keys without the trailing
asterisk, stripped by http\Params::PARSE_RFC5987.
* Fix gh-issue #50: http\Client::dequeue() within
http\Client::setDebug() causes segfault (Mike, Maik Wagner)
* Fix gh-issue #47: http\Url: Null pointer deref in sanitize_value()
(Mike, @rc0r)
* Fix gh-issue #45: HTTP/2 response message parsing broken with libcurl
>= 7.49.1 (Mike)
* Fix gh-issue #43: Joining query with empty original variable in query
(Mike, Sander Backus)
* Fix gh-issue #42: fatal error when using punycode in URLs (Mike,
Sebastian Thielen)
* Fix gh-issue #41: Use curl_version_info_data.features when
initializing options (Mike)
* Fix gh-issue #40: determinde the SSL backend used by curl at runtime
(Mike, @rcanavan)
* Fix gh-issue #39: Notice: http\Client::enqueue(): Could not set option
proxy_service_name (Mike, @rcanavan)
* Fix gh-issue #38: Persistent curl handles: error code not properly
reset (Mike, @afflerbach)
* Fix gh-issue #36: Unexpected cookies sent if persistent_handle_id is
used (Mike, @rcanavan, @afflerbach)
* Fix gh-issue #34: allow setting multiple headers with the same name
(Mike, @rcanavan)
* Fix gh-issue #33: allow setting prodyhost request option to NULL
(Mike, @rcanavan)
* Fix gh-issue #31: add/improve configure checks for default CA
bundle/path (Mike, @rcanavan)

Changes from beta1:
* Fixed PHP-5.3 compatibility
* Fixed recursive calls to the event loop dispatcher

Changes from beta2:
* Fix bug #73055: crash in http\QueryString (Mike, @rc0r)
(CVE-2016-7398)
* Fix bug #73185: Buffer overflow in HTTP parse_hostinfo() (Mike, @rc0r)
* Fix HTTP/2 version parser for older libcurl versions (Mike)

3 years agofix performance regression with event loop
Michael Wallner [Tue, 4 Oct 2016 14:01:03 +0000 (16:01 +0200)] 
fix performance regression with event loop

3 years agoprepare 2.6.0RC1
Michael Wallner [Tue, 4 Oct 2016 08:23:40 +0000 (10:23 +0200)] 
prepare 2.6.0RC1

3 years agoupdate travis-pecl
Michael Wallner [Tue, 4 Oct 2016 08:18:11 +0000 (10:18 +0200)] 
update travis-pecl

3 years agodocs
Michael Wallner [Tue, 4 Oct 2016 08:18:06 +0000 (10:18 +0200)] 
docs

3 years agofix PHP-73185
Michael Wallner [Tue, 4 Oct 2016 08:13:35 +0000 (10:13 +0200)] 
fix PHP-73185

3 years agocoverity fix
Michael Wallner [Wed, 14 Sep 2016 10:55:43 +0000 (12:55 +0200)] 
coverity fix

3 years agocoverity fix
Michael Wallner [Wed, 14 Sep 2016 09:39:25 +0000 (11:39 +0200)] 
coverity fix

3 years agocoverity fixes
Michael Wallner [Wed, 14 Sep 2016 07:39:59 +0000 (09:39 +0200)] 
coverity fixes

3 years agonew curlinfo
Michael Wallner [Wed, 14 Sep 2016 06:05:22 +0000 (08:05 +0200)] 
new curlinfo

3 years agoadd missing test
Michael Wallner [Mon, 12 Sep 2016 06:53:59 +0000 (08:53 +0200)] 
add missing test

3 years agofix bug #73055
Michael Wallner [Mon, 12 Sep 2016 06:24:54 +0000 (08:24 +0200)] 
fix bug #73055

3 years agofix bug title
Michael Wallner [Mon, 12 Sep 2016 06:24:37 +0000 (08:24 +0200)] 
fix bug title

3 years agofix bug title
Michael Wallner [Mon, 12 Sep 2016 06:23:50 +0000 (08:23 +0200)] 
fix bug title

3 years agoattempt to fix that HTTP/2 nonsense
Michael Wallner [Wed, 7 Sep 2016 12:55:24 +0000 (14:55 +0200)] 
attempt to fix that HTTP/2 nonsense

3 years agoadministrativa RELEASE_2_6_0_BETA2
Michael Wallner [Wed, 7 Sep 2016 05:55:15 +0000 (07:55 +0200)] 
administrativa

3 years ago5.3 compatibility
Michael Wallner [Tue, 6 Sep 2016 14:25:39 +0000 (16:25 +0200)] 
5.3 compatibility

3 years agoavoid recursive calls to the event loop dispatcher
Michael Wallner [Tue, 23 Aug 2016 11:37:53 +0000 (13:37 +0200)] 
avoid recursive calls to the event loop dispatcher

3 years agoavoid recursive calls to the event loop dispatcher
Michael Wallner [Tue, 23 Aug 2016 09:50:08 +0000 (11:50 +0200)] 
avoid recursive calls to the event loop dispatcher

3 years agoprepare 2.6.0beta1 RELEASE_2_6_0_BETA1
Michael Wallner [Mon, 22 Aug 2016 13:50:10 +0000 (15:50 +0200)] 
prepare 2.6.0beta1

3 years agoupdate travis/pecl
Michael Wallner [Mon, 22 Aug 2016 13:03:46 +0000 (15:03 +0200)] 
update travis/pecl

3 years agofix test
Michael Wallner [Mon, 22 Aug 2016 10:23:03 +0000 (12:23 +0200)] 
fix test

3 years agoadd tests
Michael Wallner [Mon, 22 Aug 2016 09:55:45 +0000 (11:55 +0200)] 
add tests

3 years agorestore append functionality of http\Message::addHeaders
Michael Wallner [Wed, 17 Aug 2016 08:57:01 +0000 (10:57 +0200)] 
restore append functionality of http\Message::addHeaders

3 years agoerror control for http\Url
Michael Wallner [Wed, 17 Aug 2016 08:26:10 +0000 (10:26 +0200)] 
error control for http\Url

3 years agoFix #50
Michael Wallner [Wed, 10 Aug 2016 13:14:41 +0000 (15:14 +0200)] 
Fix #50

Disallow dequeuing requests while executing callbacks, because libcurl
still expects the handle to be attached when returning from the
callback.

4 years agofix #46 (HTTP/2 response message parsing broken with libcurl >= 7.49.1)
Michael Wallner [Wed, 27 Jul 2016 12:47:05 +0000 (14:47 +0200)] 
fix #46 (HTTP/2 response message parsing broken with libcurl >= 7.49.1)

4 years agoproper fix for #47
Michael Wallner [Wed, 13 Jul 2016 11:14:43 +0000 (13:14 +0200)] 
proper fix for #47

4 years agofix #47
Michael Wallner [Wed, 13 Jul 2016 08:05:39 +0000 (10:05 +0200)] 
fix #47

4 years agoAdd http\Client::setDebug(callable $debug) and constants
Michael Wallner [Tue, 21 Jun 2016 06:50:14 +0000 (08:50 +0200)] 
Add http\Client::setDebug(callable $debug) and constants

Returns:
 * http\Client, self

Params:
 * callable $debug as
   function(http\Client $c, http\Client\Request $r, int $type, string $data)

Added constants (used for the $type bitmask parameter of the callback):
 * http\Client::DEBUG_INFO (informational text)
 * http\Client::DEBUG_IN (received data)
 * http\Client::DEBUG_OUT (sent data)
 * http\Client::DEBUG_HEADER (headers)
 * http\Client::DEBUG_BODY (body)
 * http\Client::DEBUG_SSL (SSL data)

E.g. incoming headers would have the bitmask
(http\Client::DEBUG_IN|http\Client::DEBUG_HEADER) set in the $type
parameter.

Messages of type http\Client::DEBUG_INFO contain human readable text
like "Proxy CONNECT connection closed\n".

4 years agoreturn count of still unfinished requests from run callback
Michael Wallner [Wed, 15 Jun 2016 14:08:39 +0000 (16:08 +0200)] 
return count of still unfinished requests from run callback

4 years agoMFH header fixes
Michael Wallner [Wed, 15 Jun 2016 07:20:28 +0000 (09:20 +0200)] 
MFH header fixes

4 years agofix undefined symbol ZEND_ASSERT
Michael Wallner [Mon, 13 Jun 2016 07:44:25 +0000 (09:44 +0200)] 
fix undefined symbol ZEND_ASSERT

4 years agouser event loop support for the curl client
Michael Wallner [Mon, 13 Jun 2016 05:19:23 +0000 (07:19 +0200)] 
user event loop support for the curl client

4 years agomodularize curl event handler
Michael Wallner [Tue, 7 Jun 2016 09:59:39 +0000 (11:59 +0200)] 
modularize curl event handler

4 years agofix tests
Michael Wallner [Mon, 6 Jun 2016 16:21:12 +0000 (18:21 +0200)] 
fix tests

4 years agoremember qs args without value and with empty value
Michael Wallner [Mon, 6 Jun 2016 16:20:18 +0000 (18:20 +0200)] 
remember qs args without value and with empty value

4 years agoimprove negotiation precision
Michael Wallner [Mon, 6 Jun 2016 07:20:40 +0000 (09:20 +0200)] 
improve negotiation precision

4 years agofix regression introduced with http\Params::PARSE_RFC5987
Michael Wallner [Mon, 6 Jun 2016 07:18:46 +0000 (09:18 +0200)] 
fix regression introduced with http\Params::PARSE_RFC5987

negotiation using the params parser would receive param keys without the
trailing asterisk, stripped by http\Params::PARSE_RFC5987

4 years agoAllow IDNA/punycode hosts
Michael Wallner [Wed, 1 Jun 2016 07:28:08 +0000 (09:28 +0200)] 
Allow IDNA/punycode hosts

Closes #42

4 years agowe need libcurl 7.21.5 for UNKNOWN_OPTION and 7.23 for ssl session
Michael Wallner [Tue, 24 May 2016 18:10:19 +0000 (20:10 +0200)] 
we need libcurl 7.21.5 for UNKNOWN_OPTION and 7.23 for ssl session
sharing

4 years agofix error messages of curlm_set_option
Michael Wallner [Tue, 24 May 2016 17:02:52 +0000 (19:02 +0200)] 
fix error messages of curlm_set_option

4 years agoadd Client::configure option to disable the share
Michael Wallner [Tue, 24 May 2016 14:43:11 +0000 (16:43 +0200)] 
add Client::configure option to disable the share

Provide http\Client::configure() options (share_cookies, share_ssl) to
en/disable sharing of cookies and ssl session info through CURLSH.

4 years agowrap more options behind feature checks
Michael Wallner [Tue, 24 May 2016 09:21:59 +0000 (11:21 +0200)] 
wrap more options behind feature checks

4 years agoavoid 'error: Success' condition
Michael Wallner [Mon, 23 May 2016 15:49:58 +0000 (17:49 +0200)] 
avoid 'error: Success' condition

4 years agofix link
Michael Wallner [Mon, 23 May 2016 15:49:24 +0000 (17:49 +0200)] 
fix link

4 years agofix tests for libcurl >= 7.48
Michael Wallner [Mon, 23 May 2016 15:49:04 +0000 (17:49 +0200)] 
fix tests for libcurl >= 7.48

4 years agoreduce test
Michael Wallner [Mon, 23 May 2016 15:48:45 +0000 (17:48 +0200)] 
reduce test

4 years agosane cookie handling for the client
Michael Wallner [Mon, 23 May 2016 15:48:15 +0000 (17:48 +0200)] 
sane cookie handling for the client

4 years agomark XFAIL for now
Michael Wallner [Wed, 27 Apr 2016 07:37:35 +0000 (09:37 +0200)] 
mark XFAIL for now

4 years agofix typos
Michael Wallner [Wed, 27 Apr 2016 07:23:01 +0000 (09:23 +0200)] 
fix typos

4 years agofix issue #39
Michael Wallner [Wed, 27 Apr 2016 06:53:59 +0000 (08:53 +0200)] 
fix issue #39

4 years agoallow setting proxyhost request option to NULL
Michael Wallner [Wed, 27 Apr 2016 06:33:43 +0000 (08:33 +0200)] 
allow setting proxyhost request option to NULL

This allows to override any environment setting.
Closes issue #33

4 years agocurl version and feature constants
Michael Wallner [Tue, 26 Apr 2016 14:12:01 +0000 (16:12 +0200)] 
curl version and feature constants

4 years agolet the client share cookies/tls sessions
Michael Wallner [Tue, 26 Apr 2016 12:04:41 +0000 (14:04 +0200)] 
let the client share cookies/tls sessions

A curl client handle now contains a curl_multi and a curl_share handle.

Test client021.phpt still fails, so somethings still at odds here.

4 years agoreset errorcode
Michael Wallner [Wed, 13 Apr 2016 13:07:14 +0000 (15:07 +0200)] 
reset errorcode

fixes github issue #38

4 years agoadd/improve configure checks for default CA bundle/path
Michael Wallner [Fri, 1 Apr 2016 13:13:06 +0000 (15:13 +0200)] 
add/improve configure checks for default CA bundle/path

See github issue #31

4 years agothis gonna be 2.6
Michael Wallner [Thu, 31 Mar 2016 13:15:46 +0000 (15:15 +0200)] 
this gonna be 2.6

4 years agoallow setting multiple headers with the same name
Michael Wallner [Thu, 31 Mar 2016 13:12:19 +0000 (15:12 +0200)] 
allow setting multiple headers with the same name

Only http\Message::addHeader will transform the headers into a single
one where the values will be concatenated by comma.

Closes github issue #34

4 years agoskip online test v2.5.x
Remi Collet [Sat, 26 Mar 2016 10:39:09 +0000 (11:39 +0100)] 
skip online test

4 years agoback to dev [ci skip]
Michael Wallner [Wed, 9 Mar 2016 13:45:47 +0000 (14:45 +0100)] 
back to dev [ci skip]

4 years agoprepare 2.5.6 RELEASE_2_5_6
Michael Wallner [Wed, 9 Mar 2016 09:30:26 +0000 (10:30 +0100)] 
prepare 2.5.6

4 years agoadd CURL_HTTP_VERSION_2TLS
Michael Wallner [Wed, 9 Mar 2016 09:25:34 +0000 (10:25 +0100)] 
add CURL_HTTP_VERSION_2TLS

4 years agoPossible null pointer dereference in php_http_url_mod() fixed.
rc0r [Thu, 3 Mar 2016 14:05:33 +0000 (15:05 +0100)] 
Possible null pointer dereference in php_http_url_mod() fixed.

4 years agofix bug #71719 (Buffer overflow in HTTP url parsing functions)
Michael Wallner [Wed, 9 Mar 2016 08:21:28 +0000 (09:21 +0100)] 
fix bug #71719 (Buffer overflow in HTTP url parsing functions)

The parser's offset was not reset when we softfail in scheme
parsing and continue to parse a path.
Thanks to hlt99 at blinkenshell dot org for the report.

4 years agoMerge pull request #22 from Jan-E/v2.5.x
Michael Wallner [Fri, 22 Jan 2016 13:03:07 +0000 (14:03 +0100)] 
Merge pull request #22 from Jan-E/v2.5.x

Fix PHP5 config.w32

4 years agoFix PHP5 config.w32 22/head
Jan-E [Fri, 22 Jan 2016 12:36:48 +0000 (13:36 +0100)] 
Fix PHP5 config.w32

4 years agoSSL_VERIFYSTATUS is only availbe for nss, gtls and openssl
Michael Wallner [Thu, 21 Jan 2016 16:30:55 +0000 (17:30 +0100)] 
SSL_VERIFYSTATUS is only availbe for nss, gtls and openssl

fixes issue #20

4 years agoupdate travis/pecl
Michael Wallner [Tue, 19 Jan 2016 08:53:37 +0000 (09:53 +0100)] 
update travis/pecl

4 years agofix travis
Michael Wallner [Mon, 7 Dec 2015 10:17:38 +0000 (11:17 +0100)] 
fix travis

4 years agoback to dev
Michael Wallner [Mon, 7 Dec 2015 10:16:36 +0000 (11:16 +0100)] 
back to dev

4 years agorelease 2.5.5 RELEASE_2_5_5
Michael Wallner [Mon, 7 Dec 2015 08:21:48 +0000 (09:21 +0100)] 
release 2.5.5

4 years agofix travis badge
Michael Wallner [Thu, 3 Dec 2015 17:09:49 +0000 (18:09 +0100)] 
fix travis badge

4 years agofix header target
Michael Wallner [Thu, 3 Dec 2015 09:27:36 +0000 (10:27 +0100)] 
fix header target

4 years agoFix gh-issue #16
Michael Wallner [Thu, 3 Dec 2015 08:50:07 +0000 (09:50 +0100)] 
Fix gh-issue #16

Switching to CURLOPT_CUSTOMREQUESTS for all methods made us lose the
default setting of curl's "Content-Length: 0" on empty POST/PUT/PATCH
requests.

4 years agofllowup on standards
Michael Wallner [Thu, 3 Dec 2015 07:06:43 +0000 (08:06 +0100)] 
fllowup on standards

4 years agogitter
Michael Wallner [Mon, 28 Sep 2015 20:54:10 +0000 (22:54 +0200)] 
gitter

4 years agoattempt to implement some personal standards
Michael Wallner [Mon, 28 Sep 2015 14:08:14 +0000 (16:08 +0200)] 
attempt to implement some personal standards

4 years agorelease 2.5.3 RELEASE_2_5_3
Michael Wallner [Fri, 25 Sep 2015 12:10:28 +0000 (14:10 +0200)] 
release 2.5.3

4 years agoadd missing test
Michael Wallner [Fri, 25 Sep 2015 11:27:50 +0000 (13:27 +0200)] 
add missing test

4 years agoadministrativa; [ci ignore]
Michael Wallner [Fri, 25 Sep 2015 07:32:16 +0000 (09:32 +0200)] 
administrativa; [ci ignore]

4 years agobe more strict on hostname layout
Michael Wallner [Fri, 25 Sep 2015 07:09:42 +0000 (09:09 +0200)] 
be more strict on hostname layout

4 years agofail on parse error
Michael Wallner [Fri, 25 Sep 2015 07:09:09 +0000 (09:09 +0200)] 
fail on parse error

4 years agogh: fix issue #12;
Michael Wallner [Fri, 25 Sep 2015 06:36:22 +0000 (08:36 +0200)] 
gh: fix issue #12;

Trying to set an invalid URL on an http\Message instance might cause a
crash.

4 years agorelease 2.5.2 RELEASE_2_5_2
Michael Wallner [Thu, 10 Sep 2015 05:30:11 +0000 (07:30 +0200)] 
release 2.5.2

4 years agofix test
Michael Wallner [Wed, 9 Sep 2015 15:49:49 +0000 (17:49 +0200)] 
fix test

4 years agoprepare 2.5.2
Michael Wallner [Wed, 9 Sep 2015 14:29:57 +0000 (16:29 +0200)] 
prepare 2.5.2

4 years agofixed HEAD regression always warning about a partial file transfer
Michael Wallner [Tue, 8 Sep 2015 08:13:29 +0000 (10:13 +0200)] 
fixed HEAD regression always warning about a partial file transfer

4 years agodon't rely on external services (tm)
Michael Wallner [Mon, 7 Sep 2015 11:42:25 +0000 (13:42 +0200)] 
don't rely on external services (tm)

4 years agoadd "path_as_is" request option (libcurl >=7.42)
Michael Wallner [Mon, 7 Sep 2015 09:32:40 +0000 (11:32 +0200)] 
add "path_as_is" request option (libcurl >=7.42)

4 years agoadministrativa [ci skip]
Michael Wallner [Tue, 1 Sep 2015 08:13:14 +0000 (10:13 +0200)] 
administrativa [ci skip]

4 years agoupdate travis badge [ci skip]
Michael Wallner [Tue, 1 Sep 2015 07:37:41 +0000 (09:37 +0200)] 
update travis badge [ci skip]

4 years agoupdate travis/pecl
Michael Wallner [Tue, 1 Sep 2015 07:32:08 +0000 (09:32 +0200)] 
update travis/pecl

5 years agoupdate doc links
Michael Wallner [Thu, 6 Aug 2015 08:43:08 +0000 (10:43 +0200)] 
update doc links

5 years agoFix README
Michael Wallner [Mon, 3 Aug 2015 15:37:32 +0000 (17:37 +0200)] 
Fix README

Github does not do definition lists

[ci skip]

5 years agoadd README
Michael Wallner [Mon, 3 Aug 2015 14:44:26 +0000 (16:44 +0200)] 
add README

5 years agofix for travis
Michael Wallner [Mon, 3 Aug 2015 13:29:26 +0000 (15:29 +0200)] 
fix for travis

5 years agotimeout on stdin
Michael Wallner [Mon, 3 Aug 2015 11:48:28 +0000 (13:48 +0200)] 
timeout on stdin

5 years agoadd more logging
Michael Wallner [Mon, 3 Aug 2015 10:59:57 +0000 (12:59 +0200)] 
add more logging

5 years agouse a longer timeout
Michael Wallner [Mon, 3 Aug 2015 10:33:51 +0000 (12:33 +0200)] 
use a longer timeout