m6w6/ext-http
2 years agoprepare release v3.2.0RC1 RELEASE_3_2_0_RC1pl1
Michael Wallner [Mon, 9 Apr 2018 10:35:26 +0000 (12:35 +0200)] 
prepare release v3.2.0RC1

* PHP-7.2 compatibility
* Fixed gh-issue #73: build fails with libidn and libidn2
+ Added brotli compression support
+ Implemented gh-issue #58: Notify observers before any request is built

2 years agoprepare release v3.2.0RC1 RELEASE_3_2_0_RC1
Michael Wallner [Mon, 9 Apr 2018 10:33:01 +0000 (12:33 +0200)] 
prepare release v3.2.0RC1

* PHP-7.2 compatibility
* Fixed gh-issue #73: build fails with libidn and libidn2
+ Added brotli compression support
+ Implemented gh-issue #58: Notify observers before any request is built

2 years agosplit utf8 ranges and single chars
Michael Wallner [Tue, 6 Mar 2018 12:50:04 +0000 (13:50 +0100)] 
split utf8 ranges and single chars

2 years agouse binary search on utf8_ranges
Michael Wallner [Tue, 6 Mar 2018 11:45:45 +0000 (12:45 +0100)] 
use binary search on utf8_ranges

2 years agoswitching on bits of just the start char won't work ;)
Michael Wallner [Mon, 5 Mar 2018 13:30:31 +0000 (14:30 +0100)] 
switching on bits of just the start char won't work ;)

2 years agodelete gcov files before cache
Michael Wallner [Mon, 5 Mar 2018 13:29:23 +0000 (14:29 +0100)] 
delete gcov files before cache

2 years agouse u_isalnum if available
Michael Wallner [Mon, 5 Mar 2018 10:52:49 +0000 (11:52 +0100)] 
use u_isalnum if available

2 years agotwo-split switch
Michael Wallner [Mon, 5 Mar 2018 08:11:20 +0000 (09:11 +0100)] 
two-split switch

2 years agounrolled isualpha
Michael Wallner [Sat, 3 Mar 2018 14:01:14 +0000 (15:01 +0100)] 
unrolled isualpha

2 years agochange build directory
Michael Wallner [Fri, 2 Mar 2018 20:29:18 +0000 (21:29 +0100)] 
change build directory

2 years agotraying to cache stuff on travis
Michael Wallner [Fri, 2 Mar 2018 14:44:21 +0000 (15:44 +0100)] 
traying to cache stuff on travis

2 years agofix dangling else swallowing the return statement with clang
Michael Wallner [Fri, 2 Mar 2018 12:42:31 +0000 (13:42 +0100)] 
fix dangling else swallowing the return statement with clang

2 years agofix segfault if filter could not be located
Michael Wallner [Fri, 2 Mar 2018 12:35:52 +0000 (13:35 +0100)] 
fix segfault if filter could not be located

2 years agofix test
Michael Wallner [Fri, 2 Mar 2018 11:07:49 +0000 (12:07 +0100)] 
fix test

2 years agofix tests
Michael Wallner [Fri, 2 Mar 2018 10:13:01 +0000 (11:13 +0100)] 
fix tests

2 years agonew build matrix
Michael Wallner [Fri, 2 Mar 2018 09:56:57 +0000 (10:56 +0100)] 
new build matrix

2 years agoimplement #58
Michael Wallner [Tue, 27 Feb 2018 16:32:45 +0000 (17:32 +0100)] 
implement #58

Client observers are now informed with an "prepare" event.
Note, though, that http\Client::getProgressInfo() does not return
the progress state received for this event.

2 years agofix build without brotli, take 2
Michael Wallner [Tue, 27 Feb 2018 15:18:21 +0000 (16:18 +0100)] 
fix build without brotli, take 2

2 years agofix build without brotli
Michael Wallner [Tue, 27 Feb 2018 14:29:13 +0000 (15:29 +0100)] 
fix build without brotli

2 years agoinclude brotli in the coverage build
Michael Wallner [Tue, 27 Feb 2018 14:22:27 +0000 (15:22 +0100)] 
include brotli in the coverage build

