summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* doh: make it behave when built without proxy supportbagder/doh-without-proxyDaniel Stenberg2019-12-111-16/+18
| | | | | Reported-by: Marcel Raad Bug: https://github.com/curl/curl/pull/4692#issuecomment-564115734
* mailmap: fix Andrew IshchukDaniel Stenberg2019-12-111-0/+1
|
* travis: make torture use --shallow=40Daniel Stenberg2019-12-111-1/+1
| | | | | As a first step to enable it to run over a more diverse set of tests in a reasonable time.
* runtests: introduce --shallow to reduce huge torture testsDaniel Stenberg2019-12-112-4/+41
| | | | | | | | | | | | When set, shallow mode limits runtests -t to make no more than NUM fails per test case. If more are found, it will randomly discard entries until the number is right. The random seed can also be set. This is particularly useful when running MANY tests as then most torture failures will already fail the same functions over and over and make the total operation painfully tedious. Closes #4699
* conncache: CONNECT_ONLY connections assumed always in-useDaniel Stenberg2019-12-111-1/+2
| | | | | | | | | | | | | | | This makes them never to be considered "the oldest" to be discarded when reaching the connection cache limit. The reasoning here is that CONNECT_ONLY is primarily used in combination with using the connection's socket post connect and since that is used outside of curl's knowledge we must assume that it is in use until explicitly closed. Reported-by: Pavel Pavlov Reported-by: Pavel Löbl Fixes #4426 Fixes #4369 Closes #4696
* vtls: make BearSSL possible to set with CURL_SSL_BACKENDGisle Vanem2019-12-101-0/+3
| | | | | | Ref: https://github.com/curl/curl/commit/9b879160df01e7ddbb4770904391d3b74114302b#commitcomment-36355622 Closes #4698
* RELEASE-NOTES: syncedDaniel Stenberg2019-12-101-11/+26
|
* travis: remove "coverage", make it "torture"Daniel Stenberg2019-12-102-2/+11
| | | | | | | | The coveralls service and test coverage numbers are just too unreliable. Removed badge from README.md as well. Fixes #4694 Closes #4695
* azure: add libssh2 and cmake macos buildsDaniel Stenberg2019-12-103-6/+31
| | | | | | Removed the macos libssh2 build from travis Closes #4686
* curl: use errorf() betterDaniel Stenberg2019-12-104-16/+17
| | | | | | | | | | Change series of error outputs to use errorf(). Only errors that are due to mistakes in command line option usage should use helpf(), other types of errors in the tool should rather use errorf(). Closes #4691
* tests: make it possible to set executable extensionsMarc Hoersken2019-12-094-17/+36
| | | | | | | | | | | | | | | | | This enables the use of Windows Subsystem for Linux (WSL) to run the testsuite against Windows binaries while using Linux servers. This commit introduces the following environment variables: - CURL_TEST_EXE_EXT: set the executable extension for all components - CURL_TEST_EXE_EXT_TOOL: set it for the curl tool only - CURL_TEST_EXE_EXT_SSH: set it for the SSH tools only Later testcurl.pl could be adjusted to make use of those variables. - CURL_TEST_EXE_EXT_SRV: set it for the test servers only (This is one of several commits to support use of WSL for the tests.) Closes https://github.com/curl/curl/pull/3899
* tests: fix permissions of ssh keys in WSLMarc Hoersken2019-12-091-0/+3
| | | | | | | | | Keys created on Windows Subsystem for Linux (WSL) require it for some reason. (This is one of several commits to support use of WSL for the tests.) Ref: https://github.com/curl/curl/pull/3899
* tests: use \r\n for log messages in WSLMarc Hoersken2019-12-091-1/+9
| | | | | | | | Bash in Windows Subsystem for Linux (WSL) requires it for some reason. (This is one of several commits to support use of WSL for the tests.) Ref: https://github.com/curl/curl/pull/3899
* winbuild: Define CARES_STATICLIB when WITH_CARES=staticandrew_ishchuk2019-12-091-0/+3
| | | | | | | | When libcurl is built with MODE=static, c-ares is forced into static linkage too. That doesn't happen when MODE=dll so linker would break over undefined symbols. closes https://github.com/curl/curl/pull/4688
* conn: always set bits.close with connclose()Daniel Stenberg2019-12-092-3/+4
| | | | Closes #4690
* cirrus: enable clang sanitizers on freebsd 13Daniel Stenberg2019-12-091-0/+7
|
* conncache: fix multi-thread use of shared connection cacheDaniel Stenberg2019-12-098-52/+58
| | | | | | | | | It could accidentally let the connection get used by more than one thread, leading to double-free and more. Reported-by: Christopher Reid Fixes #4544 Closes #4557
* azure: add a vanilla macos buildDaniel Stenberg2019-12-091-8/+32
| | | | Closes #4685
* curl: make the etag load logic work without fseekDaniel Stenberg2019-12-061-16/+3
| | | | | | The fseek()s were unnecessary and caused Coverity warning CID 1456554 Closes #4681
* mailmap: Mohammad HasbiniDaniel Stenberg2019-12-061-0/+1
|
* docs: fix some typosmhasbini2019-12-065-5/+5
| | | | Closes #4680
* RELEASE-NOTES: syncedDaniel Stenberg2019-12-061-10/+43
|
* lib: fix some loose ends for recently added CURLSSLOPT_NO_PARTIALCHAINJay Satiro2019-12-053-0/+4
| | | | | | | | | | | | | Add support for CURLSSLOPT_NO_PARTIALCHAIN in CURLOPT_PROXY_SSL_OPTIONS and OS400 package spec. Also I added the option to the NameValue list in the tool even though it isn't exposed as a command-line option (...yet?). (NameValue stringizes the option name for the curl cmd -> libcurl source generator) Follow-up to 564d88a which added CURLSSLOPT_NO_PARTIALCHAIN. Ref: https://github.com/curl/curl/pull/4655
* setopt: Fix ALPN / NPN user option when built without HTTP2Jay Satiro2019-12-051-2/+0
| | | | | | | | | | | | | | | | - Stop treating lack of HTTP2 as an unknown option error result for CURLOPT_SSL_ENABLE_ALPN and CURLOPT_SSL_ENABLE_NPN. Prior to this change it was impossible to disable ALPN / NPN if libcurl was built without HTTP2. Setting either option would result in CURLE_UNKNOWN_OPTION and the respective internal option would not be set. That was incorrect since ALPN and NPN are used independent of HTTP2. Reported-by: Shailesh Kapse Fixes https://github.com/curl/curl/issues/4668 Closes https://github.com/curl/curl/pull/4672
* etag: allow both --etag-compare and --etag-save in same cmdlineDaniel Stenberg2019-12-053-11/+62
| | | | | Fixes #4669 Closes #4678
* curl_setup: fix `CURLRES_IPV6` conditionMarcel Raad2019-12-051-6/+6
| | | | | | | | | Move the definition of `CURLRES_IPV6` to before undefining `HAVE_GETADDRINFO`. Regression from commit 67a08dca27a which caused some tests to fail and others to be skipped with c-ares. Fixes https://github.com/curl/curl/issues/4673 Closes https://github.com/curl/curl/pull/4677
* test342: make it return a 304 as the tag matchesDaniel Stenberg2019-12-051-3/+2
|
* CMake: add support for building with the NSS vtls backendPeter Wu2019-12-043-4/+41
| | | | | | | | Options are cross-checked with configure.ac and acinclude.m4. Tested on Arch Linux, untested on other platforms like Windows or macOS. Closes #4663 Reviewed-by: Kamil Dudka
* azure: add more buildsDaniel Stenberg2019-12-042-29/+58
| | | | | | ... removed two from travis (that now runs on azure instead) Closes #4671
* CURLOPT_VERBOSE.3: see also ERRORBUFFERDaniel Stenberg2019-12-041-1/+2
|
* hostip4.c: bump copyright year rangeDaniel Stenberg2019-12-031-1/+1
|
* configure: enable IPv6 support without `getaddrinfo`Marcel Raad2019-12-031-11/+13
| | | | | | | | | | | | | This makes it possible to recognize and connect to literal IPv6 addresses when `getaddrinfo` is not available, which is already the case for the CMake build. This affects e.g. classic MinGW because it still targets Windows 2000 by default, where `getaddrinfo` is not available, but general IPv6 support is. Instead of checking for `getaddrinfo`, check for `sockaddr_in6` as the CMake build does. Closes https://github.com/curl/curl/pull/4662
* curl_setup: disable IPv6 resolver without `getaddrinfo`Marcel Raad2019-12-034-6/+26
| | | | | | | | | | Also, use `CURLRES_IPV6` only for actual DNS resolution, not for IPv6 address support. This makes it possible to connect to IPv6 literals by setting `ENABLE_IPV6` even without `getaddrinfo` support. It also fixes the CMake build when using the synchronous resolver without `getaddrinfo` support. Closes https://github.com/curl/curl/pull/4662
* github action/azure pipeline: run 'make test-nonflaky' for testsDaniel Stenberg2019-12-032-2/+2
| | | | To match travis and give more info on failures.
* openssl: CURLSSLOPT_NO_PARTIALCHAIN can disable partial cert chainsDaniel Stenberg2019-12-036-23/+36
| | | | Closes #4655
* openssl: set X509_V_FLAG_PARTIAL_CHAINDaniel Stenberg2019-12-031-9/+17
| | | | | | | | | | | | Have intermediate certificates in the trust store be treated as trust-anchors, in the same way as self-signed root CA certificates are. This allows users to verify servers using the intermediate cert only, instead of needing the whole chain. Other TLS backends already accept partial chains. Reported-by: Jeffrey Walton Bug: https://curl.haxx.se/mail/lib-2019-11/0094.html
* curl: show better error message when no homedir is foundDaniel Stenberg2019-12-033-2/+19
| | | | | | Reported-by: Vlastimil Ovčáčík Fixes #4644 Closes #4665
* 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
* travis: do not use OVERRIDE_CC or OVERRIDE_CXX if emptyPeter Wu2019-12-031-2/+2
| | | | | | | | | Fixes the macOS builds where OVERRIDE_CC and OVERRIDE_CXX are not set. Reported-by: Jay Satiro Fixes #4659 Closes #4661 Closes #4664
* azure-pipelines: fix the test scriptDaniel Stenberg2019-12-021-2/+2
|
* Azure Pipelines: initial CI setupDaniel Stenberg2019-12-021-0/+20
| | | [skip ci]
* docs: add "added: 7.68.0" to the --etag-* docsDaniel Stenberg2019-12-022-0/+2
|
* copyright: fix the year ranges for two filesDaniel Stenberg2019-12-022-2/+2
| | | | Follow-up to 9c1806ae
* build: Disable Visual Studio warning "conditional expression is constant"Jay Satiro2019-12-0132-121/+76
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Disable warning C4127 "conditional expression is constant" globally in curl_setup.h for when building with Microsoft's compiler. This mainly affects building with the Visual Studio project files found in the projects dir. Prior to this change the cmake and winbuild build systems already disabled 4127 globally for when building with Microsoft's compiler. Also, 4127 was already disabled for all build systems in the limited circumstance of the WHILE_FALSE macro which disabled the warning specifically for while(0). This commit removes the WHILE_FALSE macro and all other cruft in favor of disabling globally in curl_setup. Background: We have various macros that cause 0 or 1 to be evaluated, which would cause warning C4127 in Visual Studio. For example this causes it: #define Curl_resolver_asynch() 1 Full behavior is not clearly defined and inconsistent across versions. However it is documented that since VS 2015 Update 3 Microsoft has addressed this somewhat but not entirely, not warning on while(true) for example. Prior to this change some C4127 warnings occurred when I built with Visual Studio using the generated projects in the projects dir. Closes https://github.com/curl/curl/pull/4658
* openssl: retrieve reported LibreSSL version at runtimeJay Satiro2019-12-011-6/+24
| | | | | | | | | | - Retrieve LibreSSL runtime version when supported (>= 2.7.1). For earlier versions we continue to use the compile-time version. Ref: https://man.openbsd.org/OPENSSL_VERSION_NUMBER.3 Closes https://github.com/curl/curl/pull/2425
* strerror: Add Curl_winapi_strerror for Win API specific errorsJay Satiro2019-12-013-350/+245
| | | | | | | | | | | | | | | - In all code call Curl_winapi_strerror instead of Curl_strerror when the error code is known to be from Windows GetLastError. Curl_strerror prefers CRT error codes (errno) over Windows API error codes (GetLastError) when the two overlap. When we know the error code is from GetLastError it is more accurate to prefer the Windows API error messages. Reported-by: Richard Alcock Fixes https://github.com/curl/curl/issues/4550 Closes https://github.com/curl/curl/pull/4581
* global_init: undo the "intialized" bump in case of failureDaniel Stenberg2019-12-021-5/+9
| | | | | | | | | ... so that failures in the global init function don't count as a working init and it can then be called again. Reported-by: Paul Groke Fixes #4636 Closes #4653
* parsedate: offer a getdate_capped() alternativeDaniel Stenberg2019-11-296-9/+36
| | | | | | | | | | | ... and use internally. This function will return TIME_T_MAX instead of failure if the parsed data is found to be larger than what can be represented. TIME_T_MAX being the largest value curl can represent. Reviewed-by: Daniel Gustafsson Reported-by: JanB on github Fixes #4152 Closes #4651
* docs: add more references to curl_multi_pollDaniel Stenberg2019-11-282-3/+4
| | | | | Fixes #4643 Closes #4652
* sha256: bump the copyright year rangeDaniel Stenberg2019-11-281-1/+1
| | | | Follow-up from 66e21520f