summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* travis: remove "coverage", make it "torture"bagder/travis-no-coverageDaniel 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
* 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
* curl_setup_once: consistently use WHILE_FALSE in macrosDaniel Gustafsson2019-11-283-4/+4
| | | | | | | | | The WHILE_FALSE construction is used to avoid compiler warnings in macro constructions. This fixes a few instances where it was not used in order to keep the code consistent. Closes #4649 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* http_ntlm: Remove duplicate NSS initialisationSteve Holme2019-11-281-8/+1
| | | | | | | | | | | Given that this is performed by the NTLM code there is no need to perform the initialisation in the HTTP layer. This also keeps the initialisation the same as the SASL based protocols and also fixes a possible compilation issue if both NSS and SSPI were to be used as multiple SSL backends. Reviewed-by: Kamil Dudka Closes #3935
* checksrc: fix regexp for ASSIGNWITHINCONDITIONDaniel Gustafsson2019-11-282-2/+1
| | | | | | | | | | | | | | | | | | | | | The regexp looking for assignments within conditions was too greedy and matched a too long string in the case of multiple conditionals on the same line. This is basically only a problem in single line macros, and the code which exemplified this was essentially: do { if((x) != NULL) { x = NULL; } } while(0) ..where the final parenthesis of while(0) matched the regexp, and the legal assignment in the block triggered the warning. Fix by making the regexp less greedy by matching for the tell-tale signs of the if statement ending. Also remove the one occurrence where the warning was disabled due to a construction like the above, where the warning didn't apply when fixed. Closes #4647 Reviewed-by: Daniel Stenberg <daniel@haxx.se>
* RELEASE-NOTES: syncedDaniel Stenberg2019-11-281-10/+34
|
* curl: two new command line options for etagsMaros Priputen2019-11-2815-3/+390
| | | | | | | | --etag-compare and --etag-save Suggested-by: Paul Hoffman Fixes #4277 Closes #4543
* docs: fix typosDaniel Gustafsson2019-11-285-5/+5
|
* mailmap: Niall O'Reilly's nameDaniel Stenberg2019-11-281-0/+1
|
* doh: use dedicated probe slotsNiall2019-11-282-41/+63
| | | | | | ... to easier allow additional DNS transactions. Closes #4629
* travis: build ngtcp2 with --enable-lib-onlyDaniel Stenberg2019-11-281-1/+1
| | | | | | ... makes it skip the examples and other stuff we don't neeed. Closes #4646
* ngtcp2: fix thread-safety bug in error-handlingDavid Benjamin2019-11-281-2/+3
| | | | | | | | ERR_error_string(NULL) should never be called. It places the error in a global buffer, which is not thread-safe. Use ERR_error_string_n with a local buffer instead. Closes #4645
* travis: export the CC/CXX variables when setDaniel Stenberg2019-11-271-2/+2
| | | | | | Suggested-by: Peter Wu Fixes #4637 Closes #4640
* dist: add error-codes.plMarcel Raad2019-11-261-1/+1
| | | | | | | Follow-up to commit 74f441c6d31. This should fix test 1175 when run via the daily source tarballs. Closes https://github.com/curl/curl/pull/4638