2 years agoset AHVE_LIBBROTLI to false if checks fail
Michael Wallner [Tue, 27 Feb 2018 14:19:59 +0000 (15:19 +0100)] 
set AHVE_LIBBROTLI to false if checks fail

2 years agotypo
Michael Wallner [Tue, 27 Feb 2018 10:28:59 +0000 (11:28 +0100)] 
typo

2 years agoPOS: brotli
Michael Wallner [Tue, 27 Feb 2018 10:04:52 +0000 (11:04 +0100)] 
POS: brotli

2 years agoconfigure: fix libevent version check
Michael Wallner [Tue, 27 Feb 2018 10:04:19 +0000 (11:04 +0100)] 
configure: fix libevent version check

2 years agoconfigure: fix version check with empty version
Michael Wallner [Tue, 27 Feb 2018 10:03:59 +0000 (11:03 +0100)] 
configure: fix version check with empty version

2 years agodon't fail on cppcheck, yet
Michael Wallner [Tue, 27 Feb 2018 07:50:35 +0000 (08:50 +0100)] 
don't fail on cppcheck, yet

2 years agoexport PKG_CONFIG_PATH, else pkg-config doesn't pick it up
Michael Wallner [Tue, 27 Feb 2018 07:27:26 +0000 (08:27 +0100)] 
export PKG_CONFIG_PATH, else pkg-config doesn't pick it up

2 years agoprepare travis
Michael Wallner [Mon, 26 Feb 2018 16:54:02 +0000 (17:54 +0100)] 
prepare travis

2 years agogitignore
Michael Wallner [Mon, 26 Feb 2018 16:35:04 +0000 (17:35 +0100)] 
gitignore

2 years agoadd missing files
Michael Wallner [Mon, 26 Feb 2018 16:34:05 +0000 (17:34 +0100)] 
add missing files

2 years agoadd brotli filter and tests
Michael Wallner [Mon, 26 Feb 2018 16:25:46 +0000 (17:25 +0100)] 
add brotli filter and tests

2 years agoignore new headers
Michael Wallner [Mon, 26 Feb 2018 12:40:05 +0000 (13:40 +0100)] 
ignore new headers

2 years agofix warning
Michael Wallner [Mon, 26 Feb 2018 12:39:49 +0000 (13:39 +0100)] 
fix warning

2 years agooptimize
Michael Wallner [Mon, 26 Feb 2018 12:39:32 +0000 (13:39 +0100)] 
optimize

2 years agoadd brotli encoding
Michael Wallner [Mon, 26 Feb 2018 07:49:03 +0000 (08:49 +0100)] 
add brotli encoding

2 years agoupdate curl info
Michael Wallner [Fri, 23 Feb 2018 07:18:44 +0000 (08:18 +0100)] 
update curl info

2 years agoupdate utf8 table
Michael Wallner [Fri, 23 Feb 2018 07:12:28 +0000 (08:12 +0100)] 
update utf8 table

2 years agofix cppcheck
Michael Wallner [Fri, 23 Feb 2018 06:58:11 +0000 (07:58 +0100)] 
fix cppcheck

2 years agoperformance improvements
Michael Wallner [Thu, 22 Feb 2018 16:35:13 +0000 (17:35 +0100)] 
performance improvements

2 years agofix test
Michael Wallner [Tue, 20 Feb 2018 14:02:59 +0000 (15:02 +0100)] 
fix test

2 years agotest against master
Michael Wallner [Tue, 20 Feb 2018 13:28:19 +0000 (14:28 +0100)] 
test against master

2 years agofix leak
Michael Wallner [Tue, 20 Feb 2018 12:43:02 +0000 (13:43 +0100)] 
fix leak

2 years agofix macro
Michael Wallner [Thu, 8 Feb 2018 15:59:50 +0000 (16:59 +0100)] 
fix macro

2 years agoupdate test versions
Michael Wallner [Thu, 8 Feb 2018 15:52:45 +0000 (16:52 +0100)] 
update test versions

