summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* libssh2: kdb_callback: get the right struct pointerbagder/libssh2-keybd-interactiveDaniel Stenberg2021-03-231-2/+2
| | | | | | | | | | | After the recent conn/data refactor in this source file, this function was mistakenly still getting the old struct pointer which would lead to crash on servers with keyboard-interactive auth enabled. Follow-up to a304051620b92e12b (shipped in 7.75.0) Reported-by: Christian Schmitz Fixes #6695
* azure: disable test 433 on azure-ubuntuDaniel Stenberg2021-03-231-2/+2
| | | | | | | | | Something in that environment sets XDG_CONFIG_HOME for us in a way that breaks the test. Reported-by: Marc Hörsken Fixes #6739 Closes #6777
* tftp: remove the 3600 second default timeoutDaniel Stenberg2021-03-221-38/+22
| | | | | | | | ... it was never meant to be there. Reported-by: Tomas Berger Fixes #6774 Closes #6776
* docs: make gen.pl support *italic* and **bold**Daniel Stenberg2021-03-2221-41/+53
| | | | | | | Remove some nroffisms from the cmdline doc files to simplify editing, and instead support this markdown style. Closes #6771
* ngtcp2: sync with recent API updatesDaniel Stenberg2021-03-221-2/+4
| | | | Closes #6770
* RELEASE-NOTES: syncedDaniel Stenberg2021-03-211-12/+26
|
* libssh2:ssh_connect: clear session pointer after freeDaniel Stenberg2021-03-211-0/+1
| | | | | | | | | If libssh2_knownhost_init() returns NULL, like in an OOM situation, the ssh session was freed but the pointer wasn't cleared which made libcurl later call libssh2 to cleanup using the stale pointer. Fixes #6764 Closes #6766
* docs: document version of crustls dependencyJacob Hoffman-Andrews2021-03-215-3/+36
| | | | | | | | | | | | | This also pins a specific release in the Travis test so future API-breaking changins in crustls won't break curl builds. Add RUSTLS documentation to release tarball. Enable running tests for rustls, minus FTP tests (require connect_blocking, which rustls doesn't implement) and 313 (requires CRL handling). Closes #6763
* rustls: Handle close_notify.Jacob Hoffman-Andrews2021-03-211-2/+6
| | | | | | | | If we get a close_notify, treat that as EOF. If we get an EOF from the TCP stream, treat that as an error (because we should have ended the connection earlier, when we got a close_notify). Closes #6763
* docs: clarify timeouts for queued transfers in multi APIDaniel Stenberg2021-03-192-3/+21
| | | | Closes #6758
* ftpserver: only load the preprocessed test fileDaniel Stenberg2021-03-191-12/+6
| | | | | | We always preprocess and tests are no longer sensible to load "raw" Closes #6738
* tests: use %TESTNUMBER instead of fixed numberDaniel Stenberg2021-03-191292-4389/+4386
| | | | | | | This makes the tests easier to copy and relocate to other test numbers without having to update content. Closes #6738
* KNOWN_BUGS: CURLOPT_OPENSOCKETPAIRFUNCTION is missingDaniel Stenberg2021-03-181-0/+10
| | | | Closes #5747
* TODO: provide timing info for each redirectDaniel Stenberg2021-03-181-0/+10
| | | | Closes #6743
* docs: Add SSL backend names to CURL_SSL_BACKENDJay Satiro2021-03-172-3/+9
| | | | | | | | | | | - Document the names that can be used with CURL_SSL_BACKEND: bearssl, gnutls, gskit, mbedtls, mesalink, nss, openssl, rustls, schannel, secure-transport, wolfssl Ref: https://github.com/curl/curl/issues/2209#issuecomment-360623286 Ref: https://github.com/curl/curl/issues/6717#issuecomment-800745201 Closes https://github.com/curl/curl/pull/6755
* docs: Explain DOH transfers inherit some SSL settingsJay Satiro2021-03-174-1/+24
| | | | | | | | | | | - Document in DOH that some SSL settings are inherited but DOH hostname and peer verification are not and are controlled separately. - Document that CURLOPT_SSL_CTX_FUNCTION is inherited by DOH handles but we're considering changing behavior to no longer inherit it. Request feedback. Closes https://github.com/curl/curl/pull/6688
* http: make 416 not fail with resume + CURLOPT_FAILONERRRORDaniel Stenberg2021-03-175-21/+110
| | | | | | | | | | | | | When asked to resume a download, libcurl will convert that to HTTP logic and if then the entire file is already transferred it will result in a 416 response from the HTTP server. With CURLOPT_FAILONERRROR set in that scenario, it should *not* lead to an error return. Updated test 1156, added test 1273 Reported-by: Jonathan Watt Fixes #6740 Closes #6753
* Curl_timeleft: check both timeouts during connectbagder/timeleftDaniel Stenberg2021-03-171-40/+38
| | | | | | | | | | | | | | | | | | | The duration of a connect and the total transfer are calculated from two different time-stamps. It can end up with the total timeout triggering before the connect timeout expires and we should make sure to acknowledge whichever timeout that is reached first. This is especially notable when a transfer first sits in PENDING, as that time is counted in the total time but the connect timeout is based on the time since the handle changed to the CONNECT state. The CONNECTTIMEOUT is per connect attempt. The TIMEOUT is for the entire operation. Fixes #6744 Closes #6745 Reported-by: Andrei Bica Assisted-by: Jay Satiro
* configure: remove use of deprecated macrosDaniel Stenberg2021-03-163-13/+1
| | | | AC_HEADER_TIME, AC_HEADER_STDC and AC_TYPE_SIGNAL
* configure: make AC_TRY_* into AC_*_IFELSEDaniel Stenberg2021-03-161-28/+33
| | | | ... as the former versions are deprecated.
* configure: s/AC_HELP_STRING/AS_HELP_STRINGDaniel Stenberg2021-03-164-182/+182
| | | | | | | | | AC_HELP_STRING is deprecated in 2.70+ and I believe AS_HELP_STRING works already since 2.59 so bump the minimum required version to that. Reported-by: Emil Engler Fixes #6647 Closes #6748
* RELEASE-NOTES: syncedDaniel Stenberg2021-03-161-7/+35
|
* travis: use ubuntu nghttp2 package instead of build our ownDaniel Stenberg2021-03-162-13/+1
| | | | Closes #6751
* travis: bump wolfssl to 4.7.0Daniel Stenberg2021-03-162-6/+6
|
* travis: only build wolfssl when neededDaniel Stenberg2021-03-162-6/+9
| | | | Closes #6751
* rustls: allocate a buffer for TLS data.Jacob Hoffman-Andrews2021-03-161-9/+15
| | | | | | | | | Previously, rustls was using an on-stack array for TLS data. However, crustls has an (unusual) requirement that buffers it deals with are initialized before writing to them. By using calloc, we can ensure the buffer is initialized once and then reuse it across calls. Closes #6742
* travis: add a rustls buildDaniel Stenberg2021-03-162-0/+21
| | | | | | ... that doesn't run any tests (yet) Closes #6750
* HTTP2: remove the outdated remark about multiplexing for the toolDaniel Stenberg2021-03-161-5/+0
|
* http2: don't set KEEP_SEND when there's no more data to be sentRobert Ronto2021-03-151-3/+5
| | | | | | | this should fix an issue where curl sometimes doesn't send out a request with authorization info after a 401 is received over http2 Closes #6747
* config: fix building SMB with configure using Win32 CryptoMarc Hoersken2021-03-154-39/+131
| | | | | | | | | | | | | | | | | | | Align conditions for NTLM features between CMake and configure builds by differentiating between USE_NTLM and USE_CURL_NTLM_CORE, just like curl_setup.h does internally to detect support of: - USE_NTLM: required for NTLM crypto authentication feature - USE_CURL_NTLM_CORE: required for SMB protocol Implement USE_WIN32_CRYPTO detection by checking for Crypt functions in wincrypt.h which are not available in the Windows App environment. Link advapi32 and crypt32 for Crypto API and Schannel SSL backend. Fix condition of Schannel SSL backend in CMake build accordingly. Reviewed-by: Marcel Raad Closes #6277
* config: fix detection of restricted Windows App environmentMarc Hoersken2021-03-151-11/+10
| | | | | | | | | | Move the detection of the restricted Windows App environment in curl_setup.h before the definition of USE_WIN32_CRYPTO via included config-win32.h in case no build system is used. Reviewed-by: Marcel Raad Part of #6277
* HISTORY: curl 7.7.2 was the first version used in Mac OS X 10.1Daniel Stenberg2021-03-151-5/+5
|
* gen.pl: quote "bare" minuses in the nroff curl.1Daniel Stenberg2021-03-142-5/+19
| | | | | | Reported-by: Alejandro Colomar Fixes #6698 Closes #6722
* hsts: remove unused definesDaniel Gustafsson2021-03-141-2/+0
| | | | | | | | | MAX_HSTS_SUBLEN and MAX_HSTS_SUBLENSTR were unused from the initial commit, and mostly likely leftovers from early development. Remove as they're not used for anything. Closes #6741 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* github: add torture-ftp for FTP-only torture testingDaniel Stenberg2021-03-121-0/+5
| | | | | | and at 20% to try to keep the run-time reasonable Closes #6728
* travis: split "torture" into a separate "events" build as wellDaniel Stenberg2021-03-122-1/+20
| | | | | | | | | Run torture without FTP and reducing coverage to 20% For some reason the torture tests now run a lot slower on travis and run into the 50 minute limit all the time. Closes #6728
* ftp: fix memory leak in ftp_doneDaniel Stenberg2021-03-121-1/+3
| | | | | | | | | If after a transfer is complete Curl_GetFTPResponse() returns an error, curl would not free the ftp->pathalloc block. Found by torture-testing test 576 Closes #6737
* http2: fail if connection terminated without END_STREAMoxalica2021-03-121-0/+11
| | | | Closes #6736
* RELEASE-NOTES: syncedDaniel Stenberg2021-03-121-8/+48
|
* rustls: support CURLOPT_SSL_VERIFYPEERJacob Hoffman-Andrews2021-03-121-42/+97
| | | | | | | | | | | | | This requires the latest main branch of crustls, which provides rustls_client_config_builder_dangerous_set_certificate_verifier and rustls_client_config_builder_set_enable_sni. This refactors the session setup into its own function, and adds a new function cr_hostname_is_ip. Because crustls doesn't support verification of IP addresses, special handling is needed: We disable SNI and set a placeholder hostname (which never actually gets sent on the wire). Closes #6719
* cookies: Fix potential NULL pointer deref with PSLDaniel Gustafsson2021-03-121-2/+6
| | | | | | | | | | | | | | | Curl_cookie_init can be called with data being NULL, and this can in turn be passed to Curl_cookie_add, meaning that both functions must be careful to only use data where it's checked for being a NULL pointer. The libpsl support code does however dereference data without checking, so if we are indeed having an unset data pointer we cannot PSL check the cookiedomain. This is currently not a reachable dereference, as the only caller with a NULL data isn't passing a file to initialize cookies from, but since the API has this contract let's ensure we hold it. Closes #6731 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* configure: only add OpenSSL paths if they are definedMichael Hordijk2021-03-121-2/+4
| | | | | | | | Add paths for OpenSSL compiling and linking only if they have been defined. If they haven't been defined, we'll assume that the paths are already available to the toolchain. Closes #6730
* retry.d: Clarify transient 5xx HTTP response codesJay Satiro2021-03-121-1/+2
| | | | | | | | | | | | - Clarify the only 5xx response codes that are treated as transient are 500, 502, 503 and 504. Prior to this change it said it treated all 5xx as transient, but the code says otherwise. Ref: https://github.com/curl/curl/blob/curl-7_75_0/src/tool_operate.c#L462-L495 Closes https://github.com/curl/curl/pull/6724
* retry-all-errors.d: Explain curl errors versus HTTP response errorsJay Satiro2021-03-121-0/+8
| | | | | | | | | | | | | | | | | - Add a paragraph explaining that curl does not consider HTTP response errors as curl errors, and how that behavior can be modified by using --retry and --fail. The --retry-all-errors doc says "Retry on any error" which some users may find misleading without the added explanation. Ref: https://curl.se/docs/faq.html#Why_do_I_get_downloaded_data_eve Ref: https://curl.se/docs/faq.html#curl_doesn_t_return_error_for_HT Reported-by: Lawrence Gripper Fixes https://github.com/curl/curl/issues/6712 Closes https://github.com/curl/curl/pull/6720
* travis: switch ngtcp2 build over to quictlsDaniel Stenberg2021-03-111-1/+1
| | | | | | | The ngtcp2 project switched over to using the quictls OpenSSL fork instead of their own patched OpenSSL. We follow suit. Closes #6729
* test220/314: adjust to run with HyperDaniel Stenberg2021-03-112-0/+16
|
* c-hyper: support automatic content-encodingDaniel Stenberg2021-03-111-1/+19
| | | | Closes #6727
* http: remove superfluous NULL assignDaniel Stenberg2021-03-111-3/+1
| | | | Closes #6727
* tool_operate: bail if set CURLOPT_HTTP09_ALLOWED returns errorDaniel Stenberg2021-03-111-0/+4
| | | | Closes #6727
* setopt: error on CURLOPT_HTTP09_ALLOWED set true with HyperDaniel Stenberg2021-03-111-0/+6
| | | | | | Not supported. Closes #6727