]>
granicus.if.org Git - curl/log
Daniel Stenberg [Tue, 27 Aug 2019 15:03:40 +0000 (17:03 +0200)]
travis: enable ngtcp2 builds again
Switched to the openssl-quic-draft-22 openssl branch.
Closes #4271
Daniel Stenberg [Tue, 27 Aug 2019 15:07:47 +0000 (17:07 +0200)]
HTTP3: switched openssl branch to use
Tatsuhiro Tsujikawa [Tue, 27 Aug 2019 13:00:34 +0000 (22:00 +0900)]
ngtcp2: Build with latest ngtcp2 and ngtcp2_crypto_openssl
Closes #4270
Daniel Stenberg [Mon, 26 Aug 2019 14:00:05 +0000 (16:00 +0200)]
http2: when marked for closure and wanted to close == OK
It could otherwise return an error even when closed correctly if GOAWAY
had been received previously.
Reported-by: Tom van der Woerdt
Fixes #4267
Closes #4268
Daniel Stenberg [Mon, 26 Aug 2019 12:45:41 +0000 (14:45 +0200)]
RELEASE-NOTES: synced
Daniel Stenberg [Mon, 26 Aug 2019 10:06:47 +0000 (12:06 +0200)]
build-openssl: fix build with Visual Studio 2019
Reviewed-by: Marcel Raad
Contributed-by: osabc on github
Fixes #4188
Closes #4266
Kamil Dudka [Wed, 14 Aug 2019 07:47:17 +0000 (09:47 +0200)]
vauth: return CURLE_AUTH_ERROR on gss_init_sec_context() failure
This is a follow-up to https://github.com/curl/curl/pull/3864 .
Closes #4224
Daniel Stenberg [Mon, 26 Aug 2019 10:11:29 +0000 (12:11 +0200)]
KNOWN_BUGS: USE_UNIX_SOCKETS on Windows
Closes #4040
Daniel Stenberg [Fri, 23 Aug 2019 15:47:36 +0000 (17:47 +0200)]
quiche: send the HTTP body correctly on callback uploads
Closes #4265
Daniel Stenberg [Sun, 25 Aug 2019 21:25:20 +0000 (23:25 +0200)]
travis: disable ngtcp2 builds (temporarily)
Just too many API changes right now
Closes #4264
Daniel Stenberg [Sat, 24 Aug 2019 17:11:25 +0000 (19:11 +0200)]
ngtcp2: add support for SSLKEYLOGFILE
Closes #4260
Daniel Stenberg [Sat, 24 Aug 2019 16:43:31 +0000 (18:43 +0200)]
ngtcp2: improve h3 response receiving
Closes #4259
Daniel Stenberg [Sun, 25 Aug 2019 16:09:37 +0000 (18:09 +0200)]
ngtcp2: use nghttp3_version()
Daniel Stenberg [Sat, 24 Aug 2019 22:06:30 +0000 (00:06 +0200)]
ngtcp2: sync with upstream API changes
Assisted-by: Tatsuhiro Tsujikawa
Kyle Abramowitz [Thu, 22 Aug 2019 20:58:26 +0000 (20:58 +0000)]
scp: fix directory name length used in memcpy
Fix read off end of array due to bad pointer math in getworkingpath for
SCP home directory case.
Closes #4258
Daniel Stenberg [Sat, 24 Aug 2019 08:45:18 +0000 (10:45 +0200)]
http: the 'closed' struct field is used by both ngh2 and ngh3
and remove 'header_recvbuf', not used for anything
Reported-by: Jeremy Lainé
Closes #4257
Daniel Stenberg [Thu, 22 Aug 2019 12:08:18 +0000 (14:08 +0200)]
ngtcp2: accept upload via callback
Closes #4256
Daniel Stenberg [Thu, 22 Aug 2019 13:29:14 +0000 (15:29 +0200)]
defines: avoid underscore-prefixed defines
Double-underscored or underscore plus uppercase letter at least.
... as they're claimed to be reserved.
Reported-by: patnyb on github
Fixes #4254
Closes #4255
Daniel Stenberg [Thu, 22 Aug 2019 07:03:30 +0000 (09:03 +0200)]
travis: add a build using ngtcp2 + nghttp3 (and a patched OpenSSL)
Runs no tests
Closes #4253
Daniel Stenberg [Wed, 21 Aug 2019 06:29:59 +0000 (08:29 +0200)]
travis: bump to using nghttp2 version 1.39.2
Closes #4252
Gisle Vanem [Tue, 20 Aug 2019 13:17:16 +0000 (15:17 +0200)]
docs/examples/curlx: fix errors
Initialise 'mimetype' and require the -p12 arg.
Closes #4248
Daniel Stenberg [Tue, 20 Aug 2019 11:22:15 +0000 (13:22 +0200)]
cleanup: remove DOT_CHAR completely
Follow-up to
f9c7ba9096ec
The use of DOT_CHAR for ".ssh" was probably a mistake and is removed
now.
Pointed-out-by: Gisle Vanem
Bug: https://github.com/curl/curl/pull/4230#issuecomment-
522960638
Closes #4247
Daniel Stenberg [Tue, 20 Aug 2019 09:44:18 +0000 (11:44 +0200)]
spnego_sspi: add typecast to fix build warning
Reported in build "Win32 target on Debian Stretch (64-bit) -
i686-w64-mingw32 - gcc-
20170516 "
Closes #4245
Daniel Stenberg [Tue, 20 Aug 2019 09:30:25 +0000 (11:30 +0200)]
openssl: build warning free with boringssl
Closes #4244
Daniel Stenberg [Tue, 20 Aug 2019 09:10:28 +0000 (11:10 +0200)]
curl: make --libcurl use CURL_HTTP_VERSION_3
Closes #4243
Daniel Stenberg [Tue, 20 Aug 2019 09:01:36 +0000 (11:01 +0200)]
ngtcp2: make postfields-set posts work
Closes #4242
Daniel Stenberg [Tue, 20 Aug 2019 07:59:28 +0000 (09:59 +0200)]
http: remove chunked-encoding and expect header use for HTTP/3
Alessandro Ghedini [Sun, 18 Aug 2019 14:03:51 +0000 (15:03 +0100)]
configure: use pkg-config to detect quiche
This removes the need to hard-code the quiche target path in
configure.ac.
This depends on https://github.com/cloudflare/quiche/pull/128
Closes #4237
Daniel Stenberg [Tue, 20 Aug 2019 07:13:55 +0000 (09:13 +0200)]
CURLOPT_SSL_VERIFYHOST: treat the value 1 as 2
For a long time (since 7.28.1) we've returned error when setting the
value to 1 to make applications notice that we stopped supported the old
behavior for 1. Starting now, we treat 1 and 2 exactly the same.
Closes #4241
Daniel Stenberg [Fri, 16 Aug 2019 09:31:29 +0000 (11:31 +0200)]
curl: use .curlrc (with a dot) on Windows as well
Fall-back to _curlrc if the dot-version is missing.
Co-Authored-By: Steve Holme
Closes #4230
Daniel Stenberg [Fri, 16 Aug 2019 09:30:29 +0000 (11:30 +0200)]
netrc: make the code try ".netrc" on Windows as well
... but fall back and try "_netrc" too if the dot version didn't work.
Co-Authored-By: Steve Holme
Daniel Stenberg [Mon, 19 Aug 2019 21:04:45 +0000 (23:04 +0200)]
ngtcp2: use ngtcp2_version() to get the run-time version
... which of course doesn't have to be the same used at build-time.
Function just recently merged in ngtcp2.
Daniel Stenberg [Tue, 20 Aug 2019 06:49:56 +0000 (08:49 +0200)]
ngtcp2: move the h3 initing to immediately after the rx key
To fix a segfault and to better deal with 0-RTT
Assisted-by: Tatsuhiro Tsujikawa
Alessandro Ghedini [Sat, 17 Aug 2019 14:04:33 +0000 (15:04 +0100)]
quiche: register debug callback once and earlier
The quiche debug callback is global and can only be initialized once, so
make sure we don't do it multiple times (e.g. if multiple requests are
executed).
In addition this initializes the callback before the connection is
created, so we get logs for the handshake as well.
Closes #4236
Daniel Stenberg [Fri, 16 Aug 2019 13:32:05 +0000 (15:32 +0200)]
ssh: add a generic Curl_ssh_version function for SSH backends
Closes #4235
Daniel Stenberg [Fri, 16 Aug 2019 14:19:43 +0000 (16:19 +0200)]
base64: check for SSH, not specific SSH backends
Daniel Stenberg [Fri, 16 Aug 2019 14:16:33 +0000 (16:16 +0200)]
vssh: move ssh init/cleanup functions into backend code
Daniel Stenberg [Fri, 16 Aug 2019 14:01:42 +0000 (16:01 +0200)]
vssh: create directory for SSH backend code
Daniel Stenberg [Fri, 16 Aug 2019 21:18:45 +0000 (23:18 +0200)]
TODO/ROADMAP: remove "refuse downgrade redirects" and HTTP/3
HTTP3 is now already in full progress
Downgrade redirects can be achived almost exactly like that by setting
CURLOPT_REDIR_PROTOCOLS.
Daniel Stenberg [Thu, 15 Aug 2019 21:00:42 +0000 (23:00 +0200)]
RELEASE-NOTES: synced
Daniel Stenberg [Sat, 10 Aug 2019 21:28:57 +0000 (23:28 +0200)]
travis: add a quiche build
Closes #4207
Daniel Stenberg [Thu, 15 Aug 2019 15:50:02 +0000 (17:50 +0200)]
http: fix use of credentials from URL when using HTTP proxy
When a username and password are provided in the URL, they were wrongly
removed from the stored URL so that subsequent uses of the same URL
wouldn't find the crendentials. This made doing HTTP auth with multiple
connections (like Digest) mishave.
Regression from
46e164069d1a5230 (7.62.0)
Test case 335 added to verify.
Reported-by: Mike Crowe
Fixes #4228
Closes #4229
Mike Crowe [Thu, 15 Aug 2019 15:06:38 +0000 (16:06 +0100)]
tests: Replace outdated test case numbering documentation
Tests are no longer grouped by numeric range[1]. Let's stop saying that
and provide some alternative advice for numbering tests.
[1] https://curl.haxx.se/mail/lib-2019-08/0043.html
Closes #4227
Daniel Stenberg [Tue, 13 Aug 2019 16:06:16 +0000 (18:06 +0200)]
travis: reduce number of torture tests in 'coverage'
... to make it complete in time. This cut seems not almost not affect
the coverage percentage and yet completes within 35 minutes on travis
where the previous runs recently always timed out after 50.
Closes #4223
Igor Makarov [Thu, 15 Aug 2019 12:29:34 +0000 (15:29 +0300)]
configure: use -lquiche to link to quiche
Closes #4226
Daniel Stenberg [Thu, 15 Aug 2019 08:20:35 +0000 (10:20 +0200)]
ngtcp2: provide the callbacks as a static struct
... instead of having them in quicsocket
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