2 years agocompat with master
Michael Wallner [Thu, 8 Feb 2018 15:48:04 +0000 (16:48 +0100)] 
compat with master

2 years agorefactor for 7.2
Michael Wallner [Wed, 7 Feb 2018 11:45:52 +0000 (12:45 +0100)] 
refactor for 7.2

2 years agofix #73
Michael Wallner [Thu, 1 Feb 2018 13:36:09 +0000 (14:36 +0100)] 
fix #73

include idna.h prior idn2.h to ensure INDA_H is defined and libidn2 does
not try to define the idna compat layer

2 years ago--crashes; ++leaks;
Michael Wallner [Wed, 20 Sep 2017 14:25:41 +0000 (16:25 +0200)] 
--crashes; ++leaks;

3 years agoMerge branch 'v3.1.x'
Michael Wallner [Mon, 3 Jul 2017 07:59:08 +0000 (09:59 +0200)] 
Merge branch 'v3.1.x'

3 years agoHandle NULL strings gracefully during constant registration
Michael Heimpold [Sun, 4 Jun 2017 13:00:33 +0000 (15:00 +0200)] 
Handle NULL strings gracefully during constant registration

When libcurl is compiled not using e.g. libz or SSL, then a call to
curl_version_info could return NULL in the corresponding fields of
curl_version_info_data.

Passing such NULL pointers down to REGISTER_NS_STRING_CONSTANT results
in a segfault during php startup, so let's check for this special case
and register a NULL constant in this case.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
3 years agofix #68
Michael Wallner [Tue, 4 Apr 2017 19:05:21 +0000 (21:05 +0200)] 
fix #68

3 years agofix #66 & fix #67
Michael Wallner [Tue, 4 Apr 2017 18:48:42 +0000 (20:48 +0200)] 
fix #66 & fix #67

3 years agoclean up test
Michael Wallner [Tue, 4 Apr 2017 11:38:11 +0000 (13:38 +0200)] 
clean up test

3 years agoFixed issue #63
Michael Wallner [Tue, 4 Apr 2017 11:35:18 +0000 (13:35 +0200)] 
Fixed issue #63

Use urldecode instead of raw_urldecode in http_params

3 years agocurl: fix gnutls include
Michael Wallner [Tue, 4 Apr 2017 09:53:08 +0000 (11:53 +0200)] 
curl: fix gnutls include

3 years agoadministrativa
Michael Wallner [Tue, 4 Apr 2017 07:21:56 +0000 (09:21 +0200)] 
administrativa

3 years agoFix issue #65
Michael Wallner [Tue, 4 Apr 2017 07:09:20 +0000 (09:09 +0200)] 
Fix issue #65

http\Client::enqueue(): Could not enqueue request: The easy handle
is already added to a multi handle (@rcanavan, Mike)

3 years ago3.1.1dev
Michael Wallner [Tue, 4 Apr 2017 07:09:11 +0000 (09:09 +0200)] 
3.1.1dev

3 years agofix querystring object conversion on master
Michael Wallner [Tue, 24 Jan 2017 07:38:58 +0000 (08:38 +0100)] 
fix querystring object conversion on master

3 years agoUse ntohl instead of doing LE conversion yourself
Ondřej Surý [Mon, 23 Jan 2017 09:39:48 +0000 (10:39 +0100)] 
Use ntohl instead of doing LE conversion yourself

3 years agoconfigure: fix -Werror builds
Michael Wallner [Tue, 13 Dec 2016 09:10:09 +0000 (10:10 +0100)] 
configure: fix -Werror builds

3 years agofix build
Remi Collet [Mon, 12 Dec 2016 12:49:33 +0000 (13:49 +0100)] 
fix build

3 years agoMerge pull request #70 from mhei/fix_register_null_strings
Michael Wallner [Wed, 7 Jun 2017 06:07:32 +0000 (08:07 +0200)] 
Merge pull request #70 from mhei/fix_register_null_strings

Handle NULL strings gracefully during constant registration

