summaryrefslogtreecommitdiff
path: root/docs/libcurl
Commit message (Collapse)AuthorAgeFilesLines
* OpenSSL: have CURLOPT_CRLFILE imply CURLSSLOPT_NO_PARTIALCHAINDaniel Stenberg2020-05-131-5/+8
| | | | | | | | ... to avoid an OpenSSL bug that otherwise makes the CRL check to fail. Reported-by: Michael Kaufmann Fixes #5374 Closes #5376
* CURLOPT_SSL_OPTIONS: add *_NATIVE_CA to use Windows CA store (with openssl)Gilles Vollant2020-05-082-0/+5
| | | | Closes #4346
* doc: add missing closing parenthesis in CURLINFO_SSL_VERIFYRESULT.3Emil Engler2020-05-021-1/+1
| | | | Closes #5320
* GnuTLS: Backend support for CURLINFO_SSL_VERIFYRESULTEmil Engler2020-04-301-1/+1
| | | | Closes #5287
* copyright updates: adjust year rangesDaniel Stenberg2020-04-261-1/+1
|
* libcurl-multi.3: added missing full stopi-ky2020-04-231-1/+1
| | | | Closes #5285
* mqtt: add new experimental protocolBjorn Stenberg2020-04-142-1/+2
| | | | Closes #5173
* CURLOPT_WRITEFUNCTION.3: add inline example and new see-alsoDaniel Stenberg2020-04-071-4/+33
| | | | Closes #5192
* cleanup: correct copyright year range on a few filesDaniel Stenberg2020-04-061-1/+1
|
* CURLINFO_CONDITION_UNMET: return true for 304 http status codeKwon-Young Choi2020-04-052-3/+5
| | | | | | | | | | | In libcurl, CURLINFO_CONDITION_UNMET is used to avoid writing to the output file if the server did not transfered a file based on time condition. In the same manner, getting a 304 HTTP response back from the server, for example after passing a custom If-Match-* header, also fulfill this condition. Fixes #5181 Closes #5183
* curl.h: remnove CURL_VERSION_ESNI. Never supported nor documentedDaniel Stenberg2020-03-291-1/+0
| | | | | | Considered experimental and therefore we can do this. Closes #5157
* version: add 'cainfo' and 'capath' to version info structDaniel Stenberg2020-03-272-10/+16
| | | | | | | | 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-24120-142/+200
| | | | | | | | | 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
* schannel: add "best effort" revocation check optionJohannes Schindelin2020-03-183-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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
* multi: Improve parameter check for curl_multi_remove_handleJay Satiro2020-03-181-2/+2
| | | | | | | | | - If an easy handle is owned by a multi different from the one specified then return CURLM_BAD_EASY_HANDLE. Prior to this change I assume user error could cause corruption. Closes https://github.com/curl/curl/pull/5116
* docs: add warnings about FILE: URLs on WindowsDaniel Stenberg2020-03-132-2/+32
| | | | | | | | - --url man page section - libcurl-security.3 gets the full text - CURLOPT_URL.3 Reported-by: Tim Sedlmeyer
* curl_share_setopt.3: Note sharing cookies doesn't enable the engineJay Satiro2020-03-061-0/+2
| | | | | | | | | | Follow-up to d0a7ee3 which fixed a bug in 7.66.0 that caused CURL_LOCK_DATA_COOKIE to enable the easy handle's cookie engine. Bug: https://curl.haxx.se/mail/lib-2020-03/0019.html Reported-by: Felipe Gasper Closes https://github.com/curl/curl/pull/5048
* polarssl: remove more references and mentionsDaniel Stenberg2020-03-054-15/+12
| | | | | | Assisted-by: Jay Satiro Follow-up to 6357a19ff29dac04 Closes #5036
* curl_escape.3: Add a link to curl_freeJay Satiro2020-03-021-1/+1
| | | | Ref: https://github.com/curl/curl/pull/5016#issuecomment-593628582
* curl_getenv.3: Fix the memory handling descriptionJay Satiro2020-03-021-4/+4
| | | | | | | | | | | - Tell the user to call curl_free() to free the pointer returned by curl_getenv(). Prior to this change the user was directed to call free(), but that would not work in cases where the library and application use separate C runtimes and therefore have separate heap memory management. Closes https://github.com/curl/curl/pull/5016
* docs: fix typo on CURLINFO_RETRY_AFTER - alwaus -> alwaysJonathan Cardoso Machado2020-02-291-1/+1
| | | | | Reviewed-by: Steve Holme Closes #5005
* CURLOPT_REDIR_PROTOCOLS.3: update the DEFAULT sectionDaniel Stenberg2020-02-181-2/+5
| | | | | | | | to be in sync with the description above Reported-by: Joonas Kuorilehto Fixes #4943 Closes #4945
* CURLINFO_COOKIELIST.3: Fix exampleJay Satiro2020-02-151-3/+3
| | | | | | | | | Prior to this change the example would try to import cookies from stdin, which wasn't what was intended. Reported-by: 3dyd@users.noreply.github.com Fixes https://github.com/curl/curl/issues/4930
* CURLOPT_ALTSVC_CTRL.3: fix the DEFAULT wordingDaniel Stenberg2020-02-111-2/+5
| | | | | | | Assisted-by: Jay Satiro Reported-by: Craig Andrews Fixes #4909 Closes #4910
* altsvc: keep a copy of the file name to survive handle resetDaniel Stenberg2020-02-091-2/+3
| | | | | | | | | | | | The alt-svc cache survives a call to curl_easy_reset fine, but the file name to use for saving the cache was cleared. Now the alt-svc cache has a copy of the file name to survive handle resets. Added test 1908 to verify. Reported-by: Craig Andrews Fixes #4898 Closes #4902
* location.d: the method change is from POST to GET onlyDaniel Stenberg2020-01-281-2/+2
| | | | | | | | Not from generic non-GET to GET. Reported-by: Andrius Merkys Ref: #4859 Closes #4861
* curl.h: define CURL_WIN32 on windowsDaniel Stenberg2020-01-271-1/+2
| | | | | | | | | | | | ... 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
* global_init: assume the EINTR bit by defaultDaniel Stenberg2020-01-261-4/+6
| | | | | | | | | | | | - Removed from global_init since it isn't thread-safe. The symbol will still remain to not break compiles, it just won't have any effect going forward. - make the internals NOT loop on EINTR (the opposite from previously). It only risks returning from the select/poll/wait functions early, and that should be risk-free. Closes #4840
* CURLOPT_PROXY_SSL_OPTIONS.3: Sync with CURLOPT_SSL_OPTIONS.3Jay Satiro2020-01-231-16/+22
| | | | | | | - Copy CURLOPT_SSL_OPTIONS.3 description to CURLOPT_PROXY_SSL_OPTIONS.3. Prior to this change CURLSSLOPT_NO_PARTIALCHAIN was missing from the CURLOPT_PROXY_SSL_OPTIONS description.
* smtp: Allow RCPT TO command to fail for some recipientsPavel Volgarev2020-01-214-0/+75
| | | | | | | | Introduces CURLOPT_MAIL_RCPT_ALLLOWFAILS. Verified with the new tests 3002-3007 Closes #4816
* HTTP: increase EXPECT_100_THRESHOLD to 1Mb加藤郁之2020-01-201-2/+2
| | | | | | Mentioned: https://curl.haxx.se/mail/lib-2020-01/0050.html Closes #4814
* HTTP-COOKIES.md: describe the cookie file formatDaniel Stenberg2020-01-132-2/+10
| | | | | | | | | | ... and refer to that file from from CURLOPT_COOKIEFILE.3 and CURLOPT_COOKIELIST.3 Assisted-by: Jay Satiro Reported-by: bsammon on github Fixes #4805 Closes #4806
* ngtcp2: Add an error code for QUIC connection errorsEmil Engler2020-01-112-0/+4
| | | | | | | | | | - 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-112-1/+4
| | | | | | | | | | | | | | - 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-091-5/+6
| | | | | ...requires some rearranging of the setup of CURLOPT_ and CURLMOPT_ enums.
* CURLOPT_READFUNCTION.3: fix fopen params in exampleJay Satiro2020-01-061-1/+1
|
* CURLOPT_READFUNCTION.3: fix variable name in exampleJay Satiro2020-01-061-1/+1
| | | | | | Reported-by: Paul Joyce Fixes https://github.com/curl/curl/issues/4787
* docs: mention CURL_MAX_INPUT_LENGTH restrictionsDaniel Stenberg2020-01-052-2/+10
| | | | | | | | ... for curl_easy_setopt() and curl_url_set(). [skip ci] Closes #4783
* CURLOPT_HEADERFUNCTION.3: Document that size is always 1Jay Satiro2019-12-261-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | For compatibility with `fwrite`, the `CURLOPT_HEADERFUNCTION` callback is passed two `size_t` parameters which, when multiplied, designate the number of bytes of data passed in. In practice, CURL always sets the first parameter (`size`) to 1. This practice is also enshrined in documentation and cannot be changed in future. The documentation states that the default callback is `fwrite`, which means `fwrite` must be a suitable function for this purpose. However, the documentation also states that the callback must return the number of *bytes* it successfully handled, whereas ISO C `fwrite` returns the number of items (each of size `size`) which it wrote. The only way these numbers can be equal is if `size` is 1. Since `size` is 1 and can never be changed in future anyway, document that fact explicitly and let users rely on it. Reported-by: Frank Gevaerts Commit-message-by: Christopher Head Ref: https://github.com/curl/curl/pull/2787 Fixes https://github.com/curl/curl/issues/4758
* CURLOPT_QUOTE.3: fix typosJay Satiro2019-12-183-11/+11
| | | | | | | | | Prior to this change the EXAMPLE in the QUOTE/PREQUOTE/POSTQUOTE man pages would not compile because a variable name was incorrect. Reported-by: Bylon2@users.noreply.github.com Fixes https://github.com/curl/curl/issues/4736
* CURLOPT_URL.3: "curl supports SMB version 1 (only)"Daniel Stenberg2019-12-181-2/+2
| | | | [skip ci]
* docs: TLS SRP doesn't work with TLS 1.3Daniel Stenberg2019-12-163-5/+11
| | | | | | Reported-by: sayrer on github Closes #4262 [skip ci]
* CURLOPT_VERBOSE.3: see also ERRORBUFFERDaniel Stenberg2019-12-041-1/+2
|
* openssl: CURLSSLOPT_NO_PARTIALCHAIN can disable partial cert chainsDaniel Stenberg2019-12-032-17/+22
| | | | Closes #4655
* OPENSOCKETFUNCTION.3: correct the purpose descriptionDaniel Stenberg2019-12-031-7/+4
| | | | | | | Reported-by: Jeff Mears Bug: https://curl.haxx.se/mail/lib-2019-12/0007.html Closes #4667
* docs: add more references to curl_multi_pollDaniel Stenberg2019-11-282-3/+4
| | | | | Fixes #4643 Closes #4652
* XFERINFOFUNCTION: support CURL_PROGRESSFUNC_CONTINUEJohn Schroeder2019-11-263-4/+11
| | | | | | | | | (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-262-1/+3
| | | | Closes #4597
* curl_multi_wakeup.3: add example and AVAILABILITYDaniel Stenberg2019-11-261-0/+39
| | | | | Reviewed-by: Gergely Nagy Closes #4635
* multi: add curl_multi_wakeup()Gergely Nagy2019-11-255-2/+60
| | | | | | | | | | | | 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