summaryrefslogtreecommitdiff
path: root/docs
Commit message (Collapse)AuthorAgeFilesLines
* DEPRECATE.md: push the NSS deprecation date forward one year to 2023Daniel Stenberg2022-08-171-1/+1
| | | | URL: https://curl.se/mail/lib-2022-08/0016.html
* KNOWN_BUGS: Windows Unicode builds use homedir in current localeJay Satiro2022-08-161-0/+11
| | | | | | | | | Bug: https://github.com/curl/curl/pull/7252 Reported-by: dEajL3kA@users.noreply.github.com Ref: https://github.com/curl/curl/pull/7281 Closes https://github.com/curl/curl/pull/9305
* curl_multi_perform.3: minor language fixDaniel Stenberg2022-08-151-2/+2
| | | | Closes #9316
* Makefile.m32: allow -nghttp3/-ngtcp2 without -ssl [ci skip]Viktor Szakats2022-08-151-12/+14
| | | | | | | | | | | | | | | | | | | | | | Before this patch `-nghttp3`/`-ngtcp2` had an effect only when `-ssl` was also enabled. `-ssl` meaning OpenSSL (and its forks). After 8a13be227eede2601c2b3b1c63e08b3dc9b35dd5 nghttp3/ngtcp2 can also be used together with wolfSSL. This patch adds the ability to enable `-nghttp3`/`-ngtcp2` independently from `-ssl` (OpenSSL), allowing to use it with wolfSSL or other, future TLS backends. Before this patch, it was fine to enable `-nghttp3`/`-ngtcp2` unconditionally. After this patch, this is no longer the case, and now it's the user's responsibility to enable `-nghttp3`/`-ngtcp2` only together with a compatible TLS backend. When using a TLS backend other than OpenSSL, the TLS-specific ngtcp2 library must be configured manually, e.g.: `export CURL_LDFLAG_EXTRAS=-lngtcp2_crypto_wolfssl` (or via `NGTCP2_LIBS`) Closes #9314
* quic: add support via wolfSSLStefan Eissing2022-08-151-0/+40
| | | | | | | | - based on ngtcp2 PR https://github.com/ngtcp2/ngtcp2/pull/505 - configure adapted to build against ngtcp2 wolfssl crypto lib - quic code added for creation of WOLFSSL* instances Closes #9290
* KNOWN_BUGS: FTPS directory listing hangs on Windows with SchannelDaniel Stenberg2022-08-131-0/+5
| | | | Closes #9161
* KNOWN_BUGS: CURLOPT_CERTINFO results in CURLE_OUT_OF_MEMORY with SchannelDaniel Stenberg2022-08-131-0/+5
| | | | Closes #8741
* KNOWN_BUGS: libssh blocking and infinite loop problemDaniel Stenberg2022-08-131-0/+9
| | | | Closes #8632
* docs/cmdline-opts: fix example and categories for --form-escapeEmanuele Torre2022-08-121-2/+2
| | | | | | | | | | | | The example was missing a "--form" argument I also replaced "--form" with "-F" to shorten the line a bit since it was already very long. And I also moved --form-escape from the "post" category to the "upload" category (this is what I originally wanted to fix, before also noticing the mistake in the example). Closes #9298
* HTTP3.md: update to msh3 v0.4.0Nick Banks2022-08-111-2/+2
| | | | Closes #9297
* KNOWN_BUGS: long paths are not fully supported on WindowsJay Satiro2022-08-111-0/+10
| | | | | | | Bug: https://github.com/curl/curl/issues/8361 Reported-by: Gisle Vanem Closes https://github.com/curl/curl/pull/9288
* KNOWN_BUGS: Negotiate authentication against Hadoop HDFSDaniel Stenberg2022-08-081-0/+5
| | | | Closes #8264
* KNOWN_BUGS: cmake build is not thread-safeDaniel Stenberg2022-08-081-0/+10
| | | | | | | | | The cmake build does not check for and verify presence of a working Atomic type, which then makes curl_global_init() to not build thread-safe on non-Windows platforms. Closes https://github.com/curl/curl/issues/8973 Closes https://github.com/curl/curl/pull/8982
* CURLINFO_SPEED_UPLOAD/DOWNLOAD.3: fix examplesDaniel Stenberg2022-08-072-2/+2
| | | | | | | Reported-by: jvvprasad78 on github Assisted-by: Jay Satiro Fixes #9239 Closes #9241
* CURLOPT_CONNECT_ONLY.3: clarify multi API useDaniel Stenberg2022-08-071-0/+6
| | | | | | Reported-by: Maxim Ivanov Fixes #9244 Closes #9262
* docs: add dns category to --resolveEmil Engler2022-08-061-1/+1
| | | | | | | | | | | This commit adds the dns category to the --resolve command line option, because it can be interpreted as both: a low-level connection option and an option related to the resolving of a hostname. It is also not common for dns options to belong to the connection category and vice versa. --ipv4 and --ipv6 are both good examples. Closes #9229
* schannel: Add TLS 1.3 supportWyatt O'Day2022-08-023-7/+19
| | | | | | | | | | - Support TLS 1.3 as the default max TLS version for Windows Server 2022 and Windows 11. - Support specifying TLS 1.3 ciphers via existing option CURLOPT_TLS13_CIPHERS (tool: --tls13-ciphers). Closes https://github.com/curl/curl/pull/8419
* cmdline-opts/gen.pl: improve performanceEmil Engler2022-08-021-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | On some systems, the gen.pl script takes nearly two minutes for the generation of the main-page, which is a completely unacceptable time. The slow performance has two causes: 1. Use of a regex locale operator 2. Useless invokations of loops The commit addresses the first issue by replacing the "\W" wiht [^a-zA-Z0-9_], which is, according to regex101.com, functionally equivalent to the previous operation, except that it is obviously limited to ASCII only, which is fine, as the curl project is English-only anyway. The second issue is being addressed by only running the loop if the line contains a "--" in it. The loop may be completeley removed in the future. Co-authored-by: Emanuele Torre <torreemanuele6@gmail.com> See #8299 Fixes #9230 Closes #9232
* docs/cmdline: mark fail and fail-with-body as mutually exclusiveDaniel Stenberg2022-08-022-0/+2
| | | | | | Reported-by: Andreas Sommer Fixes #9221 Closes #9222
* docs: remove him/her/he/she from documentationMarco Kamner2022-07-272-3/+3
| | | | Closes #9208
* tool_getparam: make --doh-url "" switch it offDaniel Stenberg2022-07-271-0/+3
| | | | | | | | A possible future addition could be to parse the URL first too to verify that it is valid before trying to use it. Assisted-by: Jay Satiro Closes #9207
* BUGS.md: improve languagerzrymiak2022-07-261-7/+6
| | | | Closes #9205
* curl_multi_timeout.3: clarify usageDaniel Stenberg2022-07-171-6/+8
| | | | | | Fixes #9155 Closes #9157 Reported-by: jvvprasad78 on github
* Makefile.m32: add `CURL_RC` and `CURL_STRIP` variables [ci skip]Viktor Szakats2022-07-101-1/+4
| | | | | | | | | | | | | | They allow to override the hardcoded values for the `windres` and `strip` tools, complementing the existing set of `CURL_{CC,AR,RANLIB}` variables. `CURL_RC` comes handy when using LLVM tools with `CROSSPREFIX=llvm-` and `CURL_CC=clang` set on current latest debian:unstable or earlier, where `llvm-windres` is missing, and a `CURL_RC=<triplet>-windres` fixes it. Hopefully this will be fixed in the llvm package. FWIW `llvm-windres` does exist in Homebrew llvm, MSYS2 llvm and llvm-mingw. Reviewed-by: Daniel Stenberg Closes #9132
* docs: explain curl_easy_escape/unescape curl handle is ignoredJay Satiro2022-07-102-0/+8
| | | | | | | | | | | 26101421 (precedes 7.82.0) removed character conversion support used by very old legacy operating systems and since then the curl handle passed to curl_easy_escape/unescape is always ignored. Bug: https://github.com/curl/curl/discussions/9115 Reported-by: Ted Lyngmo Closes https://github.com/curl/curl/pull/9121
* netrc.d: remove spurious quoteBrad Forschinger2022-07-061-1/+1
| | | | Closes #9111
* Makefile.m32: add `NGTCP2_LIBS` option [ci skip]Viktor Szakats2022-07-061-1/+6
| | | | | | | | Makefile.m32's ngtcp2 has its two libs hardwired for OpenSSL. Add `NGTCP2_LIBS` envvar to override them with a custom list, making it possible to use BoringSSL, or any other backend. Closes #9109
* CURLOPT_SERVER_RESPONSE_TIMEOUT: the new nameDaniel Stenberg2022-07-056-53/+55
| | | | | | | | | | | Starting now, CURLOPT_FTP_RESPONSE_TIMEOUT is the alias instead of the other way around. Since 7.20.0, CURLOPT_SERVER_RESPONSE_TIMEOUT has existed as an alias but since the option is for more protocols than FTP the more "correct" version of the option is the "server" one so now we switch. Closes #9104
* urldata: make 'use_port' an usigned shortDaniel Stenberg2022-07-041-2/+3
| | | | | | | ... instead of a long. It is already enforced to not attempt to set any value outside of 16 bits unsigned. Closes #9099
* makefile.m32: add support for custom ARCH [ci skip]Viktor Szakats2022-07-041-1/+3
| | | | | | | | | | | | | | When building curl for target platform other than x64 and x86, it is now possible to pass `ARCH=custom`, that will omit all hardcoded logic for setting up CFLAGS/LDFLAGS/RCFLAGS for these platforms, and let these be customized via `CURL_CFLAG_EXTRAS`, `CURL_LDFLAG_EXTRAS`, and a newly added one for the resource compiler: `CURL_RCFLAG_EXTRAS`. This makes it possible to use `makefile.m32` to build for ARM64 for example. Reviewed-by: Daniel Stenberg Closes #9092
* windows: improve random sourceViktor Szakats2022-07-041-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Use the Windows API to seed the fallback random generator. This ensures to always have a random seed, even when libcurl is built with a vtls backend lacking a random generator API, such as rustls (experimental), GSKit and certain mbedTLS builds, or, when libcurl is built without a TLS backend. We reuse the Windows-specific random function from the Schannel backend. - Implement support for `BCryptGenRandom()` [1] on Windows, as a replacement for the deprecated `CryptGenRandom()` [2] function. It is used as the secure random generator for Schannel, and also to provide entropy for libcurl's fallback random generator. The new function is supported on Vista and newer via its `bcrypt.dll`. It is used automatically when building for supported versions. It also works in UWP apps (the old function did not). - Clear entropy buffer before calling the Windows random generator. This avoids using arbitrary application memory as entropy (with `CryptGenRandom()`) and makes sure to return in a predictable state when an API call fails. [1] https://docs.microsoft.com/windows/win32/api/bcrypt/nf-bcrypt-bcryptgenrandom [2] https://docs.microsoft.com/windows/win32/api/wincrypt/nf-wincrypt-cryptgenrandom Closes #9027
* setopt: add CURLOPT_PROTOCOLS_STR and CURLOPT_REDIR_PROTOCOLS_STRDaniel Stenberg2022-07-048-3/+195
| | | | | | | | | | | | | | ... as replacements for deprecated CURLOPT_PROTOCOLS and CURLOPT_REDIR_PROTOCOLS as these new ones do not risk running into the 32 bit limit the old ones are facing. CURLINFO_PROTCOOL is now deprecated. The curl tool is updated to use the new options. Added test 1597 to verify the libcurl protocol parser. Closes #8992
* THANKS: merged two entries for Evgeny GrinEvgeny Grin (Karlson2k)2022-07-012-3/+4
| | | | | | Also updated THANKS-filter file Closes #9076
* curl.h: CURLE_CONV_FAILED is obsoletedDaniel Stenberg2022-06-293-15/+26
| | | | | | | The last use was removed in 7.82.0. Updated some docs too to reflect the current error code situation. Closes #9067
* curl_mime_data.3: polish the wordingDaniel Stenberg2022-06-281-4/+7
| | | | Closes #9063
* libcurl-security.3: fix typo on macro "SH_"Samuel Henrique2022-06-271-1/+1
| | | | | | | | | During the packaging of the latest curl release for Debian, Lintian warned me about a typo which causes the section name "Secrets in memory" to not be rendered in the manpage due to "SH_" not being recognized as a header. Closes #9057
* THANKS: contributors from 7.84.0 release notesDaniel Stenberg2022-06-272-0/+20
|
* THANKS: add contributor missing from aea8ac1Jay Satiro2022-06-231-0/+1
| | | | | aea8ac1 fixed #8980 which was reported by Sgharat on github, but that info was not included in the commit message.
* INTERNALS: bring back the "Library symbols" sectionDaniel Stenberg2022-06-221-0/+10
| | | | | | | | | Most contents was moved, but this text should remain here. Follow-up to: d324ac8 Reported-by: Viktor Szakats Bug: https://github.com/curl/curl/pull/9027#discussion_r903382326 Closes #9037
* Makefile.m32: stop forcing XP target with ipv6 enabled [ci skip]Viktor Szakats2022-06-221-1/+1
| | | | | | | | | | | | | | | | | | | Since this [1] commit in 2011, `_WIN32_WINNT` was set fixed to Windows XP when the `-ipv6` option is selected. Maybe this was added to support pre-XP Windows versions (?). These days libcurl builds fine for both XP and post-XP versions with IPv6 support enabled. The relevance of pre-XP version is also low by now. Other build methods also do not impose such limitation for a similar configuration. So, drop this hard-wired `_WIN32_WINNT` limit from `Makefile.m32`, thus building for the default Windows version set by the compiler. This is Vista for recent MinGW versions. Old behaviour can be restored by setting this envvar: export CURL_CFLAG_EXTRAS=-D_WIN32_WINNT=0x0501 [1] 98a61d8e2e8982786aaf3916cbbcac96838316e7 Closes #9035
* CONTRIBUTE: mention how we maintain REUSE complianceDaniel Stenberg2022-06-211-16/+37
| | | | | | for copyright and license information of all files stored in git Closes #9032
* CURLOPT_ALTSVC.3: document the file formatDaniel Stenberg2022-06-211-0/+29
| | | | Closes #9033
* RELEASE-NOTES: syncedDaniel Stenberg2022-06-181-1/+1
| | | | and updated release date in RELEASE-PROCEDURE.md
* CURLOPT_HTTPHEADER.3: improve comment in exampledivinity762022-06-171-1/+1
| | | | Closes #9025
* vtls: make curl_global_sslset thread-safeJay Satiro2022-06-165-17/+32
| | | | | | | | .. and update some docs to explain curl_global_* is now thread-safe. Follow-up to 23af112 which made curl_global_init/cleanup thread-safe. Closes https://github.com/curl/curl/pull/9016
* curl_easy_pause.3: remove explanation of progress functionJay Satiro2022-06-161-2/+1
| | | | | | | | | | | | | | | | | | | - Remove misleading text that says progress function "gets called at least once per second, even if the connection is paused." The progress function behavior is more nuanced and the user is better served reading the progress function doc rather than attempt to explain it in the curl_easy_pause doc. The progress function can only be called at least once per second if an appropriate multi transfer function is called (eg curl_multi_perform) in that time. For a paused transfer there may not be such a call. Rather than explain this in detail in the curl_easy_pause doc, rely on the user reading the CURLOPT_PROGRESSFUNCTION doc. Ref: https://github.com/curl/curl/issues/8983 Closes https://github.com/curl/curl/pull/9015
* configure: warn about rustls being experimentalDaniel Stenberg2022-06-151-0/+1
| | | | | | | Right now a dozen test cases are disabled because they don't work with rustls. Closes #9019
* reuse/dep5: adjusted to parse betterDaniel Stenberg2022-06-142-0/+12
| | | | | | ... adjusted a few files to contain copyright and license info. Closes #9006
* docs/cmdline-opts: add copyright and license identifier to each fileDaniel Stenberg2022-06-14250-0/+520
| | | | | | | gen.pl now insists on C: and SPDX-License-Identifier: fields to be present in all files. Closes #9002
* version: rename threadsafe-init to threadsafeViktor Szakats2022-06-133-3/+4
| | | | | | | | | | | | | | | | | | | | Referring to Daniel's article [1], making the init function thread-safe was the last bit to make libcurl thread-safe as a whole. So the name of the feature may as well be the more concise 'threadsafe', also telling the story that libcurl is now fully thread-safe, not just its init function. Chances are high that libcurl wants to remain so in the future, so there is little likelihood of ever needing any other distinct `threadsafe-<name>` feature flags. For consistency we also shorten `CURL_VERSION_THREADSAFE_INIT` to `CURL_VERSION_THREADSAFE`, update its description and reference libcurl's thread safety documentation. [1]: https://daniel.haxx.se/blog/2022/06/08/making-libcurl-init-more-thread-safe/ Reviewed-by: Daniel Stenberg Reviewed-by: Jay Satiro Closes #8989