3 years agoHandle NULL strings gracefully during constant registration 70/head
Michael Heimpold [Sun, 4 Jun 2017 13:00:33 +0000 (15:00 +0200)] 
Handle NULL strings gracefully during constant registration

When libcurl is compiled not using e.g. libz or SSL, then a call to
curl_version_info could return NULL in the corresponding fields of
curl_version_info_data.

Passing such NULL pointers down to REGISTER_NS_STRING_CONSTANT results
in a segfault during php startup, so let's check for this special case
and register a NULL constant in this case.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
3 years agofix #68
Michael Wallner [Tue, 4 Apr 2017 19:05:21 +0000 (21:05 +0200)] 
fix #68

3 years agofix #66 & fix #67
Michael Wallner [Tue, 4 Apr 2017 18:48:42 +0000 (20:48 +0200)] 
fix #66 & fix #67

3 years agoclean up test
Michael Wallner [Tue, 4 Apr 2017 11:38:11 +0000 (13:38 +0200)] 
clean up test

3 years agoFixed issue #63
Michael Wallner [Tue, 4 Apr 2017 11:35:18 +0000 (13:35 +0200)] 
Fixed issue #63

Use urldecode instead of raw_urldecode in http_params

3 years agocurl: fix gnutls include
Michael Wallner [Tue, 4 Apr 2017 09:53:08 +0000 (11:53 +0200)] 
curl: fix gnutls include

3 years agoadministrativa
Michael Wallner [Tue, 4 Apr 2017 07:21:56 +0000 (09:21 +0200)] 
administrativa

3 years agoFix issue #65
Michael Wallner [Tue, 4 Apr 2017 07:09:20 +0000 (09:09 +0200)] 
Fix issue #65

http\Client::enqueue(): Could not enqueue request: The easy handle
is already added to a multi handle (@rcanavan, Mike)

3 years ago3.1.1dev
Michael Wallner [Tue, 4 Apr 2017 07:09:11 +0000 (09:09 +0200)] 
3.1.1dev

3 years agoTODO: crash--; leaks++;
Michael Wallner [Tue, 31 Jan 2017 14:13:19 +0000 (15:13 +0100)] 
TODO: crash--; leaks++;

3 years agoavoid COW violation
Michael Wallner [Mon, 30 Jan 2017 15:16:26 +0000 (16:16 +0100)] 
avoid COW violation

3 years agofix opcache weirdance
Michael Wallner [Mon, 30 Jan 2017 15:16:04 +0000 (16:16 +0100)] 
fix opcache weirdance

3 years agoavoid COW violation
Michael Wallner [Mon, 30 Jan 2017 11:41:03 +0000 (12:41 +0100)] 
avoid COW violation

3 years agoderef
Michael Wallner [Mon, 30 Jan 2017 11:40:36 +0000 (12:40 +0100)] 
deref

3 years agoseparate input hashtables to avoid string memleaks
Michael Wallner [Tue, 24 Jan 2017 10:54:57 +0000 (11:54 +0100)] 
separate input hashtables to avoid string memleaks

3 years agofix querystring object conversion on master
Michael Wallner [Tue, 24 Jan 2017 07:38:58 +0000 (08:38 +0100)] 
fix querystring object conversion on master

3 years agoUse ntohl instead of doing LE conversion yourself 60/head
Ondřej Surý [Mon, 23 Jan 2017 09:39:48 +0000 (10:39 +0100)] 
Use ntohl instead of doing LE conversion yourself

3 years agoconfigure: fix -Werror builds
Michael Wallner [Tue, 13 Dec 2016 09:10:09 +0000 (10:10 +0100)] 
configure: fix -Werror builds

3 years agofix build
Remi Collet [Mon, 12 Dec 2016 12:49:33 +0000 (13:49 +0100)] 
fix build

3 years agorelease 3.1.0 RELEASE_3_1_0
Michael Wallner [Mon, 12 Dec 2016 09:02:56 +0000 (10:02 +0100)] 
release 3.1.0

+ 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 recursive calls to the event loop dispatcher

Changes from beta2:
+ Improved configure checks for IDNA libraries (added
  --with-http-libicu-dir, --with-http-libidnkit{,2}-dir,
  --with-http-libidn2-dir)
