summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* curl.h: update comment typoBrian Bergeron2020-04-221-1/+1
| | | | | | "routines with be invoked" -> "routines will be invoked" Closes #5279
* mqtt: add new experimental protocolBjorn Stenberg2020-04-141-0/+1
| | | | Closes #5173
* curl.h: remnove CURL_VERSION_ESNI. Never supported nor documentedDaniel Stenberg2020-03-291-2/+0
| | | | | | Considered experimental and therefore we can do this. Closes #5157
* version: add 'cainfo' and 'capath' to version info structDaniel Stenberg2020-03-271-1/+9
| | | | | | | | Suggested-by: Timothe Litt URL: https://curl.haxx.se/mail/lib-2020-03/0090.html Reviewed-by: Jay Satiro Closes #5150
* copyright: fix out-of-date copyright ranges and missing headersDaniel Stenberg2020-03-241-0/+21
| | | | | | | | | Reported by the new script 'scripts/copyright.pl'. The script has a regex whitelist for the files that don't need copyright headers. Removed three (mostly usesless) README files from docs/ Closes #5141
* RELEASE-NOTES: syncedDaniel Stenberg2020-03-181-4/+4
| | | | ... and bumped curlver.h to 7.70.0
* schannel: add "best effort" revocation check optionJohannes Schindelin2020-03-181-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Implement new option CURLSSLOPT_REVOKE_BEST_EFFORT and --ssl-revoke-best-effort to allow a "best effort" revocation check. A best effort revocation check ignores errors that the revocation check was unable to take place. The reasoning is described in detail below and discussed further in the PR. --- When running e.g. with Fiddler, the schannel backend fails with an unhelpful error message: Unknown error (0x80092012) - The revocation function was unable to check revocation for the certificate. Sadly, many enterprise users who are stuck behind MITM proxies suffer the very same problem. This has been discussed in plenty of issues: https://github.com/curl/curl/issues/3727, https://github.com/curl/curl/issues/264, for example. In the latter, a Microsoft Edge developer even made the case that the common behavior is to ignore issues when a certificate has no recorded distribution point for revocation lists, or when the server is offline. This is also known as "best effort" strategy and addresses the Fiddler issue. Unfortunately, this strategy was not chosen as the default for schannel (and is therefore a backend-specific behavior: OpenSSL seems to happily ignore the offline servers and missing distribution points). To maintain backward-compatibility, we therefore add a new flag (`CURLSSLOPT_REVOKE_BEST_EFFORT`) and a new option (`--ssl-revoke-best-effort`) to select the new behavior. Due to the many related issues Git for Windows and GitHub Desktop, the plan is to make this behavior the default in these software packages. The test 2070 was added to verify this behavior, adapted from 310. Based-on-work-by: georgeok <giorgos.n.oikonomou@gmail.com> Co-authored-by: Markus Olsson <j.markus.olsson@gmail.com> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> Closes https://github.com/curl/curl/pull/4981
* RELEASE-NOTES: syncedDaniel Stenberg2020-03-111-3/+3
| | | | bumped to 7.69.2
* RELEASE-NOTES: syncedDaniel Stenberg2020-03-051-3/+3
| | | | and bumped curlver.h
* curl.h: define CURL_WIN32 on windowsDaniel Stenberg2020-01-271-5/+14
| | | | | | | | | | | | ... so that the subsequent logic below can use a single known define to know when built on Windows (as we don't define WIN32 anymore). Follow-up to 1adebe7886ddf20b Reported-by: crazydef on github Assisted-by: Marcel Raad Fixes #4854 Closes #4855
* smtp: Allow RCPT TO command to fail for some recipientsPavel Volgarev2020-01-211-0/+3
| | | | | | | | Introduces CURLOPT_MAIL_RCPT_ALLLOWFAILS. Verified with the new tests 3002-3007 Closes #4816
* ngtcp2: Add an error code for QUIC connection errorsEmil Engler2020-01-111-0/+1
| | | | | | | | | | - Add new error code CURLE_QUIC_CONNECT_ERROR for QUIC connection errors. Prior to this change CURLE_FAILED_INIT was used, but that was not correct. Closes https://github.com/curl/curl/pull/4754
* multi: Change curl_multi_wait/poll to error on negative timeoutJay Satiro2020-01-111-1/+2
| | | | | | | | | | | | | | - Add new error CURLM_BAD_FUNCTION_ARGUMENT and return that error when curl_multi_wait/poll is passed timeout param < 0. Prior to this change passing a negative value to curl_multi_wait/poll such as -1 could cause the function to wait forever. Reported-by: hamstergene@users.noreply.github.com Fixes https://github.com/curl/curl/issues/4763 Closes https://github.com/curl/curl/pull/4765
* include: remove non-curl prefixed definesDaniel Stenberg2020-01-092-364/+339
| | | | | ...requires some rearranging of the setup of CURLOPT_ and CURLMOPT_ enums.
* curl.h: remove WIN32 defineDaniel Stenberg2020-01-091-10/+1
| | | | | It isn't our job to define this in a public header - and it defines a name outside of our naming scope.
* bump: work towards 7.69.0 is startedDaniel Stenberg2020-01-091-5/+5
|
* multi.h: move INITIAL_MAX_CONCURRENT_STREAMS from public headerDaniel Stenberg2020-01-061-4/+1
| | | | | | | ... to the private multihhandle.h. It is not for public use and it wasn't prefixed correctly anyway! Closes #4790
* curl.h: add two defines for the "pre ISO C" caseDaniel Stenberg2019-12-191-0/+2
| | | | | | | | | Without this fix, this caused a compilation failure on AIX with IBM xlc 13.1.3 compiler. Reported-by: Ram Krushna Mishra Fixes #4739 Closes #4740
* openssl: CURLSSLOPT_NO_PARTIALCHAIN can disable partial cert chainsDaniel Stenberg2019-12-031-0/+4
| | | | Closes #4655
* XFERINFOFUNCTION: support CURL_PROGRESSFUNC_CONTINUEJohn Schroeder2019-11-261-0/+5
| | | | | | | | | (also for PROGRESSFUNCTION) By returning this value from the callback, the internal progress function call is still called afterward. Closes #4599
* TLS: add BearSSL vtls implementationMichael Forney2019-11-261-1/+2
| | | | Closes #4597
* multi: add curl_multi_wakeup()Gergely Nagy2019-11-251-0/+10
| | | | | | | | | | | | This commit adds curl_multi_wakeup() which was previously in the TODO list under the curl_multi_unblock name. On some platforms and with some configurations this feature might not be available or can fail, in these cases a new error code (CURLM_WAKEUP_FAILURE) is returned from curl_multi_wakeup(). Fixes #4418 Closes #4608
* include: make CURLE_HTTP3 use a new error codeDaniel Stenberg2019-11-211-3/+2
| | | | | | | | | To avoid potential issues with error code reuse. Reported-by: Christoph M. Becker Assisted-by: Dan Fandrich Fixes #4601 Closes #4627
* bump: next release will be 7.68.0Daniel Stenberg2019-11-211-4/+4
|
* quiche: reject headers in the wrong orderDaniel Stenberg2019-11-121-1/+3
| | | | | | | | Pseudo header MUST come before regular headers or cause an error. Reported-by: Cynthia Coan Fixes #4571 Closes #4584
* system.h: fix for MCST lcc compilerr-a-sattarov2019-11-091-8/+19
| | | | | | | | | | | | Fixed build by MCST lcc compiler on MCST Elbrus 2000 architecture and do some code cleanup. e2k (Elbrus 2000) - this is VLIW/EPIC architecture, like Intel Itanium architecture. Ref: https://en.wikipedia.org/wiki/Elbrus_2000 Closes https://github.com/curl/curl/pull/4576
* curlver: bump to 7.67.1Daniel Stenberg2019-11-081-3/+3
|
* ESNI: initial build/setupNiall2019-10-021-0/+2
| | | | Closes #4011
* CURLMOPT_MAX_CONCURRENT_STREAMS: new setoptKunal Ekawde2019-10-021-0/+6
| | | | Closes #4410
* urlapi: CURLU_NO_AUTHORITY allows empty authority/host partJens Finkhaeuser2019-09-191-0/+2
| | | | | | | CURLU_NO_AUTHORITY is intended for use with unknown schemes (i.e. not "file:///") to override cURL's default demand that an authority exists. Closes #4349
* version: next release will be 7.67.0Daniel Stenberg2019-09-191-4/+4
|
* curlver: bump to 7.66.1Daniel Stenberg2019-09-121-3/+3
|
* defines: avoid underscore-prefixed definesDaniel Stenberg2019-08-239-310/+310
| | | | | | | | | | | 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
* vauth: Use CURLE_AUTH_ERROR for auth function errorsJay Satiro2019-08-141-0/+2
| | | | | | | | | | | | | | - 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
* curl_version_info: make the quic_version a constDaniel Stenberg2019-08-131-1/+1
| | | | | | Follow-up from 1a2df1518ad8653f Closes #4222
* curl_version_info: offer quic (and h3) library infoDaniel Stenberg2019-08-121-1/+2
| | | | Closes #4216
* CURLOPT_H3: removedDaniel Stenberg2019-08-091-6/+1
| | | | | | There's no use for this anymore and it was never in a release. Closes #4206
* alt-svc: send Alt-Used: in redirected requestsDaniel Stenberg2019-08-081-1/+1
| | | | | | | | | | | | | | | 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
* CURLOPT_HTTP_VERSION: seting this to 3 forces HTTP/3 use directlyDaniel Stenberg2019-08-081-5/+2
| | | | | | | | | | | | 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
* CURLINFO_RETRY_AFTER: parse the Retry-After header valueDaniel Stenberg2019-08-071-1/+2
| | | | | | | | 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
* curl.h: add CURL_HTTP_VERSION_3 to the version enumDaniel Stenberg2019-08-071-1/+3
| | | | | It can't be set for CURLOPT_HTTP_VERSION, but it can be extracted with CURLINFO_HTTP_VERSION.
* sasl: Implement SASL authorisation identity via CURLOPT_SASL_AUTHZIDSteve Holme2019-08-062-0/+4
| | | | | | | | | | | | | | | | | 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
* curl_multi_poll: a sister to curl_multi_wait() that waits moreDaniel Stenberg2019-08-061-1/+15
| | | | | | | | | | | | | | | | | | | | | | | | 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
* curl.h: fix outdated commentJustin2019-07-301-4/+1
| | | | Closes #4167
* HTTP3: initial (experimental) supportDaniel Stenberg2019-07-211-0/+8
| | | | | | | | | USe configure --with-ngtcp2 or --with-quiche Using either option will enable a HTTP3 build. Co-authored-by: Alessandro Ghedini <alessandro@ghedini.me> Closes #3500
* curl_version_info: provide nghttp2 detailsDaniel Stenberg2019-07-201-2/+7
| | | | | | Introducing CURLVERSION_SIXTH with nghttp2 info. Closes #4121
* bump: start working on 7.66.0Daniel Stenberg2019-07-191-4/+4
|
* version: bump to 7.65.3Daniel Stenberg2019-07-191-3/+3
|
* libcurl: Restrict redirect schemes (follow-up)Jay Satiro2019-07-171-2/+1
| | | | | | | | | | | | - Allow FTPS on redirect. - Update default allowed redirect protocols in documentation. Follow-up to 6080ea0. Ref: https://github.com/curl/curl/pull/4094 Closes https://github.com/curl/curl/pull/4115
* typecheck: add 3 missing strings and a callback data pointerDaniel Stenberg2019-06-221-2/+5
| | | | Closes #4050