Daniel Stenberg
84c2793be4
curl: make --libcurl use CURL_HTTP_VERSION_3
...
Closes #4243
2019-08-20 16:55:47 +02:00
Daniel Stenberg
2056175dc2
ngtcp2: make postfields-set posts work
...
Closes #4242
2019-08-20 16:53:40 +02:00
Daniel Stenberg
99775438d6
http: remove chunked-encoding and expect header use for HTTP/3
2019-08-20 16:53:40 +02:00
Alessandro Ghedini
08b99e17df
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
2019-08-20 15:04:58 +02:00
Daniel Stenberg
6a90c9e0c4
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
2019-08-20 14:57:59 +02:00
Daniel Stenberg
862393243d
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
2019-08-20 11:48:49 +02:00
Daniel Stenberg
f9c7ba9096
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
2019-08-20 11:48:42 +02:00
Daniel Stenberg
1a0dc6f6a3
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.
2019-08-20 08:52:22 +02:00
Daniel Stenberg
349c3f5a08
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
2019-08-20 08:51:23 +02:00
Alessandro Ghedini
e54affa82c
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
2019-08-17 17:00:49 +02:00
Daniel Stenberg
ea28a6cb2f
ssh: add a generic Curl_ssh_version function for SSH backends
...
Closes #4235
2019-08-17 16:57:58 +02:00
Daniel Stenberg
1a7634e484
base64: check for SSH, not specific SSH backends
2019-08-17 16:57:56 +02:00
Daniel Stenberg
d6dea75af7
vssh: move ssh init/cleanup functions into backend code
2019-08-17 16:57:55 +02:00
Daniel Stenberg
5b2d703fe5
vssh: create directory for SSH backend code
2019-08-17 16:57:55 +02:00
Daniel Stenberg
7c31a8980c
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.
2019-08-16 23:18:45 +02:00
Daniel Stenberg
9dde627ce6
RELEASE-NOTES: synced
2019-08-16 10:11:33 +02:00
Daniel Stenberg
f81bf5def7
travis: add a quiche build
...
Closes #4207
2019-08-16 10:11:32 +02:00
Daniel Stenberg
68fab35c73
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 46e164069d
(7.62.0)
Test case 335 added to verify.
Reported-by: Mike Crowe
Fixes #4228
Closes #4229
2019-08-16 10:11:22 +02:00
Mike Crowe
a8ac1be705
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
2019-08-15 17:20:46 +02:00
Daniel Stenberg
0b1e74b6b1
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
2019-08-15 16:03:31 +02:00
Igor Makarov
2f148d238e
configure: use -lquiche to link to quiche
...
Closes #4226
2019-08-15 15:14:55 +02:00
Daniel Stenberg
cec3ef8793
ngtcp2: provide the callbacks as a static struct
...
... instead of having them in quicsocket
2019-08-15 10:20:35 +02:00
Tatsuhiro Tsujikawa
408c758bb8
ngtcp2: add missing nghttp3_conn_add_write_offset call
...
Closes #4225
2019-08-15 08:02:52 +02:00
Tatsuhiro Tsujikawa
c47ef9115e
ngtcp2: deal with stream close
2019-08-15 08:02:23 +02:00
Tatsuhiro Tsujikawa
e42bd8a204
ngtcp2: Consume QUIC STREAM data properly
2019-08-15 08:02:20 +02:00
Tatsuhiro Tsujikawa
887ebc384c
ngtcp2: don't reinitialize SSL on Retry
2019-08-15 08:02:15 +02:00
Daniel Stenberg
437bf10cad
multi: getsock improvements for QUIC connecting
2019-08-14 23:14:12 +02:00
Daniel Stenberg
5848f27594
connect: connections are persistent by default for HTTP/3
2019-08-14 23:14:12 +02:00
Daniel Stenberg
baf7860b71
quiche: happy eyeballs
...
Closes #4220
2019-08-14 23:14:12 +02:00
Daniel Stenberg
f2cc26456b
ngtcp2: do QUIC connections happy-eyeballs friendly
2019-08-14 23:14:12 +02:00
Daniel Stenberg
1d85e09ccd
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).
2019-08-14 15:16:07 +02:00
Daniel Stenberg
db80de0528
CURLOPT_ALTSVC.3: use a "" file name to not load from a file
2019-08-14 14:42:11 +02:00
Jay Satiro
dca6f73613
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
2019-08-14 03:14:01 -04:00
Daniel Stenberg
aae490229b
curl_version_info: make the quic_version a const
...
Follow-up from 1a2df1518a
Closes #4222
2019-08-13 23:15:49 +02:00
Daniel Stenberg
f3c34bf83c
examples: add http3.c, altsvc.c and http3-present.c
...
Closes #4221
2019-08-13 23:14:20 +02:00
Peter Wu
cc5fae5dac
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
2019-08-13 21:59:30 +01:00
Daniel Stenberg
362d59edab
quic.h: remove unused proto
2019-08-13 15:09:07 +02:00
Daniel Stenberg
125884e466
curl_version_info.3: mentioned ALTSVC and HTTP3
...
... and sorted the list alphabetically
2019-08-13 14:10:20 +02:00
Daniel Stenberg
d6cb1bdf6c
lib/quic.c: unused - removed
2019-08-13 12:41:04 +02:00
Daniel Stenberg
b867ecf0c5
CURLOPT_ALTSVC_CTRL.3: remove CURLALTSVC_ALTUSED
...
Follow-up to 98c3f148
that removed it from the header file
2019-08-13 11:19:35 +02:00
Junho Choi
1c86622699
docs/HTTP3: simplify quiche build instruction
...
Use --recursive to get boringssl in one line
Closes #4219
2019-08-12 22:36:27 +02:00
Daniel Stenberg
49e6b3857f
altsvc: make it use h3-22 with ngtcp2 as well
2019-08-12 22:30:58 +02:00
Daniel Stenberg
368d444cc6
ngtcp2: initial h3 request work
...
Closes #4217
2019-08-12 22:30:52 +02:00
Daniel Stenberg
1a2df1518a
curl_version_info: offer quic (and h3) library info
...
Closes #4216
2019-08-12 13:37:08 +02:00
Daniel Stenberg
551806255f
HTTP3: use ngtcp2's draft-22 branch
2019-08-12 12:45:48 +02:00
Daniel Stenberg
76ba80613d
RELEASE-NOTES: synced
2019-08-12 10:06:05 +02:00
Daniel Stenberg
f88d865bf4
CURLOPT_READFUNCTION.3: provide inline example
...
... instead of mentioning one in another place
2019-08-12 09:20:52 +02:00
Tatsuhiro Tsujikawa
fb6d46a709
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
2019-08-12 09:20:36 +02:00
Daniel Stenberg
102ebe0459
nghttp3: initial h3 template code added
2019-08-12 00:18:59 +02:00
Daniel Stenberg
d85a1cf11d
nghttp3: required when ngtcp2 is used for QUIC
...
- checked for by configure
- updated docs/HTTP3.md
- shown in the version string
Closes #4210
2019-08-12 00:18:53 +02:00