summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* insecure.d: expand and clarifybagder/insecure-expandDaniel Stenberg2021-11-151-7/+9
|
* Revert "form-escape.d: double the back-slashes for proper man page output"Daniel Stenberg2021-11-151-1/+1
| | | | | | This reverts commit a2d8eac04a4eb1d5a98cf24b4e5cec5cec565d27. silly me, it was intended to be one backslash!
* form-escape.d: double the back-slashes for proper man page outputDaniel Stenberg2021-11-151-1/+1
|
* page-footer: add a mention of how to report bugs to the man pageDaniel Stenberg2021-11-151-0/+3
|
* RELEASE-NOTES: syncedDaniel Stenberg2021-11-152-11/+37
| | | | and bump to 7.81.0-DEV
* mime: use percent-escaping for multipart form field and file namesPatrick Monnerat2021-11-1523-31/+464
| | | | | | | | | | | | | | | | | | Until now, form field and file names where escaped using the backslash-escaping algorithm defined for multipart mails. This commit replaces this with the percent-escaping method for URLs. As this may introduce incompatibilities with server-side applications, a new libcurl option CURLOPT_MIME_OPTIONS with bitmask CURLMIMEOPT_FORMESCAPE is introduced to revert to legacy use of backslash-escaping. This is controlled by new cli tool option --form-escape. New tests and documentation are provided for this feature. Reported by: Ryan Sleevi Fixes #7789 Closes #7805
* zuul.d: update rustls-ffi to version 0.8.2Kevin Burke2021-11-152-3/+3
| | | | | | | | This version fixes errors with ALPN negotiation in rustls, which is necessary for HTTP/2 support. For more information see the rustls-ffi changelog. Closes #8013
* configure: better diagnostics if hyper is built wrongDaniel Stenberg2021-11-141-1/+7
| | | | | | | | | | If hyper is indeed present in the specified directory but couldn't be used to find the correct symbol, then offer a different error message to better help the user understand the issue. Suggested-by: Jacob Hoffman-Andrews Fixes #8001 Closes #8005
* test1939: require proxy support to runDaniel Stenberg2021-11-141-0/+3
| | | | | | Follow-up to f0b7099a10d1a Closes #8011
* test302[12]: run only with the libssh2 backendDaniel Stenberg2021-11-142-0/+8
| | | | | | | | ... as the others don't support --hostpubsha256 Reported-by: Paul Howarth Fixes #8009 Closes #8010
* runtests: make the SSH library a testable featureDaniel Stenberg2021-11-142-0/+18
| | | | libssh2, libssh and wolfssh
* rustls: read of zero bytes might be okayJacob Hoffman-Andrews2021-11-131-8/+18
| | | | | | | | | | | | | When we're reading out plaintext from rustls' internal buffers, we might get a read of zero bytes (meaning a clean TCP close, including close_notify). However, we shouldn't return immediately when that happens, since we may have already copied out some plaintext bytes. Break out of the loop when we get a read of zero bytes, and figure out which path we're dealing with. Acked-by: Kevin Burke Closes #8003
* rustls: remove incorrect EOF checkJacob Hoffman-Andrews2021-11-131-5/+0
| | | | | | | | | | | | | | | | | | | | | | The update to rustls-ffi 0.8.0 changed handling of EOF and close_notify. From the CHANGELOG: > Handling of unclean close and the close_notify TLS alert. Mirroring > upstream changes, a rustls_connection now tracks TCP closed state like > so: rustls_connection_read_tls considers a 0-length read from its > callback to mean "TCP stream was closed by peer." If that happens > before the peer sent close_notify, rustls_connection_read will return > RUSTLS_RESULT_UNEXPECTED_EOF once the available plaintext bytes are > exhausted. This is useful to protect against truncation attacks. Note: > some TLS implementations don't send close_notify. If you are already > getting length information from your protocol (e.g. Content-Length in > HTTP) you may choose to ignore UNEXPECTED_EOF so long as the number of > plaintext bytes was as expected. That means we don't need to check for unclean EOF in `cr_recv()`, because `process_new_packets()` will give us an error if appropriate. Closes #8003
* lib1939: make it endure torture testsDaniel Stenberg2021-11-131-29/+26
| | | | | | Follow-up to f0b7099a10d1a Closes #8007
* azure: make the "w/o HTTP/SMTP/IMAP" build disable SSL properDaniel Stenberg2021-11-131-1/+1
| | | | | | | | | | The configure line would previously depend on a configure mistake using --without-openssl that is fixed and now this configure line needs adjusting to use --without-ssl. Follow-up to b589696f0312d Closes #8006
* configure: add -lm to configure for rustls build.Jacob Hoffman-Andrews2021-11-131-8/+3
| | | | | | | | | Note: The list of libraries that rustc tells us we need to include is longer, but also includes some more platform-specific libraries that I am not sure how to effectively incorporate. Adding just -lm seems to solve an immediate problem, so I'm adding just that. Closes #8002
* curl_share_setopt.3: refer to CURLSHOPT_USERDATA(3) properlyDaniel Stenberg2021-11-121-2/+1
|
* curl_share_setopt.3: split out options into their own manpagesDaniel Stenberg2021-11-127-70/+370
| | | | | | | | | | CURLSHOPT_LOCKFUNC.3 CURLSHOPT_SHARE.3 CURLSHOPT_UNLOCKFUNC.3 CURLSHOPT_UNSHARE.3 CURLSHOPT_USERDATA.3 Closes #7998
* http_proxy: make Curl_connect_done() work for proxy disabled buildsDaniel Stenberg2021-11-121-1/+2
| | | | | | | | | ... by making it an empty macro then. Follow-up to f0b7099a10d1a Reported-by: Vincent Grande Fixes #7995 Closes #7996
* Curl_connect_done: handle being called twiceDaniel Stenberg2021-11-121-2/+3
| | | | | | | | | | Follow-up to f0b7099a10d1a7c When torture testing 1021, it turns out the Curl_connect_done function might be called twice and that previously then wrongly cleared the HTTP pointer in the second invoke. Closes #7999
* configure: don't enable TLS when --without-* flags are usedStan Hu2021-11-121-9/+27
| | | | | | | | | | | | | | | | | | Previously specifying `--without-gnutls` would unexpectedly attempt to compile with GnuTLS, effectively interpreting this as `--with-gnutls`. This caused a significant amount of confusion when `libcurl` was built with SSL disabled since GnuTLS wasn't present. 68d89f24 dropped the `--without-*` options from the configure help, but `AC_ARG_WITH` still defines these flags automatically. As https://www.gnu.org/software/autoconf/manual/autoconf-2.60/html_node/External-Software.html describes, the `action-if-given` is called when the user specifies `--with-*` or `--without-*` options. To prevent this confusion, we make the `--without` flag do the right thing by ignoring the value if it set to "no". Closes #7994
* docs/checksrc: Add documentation for STRERRORRikard Falkeborn2021-11-111-1/+3
| | | | Closes #7991
* vtls/rustls: adapt to the updated rustls_version protoDaniel Stenberg2021-11-113-13/+20
| | | | Closes #7956
* vtls/rustls: handle RUSTLS_RESULT_PLAINTEXT_EMPTYKevin Burke2021-11-111-7/+4
| | | | | | | | | | | | Previously we'd return CURLE_READ_ERROR if we received this, instead of triggering the error handling logic that's present in the next if block down. After this change, curl requests to https://go.googlesource.com using HTTP/2 complete successfully. Fixes #7949 Closes #7948
* zuul: update build environment for rustls-ffi 0.8.0Kevin Burke2021-11-112-3/+3
|
* vtls/rustls: update to compile with rustls-ffi v0.8.0Kevin Burke2021-11-113-8/+8
| | | | | | | | | | | | Some method names, as well as the generated library name, were changed in a recent refactoring. Further, change the default configuration instructions to check for Hyper in either "target/debug" or "target/release" - the latter contains an optimized build configuration. Fixes #7947 Closes #7948
* RELEASE-NOTES: syncedDaniel Stenberg2021-11-112-268/+14
| | | | and bump the version to 7.80.1
* multi: shut down CONNECT in Curl_detach_connnectionDaniel Stenberg2021-11-116-7/+138
| | | | | | | | | | ... to prevent a lingering pointer that would lead to a double-free. Added test 1939 to verify. Reported-by: Stephen M. Coakley Fixes #7982 Closes #7986
* curl_easy_cleanup.3: remove from multi handle firstDaniel Stenberg2021-11-101-0/+4
| | | | | | | | | Easy handles that are used by the multi interface should be removed from the multi handle before they are cleaned up. Reported-by: Stephen M. Coakley Ref: #7982 Closes #7983
* url.c: fix the SIGPIPE comment for Curl_closeDaniel Stenberg2021-11-101-3/+1
| | | | Closes #7984
* RELEASE-NOTES: syncedcurl-7_80_0Daniel Stenberg2021-11-101-15/+34
| | | | for curl 7.80.0
* THANKS: add contributors from the 7.80.0 cycleDaniel Stenberg2021-11-101-0/+45
|
* ngtcp2: advertise h3 as well as h3-29Tatsuhiro Tsujikawa2021-11-091-7/+10
| | | | | | | Advertise h3 as well as h3-29 since some servers out there require h3 for QUIC v1. Closes #7979
* ngtcp2: use QUIC v1 consistentlyTatsuhiro Tsujikawa2021-11-091-2/+2
| | | | | | | Since we switched to v1 quic_transport_parameters codepoint in #7960 with quictls, lets use QUIC v1 consistently. Closes #7979
* ngtcp2: compile with the latest nghttp3Tatsuhiro Tsujikawa2021-11-091-1/+1
| | | | Closes #7978
* tests: add Schannel-specific tests and disable unsupported onesMarc Hoersken2021-11-0915-24/+332
| | | | | | | | | | | | | | | | | Adds Schannel variants of SSLpinning tests that include the option --ssl-revoke-best-effort to ignore certificate revocation check failures which is required due to our custom test CA certificate. Disable the original variants if the Schannel backend is enabled. Also skip all IDN tests which are broken while using an msys shell. This is a step to simplify test exclusions for Windows and MinGW. Reviewed-by: Jay Satiro Reviewed-by: Marcel Raad Reviewed-by: Daniel Stenberg Closes #7968
* docs: NAME fixes in easy option man pagesDaniel Stenberg2021-11-0827-46/+46
| | | | Closes #7975
* ftp: make the MKD retry to retry once per directoryRoger Young2021-11-081-5/+6
| | | | | | Reported-by: Roger Young Fixes #7967 Closes #7976
* tool_operate: reorder code to avoid compiler warningDaniel Stenberg2021-11-081-3/+4
| | | | | | | | | | tool_operate.c(889) : warning C4701: potentially uninitialized local variable 'per' use Follow-up to cc71d352651a0d95 Reported-by: Marc Hörsken Bug: https://github.com/curl/curl/pull/7922#issuecomment-963042676 Closes #7971
* curl_easy_perform.3: add a para about recv and send dataDaniel Stenberg2021-11-081-0/+6
| | | | | | Reported-by: Godwin Stewart Fixes #7973 Closes #7974
* tool_operate: fclose stream only if fopenedDaniel Stenberg2021-11-081-1/+1
| | | | | | | Fixes torture test failures Follow-up to cc71d352651 Closes #7972
* libcurl-easy.3: language polishDaniel Stenberg2021-11-081-5/+6
|
* limit-rate.d: this is average over several secondsDaniel Stenberg2021-11-081-0/+3
| | | | Closes #7970
* docs: reduce/avoid English contractionsDaniel Stenberg2021-11-07265-925/+926
| | | | | | | | | | | You're => You are Hasn't => Has not Doesn't => Does not Don't => Do not You'll => You will etc Closes #7930
* tool_operate: fix torture leaks with etagsDaniel Stenberg2021-11-061-5/+11
| | | | | | | | | Spotted by torture testing 343 344 345 347. Follow-up from cc71d352651a0 Pointed-out-by: Dan Fandrich Closes #7969
* ngtcp2: support latest QUIC TLS RFC9001Amaury Denoyelle2021-11-051-1/+1
| | | | | | | | | | | | | | QUIC Transport Parameters Extension has been changed between draft-29 and latest RFC9001. Most notably, its identifier has been updated from 0xffa5 to 0x0039. The version is selected through the QUIC TLS library via the legacy codepoint. Disable the usage of legacy codepoint in curl to switch to latest RFC9001. This is required to be able to keep up with latest QUIC implementations. Acked-by: Tatsuhiro Tsujikawa Closes #7960
* test1173: make manpage-syntax.pl spot \n errors in examplesDaniel Stenberg2021-11-051-0/+3
|
* man pages: fix backslash-n in examplesDaniel Stenberg2021-11-0520-22/+22
| | | | | | | | | | | ... to be proper backslash-backslash-n sequences to render nicely in man and on website. Follow-up to 24155569d8a Reported-by: Sergey Markelov Fixes https://github.com/curl/curl-www/issues/163 Closes #7962
* scripts/release-notes.pl: use out of repo links verbatim in refsDaniel Stenberg2021-11-051-5/+26
|
* tool_operate: a failed etag save now only fails that transferDaniel Stenberg2021-11-044-70/+162
| | | | | | | | | | | | | | | When failing to create the output file for saving an etag, only fail that particular single transfer and allow others to follow. In a serial transfer setup, if no transfer at all is done due to them all being skipped because of this error, curl will output an error message and return exit code 26. Added test 369 and 370 to verify. Reported-by: Earnestly on github Ref: #7942 Closes #7945