* Fix bug #73055: crash in http\QueryString (Mike, @rc0r)
  (CVE-2016-7398)
* Fix bug #73185: Buffer overflow in HTTP parse_hostinfo() (Mike, @rc0r)
  (CVE-2016-7961)
* Fix HTTP/2 version parser for older libcurl versions (Mike)
* Fix gh-issue #52: Underscores in host names: libidn Failed to parse
  IDN (Mike, @canavan)

3 years agoprepare 3.1.0
Michael Wallner [Mon, 12 Dec 2016 07:36:14 +0000 (08:36 +0100)] 
prepare 3.1.0

3 years agoignore new headers in root
Michael Wallner [Mon, 12 Dec 2016 07:30:01 +0000 (08:30 +0100)] 
ignore new headers in root

3 years agotypo
Michael Wallner [Mon, 12 Dec 2016 07:28:59 +0000 (08:28 +0100)] 
typo

3 years agoprepare 2.6.0
Michael Wallner [Mon, 12 Dec 2016 07:27:41 +0000 (08:27 +0100)] 
prepare 2.6.0

3 years agofix ICU ifdefs
Michael Wallner [Fri, 21 Oct 2016 08:50:42 +0000 (10:50 +0200)] 
fix ICU ifdefs

3 years agoMerge pull request #57 from m6w6/lc-utf8
Michael Wallner [Fri, 7 Oct 2016 10:34:54 +0000 (12:34 +0200)] 
Merge pull request #57 from m6w6/lc-utf8

avoid skipping test when current locale is C

3 years agoavoid skipping test when current locale is C 57/head
Remi Collet [Fri, 7 Oct 2016 07:25:34 +0000 (09:25 +0200)] 
avoid skipping test when current locale is C

3 years agoMerge pull request #56 from m6w6/Fix-3-0-1-Windows-build
Michael Wallner [Fri, 7 Oct 2016 05:58:04 +0000 (07:58 +0200)] 
Merge pull request #56 from m6w6/Fix-3-0-1-Windows-build

Fixed #55 VC14 Windows build

3 years agoEnable libicu (IDNA2008/IDNA2003) 56/head
Jan-E [Fri, 7 Oct 2016 01:48:45 +0000 (03:48 +0200)] 
Enable libicu (IDNA2008/IDNA2003)

https://github.com/m6w6/ext-http/issues/55 Add PHP_HTTP_HAVE_LIBICU support

3 years agoSome further AC_DEFINE's
Jan-E [Thu, 6 Oct 2016 09:41:59 +0000 (11:41 +0200)] 
Some further AC_DEFINE's

Additional changes cf https://github.com/m6w6/ext-http/issues/55

3 years agoFixed #55 VC14 Windows build
Jan-E [Wed, 5 Oct 2016 21:55:49 +0000 (23:55 +0200)] 
Fixed #55 VC14 Windows build

Fix for https://github.com/m6w6/ext-http/issues/55

3 years agofix build with GCC-4
Michael Wallner [Wed, 5 Oct 2016 11:15:28 +0000 (13:15 +0200)] 
fix build with GCC-4

closes #54

3 years agofix tests
Michael Wallner [Wed, 5 Oct 2016 11:14:50 +0000 (13:14 +0200)] 
fix tests

3 years agofix build issues with SSL, NSS etc.
Michael Wallner [Wed, 5 Oct 2016 11:13:55 +0000 (13:13 +0200)] 
fix build issues with SSL, NSS etc.

close #53

3 years agoCVE number is known now
Michael Wallner [Wed, 5 Oct 2016 06:24:13 +0000 (08:24 +0200)] 
CVE number is known now

3 years agoMerge branch 'v2.6.x'
Michael Wallner [Wed, 5 Oct 2016 06:23:19 +0000 (08:23 +0200)] 
Merge branch 'v2.6.x'

3 years agoCVE number is known now
Michael Wallner [Wed, 5 Oct 2016 06:19:41 +0000 (08:19 +0200)] 
CVE number is known now