]>
granicus.if.org Git - curl/log
Tatsuhiro Tsujikawa [Thu, 15 Aug 2019 05:53:24 +0000 (14:53 +0900)]
ngtcp2: add missing nghttp3_conn_add_write_offset call
Closes #4225
Tatsuhiro Tsujikawa [Thu, 15 Aug 2019 05:52:56 +0000 (14:52 +0900)]
ngtcp2: deal with stream close
Tatsuhiro Tsujikawa [Thu, 15 Aug 2019 05:52:09 +0000 (14:52 +0900)]
ngtcp2: Consume QUIC STREAM data properly
Tatsuhiro Tsujikawa [Thu, 15 Aug 2019 05:50:48 +0000 (14:50 +0900)]
ngtcp2: don't reinitialize SSL on Retry
Daniel Stenberg [Tue, 13 Aug 2019 06:41:53 +0000 (08:41 +0200)]
multi: getsock improvements for QUIC connecting
Daniel Stenberg [Mon, 12 Aug 2019 21:56:07 +0000 (23:56 +0200)]
connect: connections are persistent by default for HTTP/3
Daniel Stenberg [Mon, 12 Aug 2019 20:29:42 +0000 (22:29 +0200)]
quiche: happy eyeballs
Closes #4220
Daniel Stenberg [Mon, 12 Aug 2019 14:28:28 +0000 (16:28 +0200)]
ngtcp2: do QUIC connections happy-eyeballs friendly
Daniel Stenberg [Wed, 14 Aug 2019 13:16:07 +0000 (15:16 +0200)]
curl_version: bump string buffer size to 250
With HTTP/3 libs and plenty TLS libs, I manged to hit the limit (which
causes a truncated output).
Daniel Stenberg [Wed, 14 Aug 2019 12:42:11 +0000 (14:42 +0200)]
CURLOPT_ALTSVC.3: use a "" file name to not load from a file
Jay Satiro [Sat, 11 May 2019 06:23:09 +0000 (02:23 -0400)]
vauth: Use CURLE_AUTH_ERROR for auth function errors
- Add new error code CURLE_AUTH_ERROR.
Prior to this change auth function errors were signaled by
CURLE_OUT_OF_MEMORY and CURLE_RECV_ERROR, and neither one was
technically correct.
Ref: https://github.com/curl/curl/pull/3848
Co-authored-by: Dominik Hölzl
Closes https://github.com/curl/curl/pull/3864
Daniel Stenberg [Tue, 13 Aug 2019 14:58:18 +0000 (16:58 +0200)]
curl_version_info: make the quic_version a const
Follow-up from
1a2df1518ad8653f
Closes #4222
Daniel Stenberg [Tue, 13 Aug 2019 09:24:50 +0000 (11:24 +0200)]
examples: add http3.c, altsvc.c and http3-present.c
Closes #4221
Peter Wu [Sat, 3 Aug 2019 15:53:42 +0000 (16:53 +0100)]
nss: use TLSv1.3 as default if supported
SSL_VersionRangeGetDefault returns (TLSv1.0, TLSv1.2) as supported
range in NSS 3.45. It looks like the intention is to raise the minimum
version rather than lowering the maximum, so adjust accordingly. Note
that the caller (nss_setup_connect) initializes the version range to
(TLSv1.0, TLSv1.3), so there is no need to check for >= TLSv1.0 again.
Closes #4187
Reviewed-by: Daniel Stenberg
Reviewed-by: Kamil Dudka
Daniel Stenberg [Tue, 13 Aug 2019 13:09:07 +0000 (15:09 +0200)]
quic.h: remove unused proto
Daniel Stenberg [Tue, 13 Aug 2019 12:10:20 +0000 (14:10 +0200)]
curl_version_info.3: mentioned ALTSVC and HTTP3
... and sorted the list alphabetically
Daniel Stenberg [Tue, 13 Aug 2019 10:41:04 +0000 (12:41 +0200)]
lib/quic.c: unused - removed
Daniel Stenberg [Tue, 13 Aug 2019 09:19:14 +0000 (11:19 +0200)]
CURLOPT_ALTSVC_CTRL.3: remove CURLALTSVC_ALTUSED
Follow-up to
98c3f148 that removed it from the header file
Junho Choi [Mon, 12 Aug 2019 18:40:32 +0000 (11:40 -0700)]
docs/HTTP3: simplify quiche build instruction
Use --recursive to get boringssl in one line
Closes #4219
Daniel Stenberg [Mon, 12 Aug 2019 10:19:59 +0000 (12:19 +0200)]
altsvc: make it use h3-22 with ngtcp2 as well
Daniel Stenberg [Mon, 12 Aug 2019 09:10:56 +0000 (11:10 +0200)]
ngtcp2: initial h3 request work
Closes #4217
Daniel Stenberg [Mon, 12 Aug 2019 08:04:50 +0000 (10:04 +0200)]
curl_version_info: offer quic (and h3) library info
Closes #4216
Daniel Stenberg [Mon, 12 Aug 2019 10:45:16 +0000 (12:45 +0200)]
HTTP3: use ngtcp2's draft-22 branch
Daniel Stenberg [Mon, 12 Aug 2019 08:06:05 +0000 (10:06 +0200)]
RELEASE-NOTES: synced
Daniel Stenberg [Mon, 12 Aug 2019 07:20:04 +0000 (09:20 +0200)]
CURLOPT_READFUNCTION.3: provide inline example
... instead of mentioning one in another place
Tatsuhiro Tsujikawa [Mon, 12 Aug 2019 04:09:44 +0000 (13:09 +0900)]
ngtcp2: send HTTP/3 request with nghttp3
This commit makes sending HTTP/3 request with nghttp3 work. It
minimally receives HTTP response and calls nghttp3 callbacks, but no
processing is made at the moment.
Closes #4215
Daniel Stenberg [Sun, 11 Aug 2019 21:50:11 +0000 (23:50 +0200)]
nghttp3: initial h3 template code added
Daniel Stenberg [Sat, 10 Aug 2019 21:19:55 +0000 (23:19 +0200)]
nghttp3: required when ngtcp2 is used for QUIC
- checked for by configure
- updated docs/HTTP3.md
- shown in the version string
Closes #4210
Eric Wong [Sat, 10 Aug 2019 21:20:23 +0000 (21:20 +0000)]
asyn-thread: issue CURL_POLL_REMOVE before closing socket
This avoids EBADF errors from EPOLL_CTL_DEL operations in the
ephiperfifo.c example. EBADF is dangerous in multi-threaded
applications where I rely on epoll_ctl to operate on the same
epoll description from different threads.
Follow-up to
eb9a604f8d7db8
Bug: https://curl.haxx.se/mail/lib-2019-08/0026.html
Closes #4211
Carlo Marcelo Arenas Belón [Sun, 11 Aug 2019 02:14:01 +0000 (19:14 -0700)]
configure: avoid undefined check_for_ca_bundle
instead of using a "greater than 0" test, check for variable being
set, as it is always set to 1, and could be left unset if non of
OPENSSL MBEDTLS GNUTLS WOLFSSL is being configured for.
Closes #4213
Tatsuhiro Tsujikawa [Sun, 11 Aug 2019 01:49:03 +0000 (10:49 +0900)]
ngtcp2: Send ALPN h3-22
Closes #4212
Tatsuhiro Tsujikawa [Sun, 11 Aug 2019 01:48:34 +0000 (10:48 +0900)]
ngtcp2: use ngtcp2_settings_default and specify initial_ts
Daniel Stenberg [Sat, 10 Aug 2019 22:19:45 +0000 (00:19 +0200)]
curl_global_init_mem.3: mention it was added in 7.12.0
Tatsuhiro Tsujikawa [Sat, 10 Aug 2019 08:06:50 +0000 (17:06 +0900)]
ngtcp2: make the QUIC handshake work
Closes #4209
Alex Mayorga [Sat, 10 Aug 2019 05:57:04 +0000 (00:57 -0500)]
HTTP3.md: Update quiche build instructions
Added cloning for quiche and BoringSSL and modified the build
instructions so they work on a clean folder.
Closes #4208
Daniel Stenberg [Fri, 9 Aug 2019 09:17:02 +0000 (11:17 +0200)]
CURLOPT_H3: removed
There's no use for this anymore and it was never in a release.
Closes #4206
Daniel Stenberg [Thu, 8 Aug 2019 21:13:57 +0000 (23:13 +0200)]
http3: make connection reuse work
Closes #4204
Daniel Stenberg [Fri, 9 Aug 2019 10:23:18 +0000 (12:23 +0200)]
quiche: add SSLKEYLOGFILE support
Daniel Stenberg [Thu, 8 Aug 2019 12:51:01 +0000 (14:51 +0200)]
cleanup: s/curl_debug/curl_dbg_debug in comments and docs
Leftovers from the function rename back in
76b63489495
Reported-by: Gisle Vanem
Bug: https://github.com/curl/curl/commit/
f3e0f071b14fcb46a453f69bdf4e062bcaacf362 #com
mitcomment-
34601751
Closes #4203
Daniel Stenberg [Thu, 8 Aug 2019 07:58:52 +0000 (09:58 +0200)]
RELEASE-NOTES: synced
Daniel Stenberg [Wed, 7 Aug 2019 18:10:27 +0000 (20:10 +0200)]
alt-svc: add protocol version selection masking
So that users can mask in/out specific HTTP versions when Alt-Svc is
used.
- Removed "h2c" and updated test case accordingly
- Changed how the altsvc struct is laid out
- Added ifdefs to make the unittest run even in a quiche-tree
Closes #4201
Daniel Stenberg [Wed, 7 Aug 2019 17:30:53 +0000 (19:30 +0200)]
http3: fix the HTTP/3 in the request, make alt-svc set right versions
Closes #4200
Daniel Stenberg [Wed, 7 Aug 2019 18:43:18 +0000 (20:43 +0200)]
alt-svc: send Alt-Used: in redirected requests
RFC 7838 section 5:
When using an alternative service, clients SHOULD include an Alt-Used
header field in all requests.
Removed CURLALTSVC_ALTUSED again (feature is still EXPERIMENTAL thus
this is deemed ok).
You can disable sending this header just like you disable any other HTTP
header in libcurl.
Closes #4199
Daniel Stenberg [Wed, 7 Aug 2019 12:17:48 +0000 (14:17 +0200)]
CURLOPT_HTTP_VERSION: seting this to 3 forces HTTP/3 use directly
Even though it cannot fall-back to a lower HTTP version automatically. The
safer way to upgrade remains via CURLOPT_ALTSVC.
CURLOPT_H3 no longer has any bits that do anything and might be removed
before we remove the experimental label.
Updated the curl tool accordingly to use "--http3".
Closes #4197
Daniel Stenberg [Wed, 7 Aug 2019 12:52:28 +0000 (14:52 +0200)]
docs/ALTSVC: remove what works and the experimental explanation
Also, put the TODO items at the bottom.
Closes #4198
Daniel Stenberg [Wed, 7 Aug 2019 12:52:02 +0000 (14:52 +0200)]
docs/EXPERIMENTAL: explain what it means and what's experimental now
Daniel Stenberg [Tue, 6 Aug 2019 09:57:02 +0000 (11:57 +0200)]
curl: make use of CURLINFO_RETRY_AFTER when retrying
If a Retry-After: header was used in the response, that value overrides
other retry timing options.
Fixes #3794
Closes #4195
Daniel Stenberg [Tue, 6 Aug 2019 09:49:03 +0000 (11:49 +0200)]
curl: use CURLINFO_PROTOCOL to check for HTTP(s)
... instead of CURLINFO_EFFECTIVE_URL to avoid string operations.
Daniel Stenberg [Tue, 6 Aug 2019 09:30:08 +0000 (11:30 +0200)]
CURLINFO_RETRY_AFTER: parse the Retry-After header value
This is only the libcurl part that provides the information. There's no
user of the parsed value. This change includes three new tests for the
parser.
Ref: #3794
Daniel Stenberg [Wed, 7 Aug 2019 12:18:42 +0000 (14:18 +0200)]
docs/ALTSVC.md: first basic file format description
Daniel Stenberg [Wed, 7 Aug 2019 07:52:14 +0000 (09:52 +0200)]
curl: have -w's 'http_version' show '3' for HTTP/3
Closes #4196
Daniel Stenberg [Wed, 7 Aug 2019 07:49:18 +0000 (09:49 +0200)]
curl.h: add CURL_HTTP_VERSION_3 to the version enum
It can't be set for CURLOPT_HTTP_VERSION, but it can be extracted with
CURLINFO_HTTP_VERSION.
Daniel Stenberg [Wed, 7 Aug 2019 10:49:27 +0000 (12:49 +0200)]
quiche: make use of the connection timeout API properly
Daniel Stenberg [Wed, 7 Aug 2019 09:04:47 +0000 (11:04 +0200)]
quiche: make POSTFIELDS posts work
Daniel Stenberg [Wed, 7 Aug 2019 06:39:39 +0000 (08:39 +0200)]
quiche: improved error handling and memory cleanups
Daniel Stenberg [Wed, 7 Aug 2019 05:48:37 +0000 (07:48 +0200)]
quiche: flush egress in h3_stream_recv() too
Daniel Stenberg [Tue, 6 Aug 2019 21:11:03 +0000 (23:11 +0200)]
RELEASE-NOTES: synced
Patrick Monnerat [Thu, 23 May 2019 11:24:53 +0000 (13:24 +0200)]
os400: take care of CURLOPT_SASL_AUTHZID in curl_easy_setopt_ccsid().
Ref: https://github.com/curl/curl/issues/3653
Ref: https://github.com/curl/curl/pull/3790
NOTE: This commit was cherry-picked and is part of a series of commits
that added the authzid feature for upcoming 7.66.0. The series was
temporarily reverted in
db8ec1f so that it would not ship in a 7.65.x
patch release.
Closes https://github.com/curl/curl/pull/4186
Jay Satiro [Thu, 23 May 2019 08:01:09 +0000 (04:01 -0400)]
tests: Fix the line endings for the SASL alt-auth tests
- Change data and protocol sections to CRLF line endings.
Prior to this change the tests would fail or hang, which is because
certain sections such as protocol require CRLF line endings.
Follow-up to grandparent commit which added the tests.
Ref: https://github.com/curl/curl/issues/3653
Ref: https://github.com/curl/curl/pull/3790
NOTE: This commit was cherry-picked and is part of a series of commits
that added the authzid feature for upcoming 7.66.0. The series was
temporarily reverted in
db8ec1f so that it would not ship in a 7.65.x
patch release.
Closes https://github.com/curl/curl/pull/4186
Steve Holme [Sun, 21 Apr 2019 22:29:57 +0000 (23:29 +0100)]
examples: Added SASL PLAIN authorisation identity (authzid) examples
Ref: https://github.com/curl/curl/issues/3653
Ref: https://github.com/curl/curl/pull/3790
NOTE: This commit was cherry-picked and is part of a series of commits
that added the authzid feature for upcoming 7.66.0. The series was
temporarily reverted in
db8ec1f so that it would not ship in a 7.65.x
patch release.
Closes https://github.com/curl/curl/pull/4186
Steve Holme [Fri, 19 Apr 2019 13:26:47 +0000 (14:26 +0100)]
curl: --sasl-authzid added to support CURLOPT_SASL_AUTHZID from the tool
Ref: https://github.com/curl/curl/issues/3653
Ref: https://github.com/curl/curl/pull/3790
NOTE: This commit was cherry-picked and is part of a series of commits
that added the authzid feature for upcoming 7.66.0. The series was
temporarily reverted in
db8ec1f so that it would not ship in a 7.65.x
patch release.
Closes https://github.com/curl/curl/pull/4186
Steve Holme [Wed, 17 Apr 2019 22:47:51 +0000 (23:47 +0100)]
sasl: Implement SASL authorisation identity via CURLOPT_SASL_AUTHZID
Added the ability for the calling program to specify the authorisation
identity (authzid), the identity to act as, in addition to the
authentication identity (authcid) and password when using SASL PLAIN
authentication.
Fixes #3653
Closes #3790
NOTE: This commit was cherry-picked and is part of a series of commits
that added the authzid feature for upcoming 7.66.0. The series was
temporarily reverted in
db8ec1f so that it would not ship in a 7.65.x
patch release.
Closes https://github.com/curl/curl/pull/4186
Daniel Stenberg [Tue, 6 Aug 2019 12:44:30 +0000 (14:44 +0200)]
docs/HTTP3: refreshed as it is now in master and HTTP/3 can be tested
Yiming Jing [Thu, 1 Aug 2019 22:20:30 +0000 (15:20 -0700)]
mesalink: implement client authentication
Closes #4184
Daniel Stenberg [Mon, 29 Jul 2019 11:41:00 +0000 (13:41 +0200)]
curl_multi_poll: a sister to curl_multi_wait() that waits more
Repeatedly we see problems where using curl_multi_wait() is difficult or
just awkward because if it has no file descriptor to wait for
internally, it returns immediately and leaves it to the caller to wait
for a small amount of time in order to avoid occasional busy-looping.
This is often missed or misunderstood, leading to underperforming
applications.
This change introduces curl_multi_poll() as a replacement drop-in
function that accepts the exact same set of arguments. This function
works identically to curl_multi_wait() - EXCEPT - for the case when
there's nothing to wait for internally, as then this function will by
itself wait for a "suitable" short time before it returns. This
effectiely avoids all risks of busy-looping and should also make it less
likely that apps "over-wait".
This also changes the curl tool to use this funtion internally when
doing parallel transfers and changes curl_easy_perform() to use it
internally.
Closes #4163
Daniel Stenberg [Tue, 6 Aug 2019 06:06:58 +0000 (08:06 +0200)]
quiche:h3_stream_recv return 0 at end of stream
... and remove some verbose messages we don't need. Made transfers from
facebook.com work better.
Daniel Stenberg [Mon, 5 Aug 2019 21:13:17 +0000 (23:13 +0200)]
altsvc: make quiche use h3-22 now
Daniel Stenberg [Mon, 5 Aug 2019 21:12:59 +0000 (23:12 +0200)]
quiche: show the actual version number
Daniel Stenberg [Mon, 5 Aug 2019 13:17:31 +0000 (15:17 +0200)]
quiche: first working HTTP/3 request
- enable debug log
- fix use of quiche API
- use download buffer
- separate header/body
Closes #4193
Daniel Stenberg [Mon, 5 Aug 2019 07:45:23 +0000 (09:45 +0200)]
http09: disable HTTP/0.9 by default in both tool and library
As the plan has been laid out in DEPRECATED. Update docs accordingly and
verify in test 1174. Now requires the option to be set to allow HTTP/0.9
responses.
Closes #4191
Daniel Stenberg [Mon, 5 Aug 2019 08:19:48 +0000 (10:19 +0200)]
quiche: initial h3 request send/receive
Daniel Stenberg [Mon, 5 Aug 2019 08:36:29 +0000 (10:36 +0200)]
lib/Makefile.am: make checksrc run in vquic too
Daniel Stenberg [Mon, 5 Aug 2019 08:17:10 +0000 (10:17 +0200)]
altsvc: fix removal of expired cache entry
Closes #4192
Daniel Stenberg [Sun, 4 Aug 2019 21:03:57 +0000 (23:03 +0200)]
RELEASE-NOTES: synced
Steve Holme [Sun, 14 Apr 2019 18:24:28 +0000 (19:24 +0100)]
md4: Use our own MD4 implementation when no crypto libraries are available
Closes #3780
Steve Holme [Sun, 14 Apr 2019 09:33:46 +0000 (10:33 +0100)]
md4: No need to include Curl_md4.h for each TLS library
Steve Holme [Sun, 14 Apr 2019 02:52:16 +0000 (03:52 +0100)]
md4: No need for the NTLM code to call Curl_md4it() for each TLS library
As the NTLM code no longer calls any of TLS libraries' specific MD4
functions, there is no need to call this function for each #ifdef.
Steve Holme [Sun, 14 Apr 2019 02:27:21 +0000 (03:27 +0100)]
md4: Move the mbed TLS MD4 implementation out of the NTLM code
Steve Holme [Sun, 14 Apr 2019 02:17:23 +0000 (03:17 +0100)]
md4: Move the WinCrypt implementation out of the NTLM code
Steve Holme [Sun, 14 Apr 2019 01:45:02 +0000 (02:45 +0100)]
md4: Move the SecureTransport implementation out of the NTLM code
Steve Holme [Sun, 14 Apr 2019 01:25:50 +0000 (02:25 +0100)]
md4: Use the Curl_md4it() function for OpenSSL based NTLM
Steve Holme [Sun, 14 Apr 2019 01:09:52 +0000 (02:09 +0100)]
md4: Move the GNU TLS gcrypt MD4 implementation out of the NTLM code
Steve Holme [Sun, 14 Apr 2019 00:55:18 +0000 (01:55 +0100)]
md4: Move the GNU TLS Nettle MD4 implementation out of the NTLM code
Jay Satiro [Fri, 2 Aug 2019 18:37:20 +0000 (14:37 -0400)]
OS400: Add CURLOPT_H3 symbols
Follow-up to
3af0e76 which added experimental H3 support.
Closes https://github.com/curl/curl/pull/4185
Daniel Stenberg [Fri, 2 Aug 2019 12:28:54 +0000 (14:28 +0200)]
url: make use of new HTTP version if alt-svc has one
Daniel Stenberg [Fri, 2 Aug 2019 12:28:22 +0000 (14:28 +0200)]
url: set conn->transport to default TCP at init time
Daniel Stenberg [Fri, 2 Aug 2019 12:27:26 +0000 (14:27 +0200)]
altsvc: with quiche, use the quiche h3 alpn string
Closes #4183
Daniel Stenberg [Fri, 2 Aug 2019 11:46:49 +0000 (13:46 +0200)]
alt-svc: more liberal ALPN name parsing
Allow pretty much anything to be part of the ALPN identifier. In
particular minus, which is used for "h3-20" (in-progress HTTP/3
versions) etc.
Updated test 356.
Closes #4182
Daniel Stenberg [Fri, 2 Aug 2019 11:22:26 +0000 (13:22 +0200)]
quiche: use the proper HTTP/3 ALPN
Daniel Stenberg [Fri, 2 Aug 2019 09:25:40 +0000 (11:25 +0200)]
quiche: add failf() calls for two error cases
To aid debugging
Closes #4181
Daniel Stenberg [Fri, 2 Aug 2019 05:56:07 +0000 (07:56 +0200)]
mailmap: added Kyohei Kadota
Kamil Dudka [Tue, 30 Jul 2019 10:59:35 +0000 (12:59 +0200)]
http_negotiate: improve handling of gss_init_sec_context() failures
If HTTPAUTH_GSSNEGOTIATE was used for a POST request and
gss_init_sec_context() failed, the POST request was sent
with empty body. This commit also restores the original
behavior of `curl --fail --negotiate`, which was changed
by commit
6c6035532383e300c712e4c1cd9fdd749ed5cf59 .
Add regression tests 2077 and 2078 to cover this.
Fixes #3992
Closes #4171
Daniel Stenberg [Thu, 1 Aug 2019 07:13:38 +0000 (09:13 +0200)]
mailmap: added 4 more names
Evgeny Grin, Peter Pih, Anton Malov and Marquis de Muesli
Daniel Stenberg [Thu, 1 Aug 2019 07:07:30 +0000 (09:07 +0200)]
mailmap: add Giorgos Oikonomou
Daniel Stenberg [Wed, 31 Jul 2019 20:40:24 +0000 (22:40 +0200)]
src/makefile: fix uncompressed hugehelp.c generation
Regression from
5cf5d57ab9 (7.64.1)
Fixed-by: Lance Ware
Fixes #4176
Closes #4177
Daniel Stenberg [Wed, 31 Jul 2019 15:17:52 +0000 (17:17 +0200)]
appveyor: pass on -k to make
Daniel Stenberg [Wed, 31 Jul 2019 13:30:31 +0000 (15:30 +0200)]
timediff: make it 64 bit (if possible) even with 32 bit time_t
... to make it hold microseconds too.
Fixes #4165
Closes #4168
Daniel Stenberg [Wed, 31 Jul 2019 14:47:23 +0000 (16:47 +0200)]
ROADMAP: parallel transfers are merged now
Daniel Stenberg [Tue, 30 Jul 2019 18:26:59 +0000 (20:26 +0200)]
getenv: support up to 4K environment variable contents on windows
Reported-by: Michal Čaplygin
Fixes #4174
Closes #4175
lufia [Tue, 26 Mar 2019 13:26:05 +0000 (22:26 +0900)]
plan9: add support for running on Plan 9
Closes #3701