aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-08-12curl_version_info: offer quic (and h3) library infoDaniel Stenberg
Closes #4216
2019-08-12HTTP3: use ngtcp2's draft-22 branchDaniel Stenberg
2019-08-12RELEASE-NOTES: syncedDaniel Stenberg
2019-08-12CURLOPT_READFUNCTION.3: provide inline exampleDaniel Stenberg
... instead of mentioning one in another place
2019-08-12ngtcp2: send HTTP/3 request with nghttp3Tatsuhiro Tsujikawa
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-12nghttp3: initial h3 template code addedDaniel Stenberg
2019-08-12nghttp3: required when ngtcp2 is used for QUICDaniel Stenberg
- checked for by configure - updated docs/HTTP3.md - shown in the version string Closes #4210
2019-08-11asyn-thread: issue CURL_POLL_REMOVE before closing socketEric Wong
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
2019-08-11configure: avoid undefined check_for_ca_bundleCarlo Marcelo Arenas Belón
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
2019-08-11ngtcp2: Send ALPN h3-22Tatsuhiro Tsujikawa
Closes #4212
2019-08-11ngtcp2: use ngtcp2_settings_default and specify initial_tsTatsuhiro Tsujikawa
2019-08-11curl_global_init_mem.3: mention it was added in 7.12.0Daniel Stenberg
2019-08-10ngtcp2: make the QUIC handshake workTatsuhiro Tsujikawa
Closes #4209
2019-08-10HTTP3.md: Update quiche build instructionsAlex Mayorga
Added cloning for quiche and BoringSSL and modified the build instructions so they work on a clean folder. Closes #4208
2019-08-09CURLOPT_H3: removedDaniel Stenberg
There's no use for this anymore and it was never in a release. Closes #4206
2019-08-09http3: make connection reuse workDaniel Stenberg
Closes #4204
2019-08-09quiche: add SSLKEYLOGFILE supportDaniel Stenberg
2019-08-08cleanup: s/curl_debug/curl_dbg_debug in comments and docsDaniel Stenberg
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
2019-08-08RELEASE-NOTES: syncedDaniel Stenberg
2019-08-08alt-svc: add protocol version selection maskingDaniel Stenberg
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
2019-08-08http3: fix the HTTP/3 in the request, make alt-svc set right versionsDaniel Stenberg
Closes #4200
2019-08-08alt-svc: send Alt-Used: in redirected requestsDaniel Stenberg
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
2019-08-08CURLOPT_HTTP_VERSION: seting this to 3 forces HTTP/3 use directlyDaniel Stenberg
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
2019-08-07docs/ALTSVC: remove what works and the experimental explanationDaniel Stenberg
Also, put the TODO items at the bottom. Closes #4198
2019-08-07docs/EXPERIMENTAL: explain what it means and what's experimental nowDaniel Stenberg
2019-08-07curl: make use of CURLINFO_RETRY_AFTER when retryingDaniel Stenberg
If a Retry-After: header was used in the response, that value overrides other retry timing options. Fixes #3794 Closes #4195
2019-08-07curl: use CURLINFO_PROTOCOL to check for HTTP(s)Daniel Stenberg
... instead of CURLINFO_EFFECTIVE_URL to avoid string operations.
2019-08-07CURLINFO_RETRY_AFTER: parse the Retry-After header valueDaniel Stenberg
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
2019-08-07docs/ALTSVC.md: first basic file format descriptionDaniel Stenberg
2019-08-07curl: have -w's 'http_version' show '3' for HTTP/3Daniel Stenberg
Closes #4196
2019-08-07curl.h: add CURL_HTTP_VERSION_3 to the version enumDaniel Stenberg
It can't be set for CURLOPT_HTTP_VERSION, but it can be extracted with CURLINFO_HTTP_VERSION.
2019-08-07quiche: make use of the connection timeout API properlyDaniel Stenberg
2019-08-07quiche: make POSTFIELDS posts workDaniel Stenberg
2019-08-07quiche: improved error handling and memory cleanupsDaniel Stenberg
2019-08-07quiche: flush egress in h3_stream_recv() tooDaniel Stenberg
2019-08-06RELEASE-NOTES: syncedDaniel Stenberg
2019-08-06os400: take care of CURLOPT_SASL_AUTHZID in curl_easy_setopt_ccsid().Patrick Monnerat
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
2019-08-06tests: Fix the line endings for the SASL alt-auth testsJay Satiro
- 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
2019-08-06examples: Added SASL PLAIN authorisation identity (authzid) examplesSteve Holme
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
2019-08-06curl: --sasl-authzid added to support CURLOPT_SASL_AUTHZID from the toolSteve Holme
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
2019-08-06sasl: Implement SASL authorisation identity via CURLOPT_SASL_AUTHZIDSteve Holme
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
2019-08-06docs/HTTP3: refreshed as it is now in master and HTTP/3 can be testedDaniel Stenberg
2019-08-06mesalink: implement client authenticationYiming Jing
Closes #4184
2019-08-06curl_multi_poll: a sister to curl_multi_wait() that waits moreDaniel Stenberg
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
2019-08-06quiche:h3_stream_recv return 0 at end of streamDaniel Stenberg
... and remove some verbose messages we don't need. Made transfers from facebook.com work better.
2019-08-06altsvc: make quiche use h3-22 nowDaniel Stenberg
2019-08-06quiche: show the actual version numberDaniel Stenberg
2019-08-06quiche: first working HTTP/3 requestDaniel Stenberg
- enable debug log - fix use of quiche API - use download buffer - separate header/body Closes #4193
2019-08-06http09: disable HTTP/0.9 by default in both tool and libraryDaniel Stenberg
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
2019-08-05quiche: initial h3 request send/receiveDaniel Stenberg