summaryrefslogtreecommitdiff
path: root/docs/libcurl
Commit message (Collapse)AuthorAgeFilesLines
...
* ws: if no connection is around, return errorDaniel Stenberg2022-12-131-2/+7
| | | | | | | | | | | - curl_ws_send returns CURLE_SEND_ERROR if data->conn is gone - curl_ws_recv returns CURLE_GOT_NOTHING on connection close - curl_ws_recv.3: mention new return code for connection close + example embryo Closes #10084
* docs/curl_ws_send: Fixed typo in websocket docsMonkeybreadSoftware2022-12-111-2/+2
| | | | | | | Replace as with is in relevant sentences. Closes: #10081 Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
* KNOWN_BUGS: remove items not considered bugs any moreDaniel Stenberg2022-12-093-11/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - CURL_GLOBAL_SSL This option was changed in libcurl 7.57.0 and clearly it has not caused too many issues and a lot of time has passed. - Store TLS context per transfer instead of per connection This is a possible future optimization. One that is much less important and interesting since the added support for CA caching. - Microsoft telnet server This bug was filed in May 2007 against curl 7.16.1 and we have not received further reports. - active FTP over a SOCKS Actually, proxies in general is not working with active FTP mode. This is now added in proxy documentation. - DICT responses show the underlying protocol curl still does this, but since this is now an established behavior since forever we cannot change it easily and adding an option for it seems crazy as this protocol is not so little its not worth it. Let's just live with it. - Secure Transport disabling hostname validation also disables SNI This is an already documented restriction in Secure Transport. - CURLOPT_SEEKFUNCTION not called with CURLFORM_STREAM The curl_formadd() function is marked and documented as deprecated. No point in collecting bugs for it. It should not be used further. - STARTTRANSFER time is wrong for HTTP POSTs After close source code inspection I cannot see how this is true or that there is any special treatment for different HTTP methods. We also have not received many further reports on this, making me strongly suspect that this is no (longer an) issue. - multipart formposts file name encoding The once proposed RFC 5987-encoding is since RFC 7578 documented as MUST NOT be used. The since then implemented MIME API allows the user to set the name on their own and can thus provide it encoded as it wants. - DoH is not used for all name resolves when enabled It is questionable if users actually want to use DoH for interface and FTP port name resolving. This restriction is now documented and we advice users against using name resolving at all for these functions. Closes #10043
* CURLOPT_COOKIEFILE.3: advice => adviseDaniel Stenberg2022-12-091-1/+1
| | | | | | Closes #10063 Reviewed-by: Daniel Gustafsson
* mime: relax easy/mime structures bindingPatrick Monnerat2022-11-281-5/+9
| | | | | | | | | | | | | | | | | | | Deprecation and removal of codeset conversion support from the library have released the strict need for an early binding of mime structures to an easy handle (https://github.com/curl/curl/commit/2610142). This constraint currently forces to create the handle before the mime structure and the latter cannot be attached to another handle once created (see https://curl.se/mail/lib-2022-08/0027.html). This commit removes the handle pointers from the mime structures allowing more flexibility on their use. When an easy handle is duplicated, bound mime structures must however still be duplicated too as their components hold send-time dynamic information. Closes #9927
* KNOWN_BUGS: remove five FTP related issuesDaniel Stenberg2022-11-262-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | - "FTP with CONNECT and slow server" I believe this is not a problem these days. - "FTP with NULs in URL parts" The FTP protocol does not support them properly anyway. - remove "FTP and empty path parts in the URL" I don't think this has ever been reported as a real problem but was only a hypothetical one. - "Premature transfer end but healthy control channel" This is not a bug, this is an optimization that *could* be performed but is not an actual problem. - "FTP without or slow 220 response" Instead add to the documentation of the connect timeout that the connection is considered complete at TCP/TLS/QUIC layer. Closes #9979
* aws_sigv4: consult x-%s-content-sha256 for payload hashCasey Bodley2022-11-251-1/+7
| | | | | | | | | | | | | | | | | | | `Curl_output_aws_sigv4()` doesn't always have the whole payload in memory to generate a real payload hash. this commit allows the user to pass in a header like `x-amz-content-sha256` to provide their desired payload hash some services like s3 require this header, and may support other values like s3's `UNSIGNED-PAYLOAD` and `STREAMING-AWS4-HMAC-SHA256-PAYLOAD` with special semantics. servers use this header's value as the payload hash during signature validation, so it must match what the client uses to generate the signature CURLOPT_AWS_SIGV4.3 now describes the content-sha256 interaction Signed-off-by: Casey Bodley <cbodley@redhat.com> Closes #9804
* docs: add more "SEE ALSO" links to CA related pagesDaniel Stenberg2022-11-222-2/+4
| | | | Closes #9959
* CURLOPT_POST.3: Explain setting to 0 changes request typeJay Satiro2022-11-191-0/+4
| | | | | | | Bug: https://github.com/curl/curl/issues/9849 Reported-by: MonkeybreadSoftware@users.noreply.github.com Closes https://github.com/curl/curl/pull/9942
* CURLOPT_QUICK_EXIT: don't wait for DNS thread on exitAlexandre Ferrieux2022-11-183-0/+62
| | | | | Fixes #2975 Closes #9147
* lib: feature deprecation warnings in gcc >= 4.3Patrick Monnerat2022-11-156-7/+14
| | | | | | | | | | | | | | | | | | | | | | | Add a deprecated attribute to functions and enum values that should not be used anymore. This uses a gcc 4.3 dialect, thus is only available for this version of gcc and newer. Note that the _Pragma() keyword is introduced by C99, but is available as part of the gcc dialect even when compiling in C89 mode. It is still possible to disable deprecation at a calling module compile time by defining CURL_DISABLE_DEPRECATION. Gcc type checking macros are made aware of possible deprecations. Some testing support Perl programs are adapted to the extended declaration syntax. Several test and unit test C programs intentionally use deprecated functions/options and are annotated to not generate a warning. New test 1222 checks the deprecation status in doc and header files. Closes #9667
* docs: curl_version_info is not thread-safe before libcurl initializationPatrick Monnerat2022-11-142-0/+6
| | | | Closes #9583
* version: add a feature names array to curl_version_info_dataPatrick Monnerat2022-11-142-44/+117
| | | | | | | | | | Field feature_names contains a null-terminated sorted array of feature names. Bitmask field features is deprecated. Documentation is updated. Test 1177 and tests/version-scan.pl updated to match new documentation format and extended to check feature names too. Closes #9583
* lib: add CURL_WRITEFUNC_ERROR to signal write callback errorJay Satiro2022-11-104-4/+16
| | | | | | | | | | | | | | | Prior to this change if the user wanted to signal an error from their write callbacks they would have to use logic to return a value different from the number of bytes (nmemb) passed to the callback. Also, the inclination of some users has been to just return 0 to signal error, which is incorrect as that may be the number of bytes passed to the callback. To remedy this the user can now return CURL_WRITEFUNC_ERROR instead. Ref: https://github.com/curl/curl/issues/9873 Closes https://github.com/curl/curl/pull/9874
* curl.h: add CURLOPT_CA_CACHE_TIMEOUT optionMichael Drake2022-11-084-0/+80
| | | | | | | | | | Adds a new option to control the maximum time that a cached certificate store may be retained for. Currently only the OpenSSL backend implements support for caching certificate stores. Closes #9620
* CURLOPT_DEBUGFUNCTION.3: do not assume nul-termination in exampleDaniel Stenberg2022-11-071-1/+2
| | | | | | | | Reported-by: Oskar Sigvardsson Bug: https://curl.se/mail/lib-2022-11/0016.html Closes #9862
* noproxy: tailmatch like in 7.85.0 and earlierDaniel Stenberg2022-11-071-4/+0
| | | | | | | | | | | | | | A regfression in 7.86.0 (via 1e9a538e05c010) made the tailmatch work differently than before. This restores the logic to how it used to work: All names listed in NO_PROXY are tailmatched against the used domain name, if the lengths are identical it needs a full match. Update the docs, update test 1614. Reported-by: Stuart Henderson Fixes #9842 Closes #9858
* libcurl-errors.3: remove duplicate wordAdam Averay2022-11-031-1/+1
| | | | Closes #9846
* docs: remove performance note in CURLOPT_SSL_VERIFYPEERPatrick Schlangen2022-10-301-9/+0
| | | | | | | This note became obsolete since PR #7892 (see also discussion in the PR comments). Closes #9832
* docs: explain the noproxy CIDR notation supportDaniel Stenberg2022-10-281-0/+5
| | | | | | Follow-up to 1e9a538e05c0107c Closes #9818
* CURLMOPT_SOCKETFUNCTION.3: clarify CURL_POLL_REMOVEDaniel Stenberg2022-10-261-7/+12
| | | | | | | | | The removal is brief or long, don't assume. Reported-by: Luca Niccoli Fixes #9799 Closes #9800
* docs: make sure libcurl opts examples pass in long argumentsDaniel Stenberg2022-10-2216-16/+19
| | | | | | Reported-by: Sergey Fixes #9779 Closes #9780
* noproxy: support proxies specified using cidr notationDaniel Stenberg2022-10-211-4/+0
| | | | | | | | | | | | | | | For both IPv4 and IPv6 addresses. Now also checks IPv6 addresses "correctly" and not with string comparisons. Split out the noproxy checks and functionality into noproxy.c Added unit test 1614 to verify checking functions. Reported-by: Mathieu Carbonneaux Fixes #9773 Fixes #5745 Closes #9775
* CURLMOPT_PIPELINING.3: dedup manpage xrefBrad Harder2022-10-201-1/+0
| | | | Closes #9776
* CURLOPT_AUTOREFERER.3: highlight the privacy leak riskDaniel Stenberg2022-10-181-1/+5
| | | | Closes #9757
* CURLOPT_POSTFIELDS.3: refer to CURLOPT_MIMEPOSTDaniel Stenberg2022-10-171-1/+2
| | | | | | | | | Not the deprecated CURLOPT_HTTPPOST option. Also added two see-alsos. Reported-by: Trail of Bits Closes #9752
* doc: fix deprecation versions inconsistenciesPatrick Monnerat2022-10-1318-45/+53
| | | | | | Ref: https://curl.se/mail/lib-2022-10/0026.html Closes #9711
* misc: nitpick grammar in comments/docs129322022-10-121-1/+1
| | | | | | | | | | | | because the 'u' in URL is actually a consonant *sound* it is only correct to write "a URL" sorry this is a bit nitpicky :P https://english.stackexchange.com/questions/152/when-should-i-use-a-vs-an https://www.techtarget.com/whatis/feature/Which-is-correct-a-URL-or-an-URL Closes #9699
* docs: fix grammar around needing pass phraseMartin Ă…gren2022-10-112-2/+2
| | | | | | | "You never needed a pass phrase" reads like it's about to be followed by something like "until version so-and-so", but that is not what is intended. Change to "You never need a pass phrase". There are two instances of this text, so make sure to update both.
* curl_ws_send.3: call the argument 'fragsize'Daniel Stenberg2022-10-071-7/+7
| | | | | | Since WebSocket works with "fragments" not "frames" Closes #9668
* websockets: remodeled API to support 63 bit frame sizesDaniel Stenberg2022-10-074-37/+71
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | curl_ws_recv() now receives data to fill up the provided buffer, but can return a partial fragment. The function now also get a pointer to a curl_ws_frame struct with metadata that also mentions the offset and total size of the fragment (of which you might be receiving a smaller piece). This way, large incoming fragments will be "streamed" to the application. When the curl_ws_frame struct field 'bytesleft' is 0, the final fragment piece has been delivered. curl_ws_recv() was also adjusted to work with a buffer size smaller than the fragment size. (Possibly needless to say as the fragment size can now be 63 bit large). curl_ws_send() now supports sending a piece of a fragment, in a streaming manner, in addition to sending the entire fragment in a single call if it is small enough. To send a huge fragment, curl_ws_send() can be used to send it in many small calls by first telling libcurl about the total expected fragment size, and then send the payload in N number of separate invokes and libcurl will stream those over the wire. The struct curl_ws_meta() returns is now called 'curl_ws_frame' and it has been extended with two new fields: *offset* and *bytesleft*. To help describe the passed on data chunk when a fragment is delivered in many smaller pieces. The documentation has been updated accordingly. Closes #9636
* CURLOPT_COOKIEFILE: insist on "" for enable-without-fileDaniel Stenberg2022-10-061-4/+8
| | | | | | | | | | | | The former way that also suggested using a non-existing file to just enable the cookie engine could lead to developers maybe a bit carelessly guessing a file name that will not exist, and then in a future due to circumstances, such a file could be made to exist and then accidentally libcurl would read cookies not actually meant to. Reported-by: Trail of bits Closes #9654
* CURLOPT_HTTPPOST.3: bolden the deprecation noticeJay Satiro2022-10-052-4/+3
| | | | | | Ref: https://github.com/curl/curl/pull/9621 Closes https://github.com/curl/curl/pull/9637
* CURLOPT_MIMEPOST.3: add an (inline) exampleDaniel Stenberg2022-10-051-3/+19
| | | | | | | Reported-by: Jay Satiro Bug: https://github.com/curl/curl/pull/9637#issuecomment-1268070723 Closes #9649
* CURLOPT_COOKIELIST.3: fix formatting mistakeDaniel Stenberg2022-10-041-1/+1
| | | | | | | | | Also, updated manpage-syntax.pl to make it detect this error in test 1173. Reported-by: ProceduralMan on github Fixes #9639 Closes #9640
* curl_url_set.3: document CURLU_APPENDQUERY properDaniel Stenberg2022-10-011-7/+10
| | | | | | | | Listed among the other supported flags. Reported-by: Robby Simpson Fixes #9628 Closes #9629
* lib: sanitize conditional exclusion around MIMEPatrick Monnerat2022-09-291-7/+31
| | | | | | | | | | | | | | | The introduction of CURL_DISABLE_MIME came with some additional bugs: - Disabled MIME is compiled-in anyway if SMTP and/or IMAP is enabled. - CURLOPT_MIMEPOST, CURLOPT_MIME_OPTIONS and CURLOPT_HTTPHEADER are conditioned on HTTP, although also needed for SMTP and IMAP MIME mail uploads. In addition, the CURLOPT_HTTPHEADER and --header documentation does not mention their use for MIME mail. This commit fixes the problems above. Closes #9610
* CURLSHOPT_UNLOCKFUNC.3: the callback as no 'access' argumentDaniel Stenberg2022-09-281-2/+0
| | | | | | | | Probably a copy and paste error from the lock function man page. Reported-by: Robby Simpson Fixes #9612 Closes #9613
* CURLOPT_ACCEPT_ENCODING.3: remove "four" as they are fiveDaniel Stenberg2022-09-281-4/+4
| | | | | | | | ... instead just list the supported encodings. Reported-by: ProceduralMan on github Fixes #9614 Closes #9615
* docs: tag curl options better in man pagesDaniel Stenberg2022-09-227-12/+14
| | | | | | As it makes them links in the HTML versions. Verified by the extended test 1176
* symbols-in-versions: CURLOPT_ENCODING is deprecated since 7.21.6Daniel Stenberg2022-09-221-1/+1
|
* curl.h: fix mention of wrong error code in commentDaniel Stenberg2022-09-221-3/+2
| | | | | The same error and comment were also used and is now corrected in CURLOPT_SSH_KEYFUNCTION.3
* symbols-in-versions: add missing LIBCURL* symbolsDaniel Stenberg2022-09-221-0/+7
|
* docs/libcurl/symbols-in-versions: add several missing symbolsDaniel Stenberg2022-09-221-3/+19
|
* docs: spellfixesDaniel Stenberg2022-09-21144-740/+743
| | | | Pointed by the new CI job
* curl_strequal.3: fix typoTobias Schaefer2022-09-201-1/+1
| | | | Closes #9548
* docs: fix proselint complaintsDaniel Stenberg2022-09-191-2/+2
|
* misc: null-terminateDaniel Stenberg2022-09-174-8/+8
| | | | | | Make use of this term consistently. Closes #9527
* docs: tell about disabled protocols in CURLOPT_*PROTOCOLS_STR.Patrick Monnerat2022-09-162-6/+10
| | | | | Disabled protocols are now handled as if they were unknown. Also update the possible protocol list.
* curl_escape.3: fix typoSergey Bronnikov2022-09-161-1/+1
| | | | | | lengthf -> length Closes #9517