summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* global_init: move the IPv6 works status bool to multi handlebagder/ipv6-works-multiDaniel Stenberg2020-01-278-25/+27
| | | | | | | Previously it was stored in a global state which contributed to curl_global_init's thread unsafety. This boolean is now instead figured out in curl_multi_init() and stored in the multi handle. Less effective, but thread safe.
* RELEASE-NOTES: syncedDaniel Stenberg2020-01-272-5/+29
|
* urldata: do string enums without #ifdefs for build scriptsJon Rumsey2020-01-274-26/+99
| | | | | | | ... and check for inconsistencies for OS400 at build time with the new chkstrings tool. Closes #4822
* curl: make the -# spaceship bar not wrap the lineDaniel Stenberg2020-01-261-20/+27
| | | | | | | | | | | | | The fixed-point math made us lose precision and thus a too high index value could be used for outputting the hashtags which could overwrite the newline. The fix increases the precision in the sine table (*100) and the associated position math. Reported-by: Andrew Potter Fixes #4849 Closes #4850
* global_init: assume the EINTR bit by defaultDaniel Stenberg2020-01-265-167/+78
| | | | | | | | | | | | - Removed from global_init since it isn't thread-safe. The symbol will still remain to not break compiles, it just won't have any effect going forward. - make the internals NOT loop on EINTR (the opposite from previously). It only risks returning from the select/poll/wait functions early, and that should be risk-free. Closes #4840
* conn: do not reuse connection if SOCKS proxy credentials differPeter Piekarski2020-01-241-2/+31
| | | | Closes #4835
* llist: removed unused Curl_llist_move()Daniel Stenberg2020-01-243-107/+3
| | | | | | (and the corresponding unit test) Closes #4842
* conncache: removed unused Curl_conncache_bundle_size()Daniel Stenberg2020-01-242-15/+2
|
* strcase: turn Curl_raw_tolower into staticDaniel Stenberg2020-01-242-5/+6
| | | | Only ever used from within this file.
* singleuse.pl: support new API functions, fix curl_dbg_ handlingDaniel Stenberg2020-01-241-7/+12
|
* wolfssh: make it init properly via Curl_ssh_init()Daniel Stenberg2020-01-242-7/+5
| | | | Closes #4846
* form.d: fix two minor typosAron Rotteveel2020-01-231-2/+2
| | | | Closes #4843
* openssl: make CURLINFO_CERTINFO not truncate x509v3 fieldsDaniel Stenberg2020-01-231-25/+6
| | | | | | | | | | Avoid "reparsing" the content and instead deliver more exactly what is provided in the certificate and avoid truncating the data after 512 bytes as done previously. This no longer removes embedded newlines. Fixes #4837 Reported-by: bnfp on github Closes #4841
* CURLOPT_PROXY_SSL_OPTIONS.3: Sync with CURLOPT_SSL_OPTIONS.3Jay Satiro2020-01-231-16/+22
| | | | | | | - Copy CURLOPT_SSL_OPTIONS.3 description to CURLOPT_PROXY_SSL_OPTIONS.3. Prior to this change CURLSSLOPT_NO_PARTIALCHAIN was missing from the CURLOPT_PROXY_SSL_OPTIONS description.
* mk-ca-bundle: add support for CKA_NSS_SERVER_DISTRUST_AFTERDaniel Stenberg2020-01-221-8/+54
| | | | | | | | | For now, no cert in the bundle actually sets a date there... Co-Authored-by: Jay Satiro Reported-by: Christian Heimes Fixes #4834 Closes #4836
* RELEASE-NOTES: syncedDaniel Stenberg2020-01-211-5/+17
|
* smtp: Allow RCPT TO command to fail for some recipientsPavel Volgarev2020-01-2122-26/+483
| | | | | | | | Introduces CURLOPT_MAIL_RCPT_ALLLOWFAILS. Verified with the new tests 3002-3007 Closes #4816
* copyright: fix year rangesDaniel Stenberg2020-01-212-2/+2
| | | | | follow-up from dea17b519d (one of these days I'll learn to check before I push)
* http: move "oauth_bearer" from connectdata to Curl_easynao2020-01-214-23/+13
| | | | | | | Fixes the bug where oauth_bearer gets deallocated when we re-use a connection. Closes #4824
* curl: Let -D merge headers in one file againEmil Engler2020-01-216-1/+22
| | | | | Closes #4762 Fixes #4753
* data.d: remove "Multiple files can also be specified"Daniel Stenberg2020-01-211-6/+5
| | | | | | | | It is superfluous and could even be misleading. Bug: https://curl.haxx.se/mail/archive-2020-01/0016.html Reported-by: Mike Norton Closes #4832
* CMake: support specifying the target Windows versionMarcel Raad2020-01-201-10/+10
| | | | | | | | | | | | Previously, it was only possible to set it to Windows Vista or XP by setting the option `ENABLE_INET_PTON` to `ON` resp. `OFF`. Use a new cache variable `CURL_TARGET_WINDOWS_VERSION` to be able to explicitly set the target Windows version. `ENABLE_INET_PTON` is ignored in this case. Ref: https://github.com/curl/curl/pull/1639#issuecomment-313039352 Ref: https://github.com/curl/curl/pull/4607#issuecomment-557541456 Closes https://github.com/curl/curl/pull/4815
* http.h: Copyright year out of date, should be 2020Daniel Stenberg2020-01-201-1/+1
| | | | Follow-up to 7ff9222ced8c
* HTTP: increase EXPECT_100_THRESHOLD to 1Mb加藤郁之2020-01-209-15/+12
| | | | | | Mentioned: https://curl.haxx.se/mail/lib-2020-01/0050.html Closes #4814
* ROADMAP: thread-safe `curl_global_init()`Daniel Stenberg2020-01-171-0/+7
| | | | I'd like to see this happen.
* RELEASE-NOTES: syncedDaniel Stenberg2020-01-171-4/+19
|
* wolfssl: use the wc-prefixed symbol alternativesDaniel Stenberg2020-01-161-6/+6
| | | | | | | | The symbols without wc_ prefix are not always provided. Ref: https://github.com/wolfSSL/wolfssl/issues/2744 Closes #4827
* polarssl: removedDaniel Stenberg2020-01-169-1049/+55
| | | | | | | | | | | | As detailed in DEPRECATE.md, the polarssl support is now removed after having been disabled for 6 months and nobody has missed it. The threadlock files used by mbedtls are renamed to an 'mbedtls' prefix instead of the former 'polarssl' and the common functions that previously were shared between mbedtls and polarssl and contained the name 'polarssl' have now all been renamed to instead say 'mbedtls'. Closes #4825
* libssh2: fix variable typeMarcel Raad2020-01-161-1/+1
| | | | | | | This led to a conversion warning on 64-bit MinGW, which has 32-bit `long` but 64-bit `size_t`. Closes https://github.com/curl/curl/pull/4823
* curl:progressbarinit: ignore column width from terminals < 20Daniel Stenberg2020-01-161-1/+2
| | | | | | | To avoid division by zero - or other issues. Reported-by: Daniel Marjamäki Closes #4818
* wolfssh: set the password correctly for PASSWORD authDaniel Stenberg2020-01-151-3/+4
|
* wolfssh: remove fprintf() calls (and uses of __func__)Daniel Stenberg2020-01-151-4/+4
|
* CMake: use check_symbol_exists also for inet_ptonMarcel Raad2020-01-141-14/+11
| | | | | | | | | | | | | | | It doesn't make much sense to only check if the function can be linked when it's not declared in any header and that is treated as an error. With the correct target Windows version set, the function is declared in ws2tcpip.h and the comment above the modified block is invalid. Also, move the definition of `_WIN32_WINNT` up to before all symbol availability checks so that we don't have to care which ones must be done after it. Tested with Visual Studio 2019 and current MinGW-w64. Closes https://github.com/curl/curl/pull/4808
* schannel_verify: Fix alt names manual verify for UNICODE buildsJay Satiro2020-01-131-1/+1
| | | | | | | Follow-up to 29e40a6 from two days ago, which added that feature for Windows 7 and earlier. The bug only occurred in same. Ref: https://github.com/curl/curl/pull/4761
* HTTP-COOKIES.md: describe the cookie file formatDaniel Stenberg2020-01-133-2/+28
| | | | | | | | | | ... and refer to that file from from CURLOPT_COOKIEFILE.3 and CURLOPT_COOKIELIST.3 Assisted-by: Jay Satiro Reported-by: bsammon on github Fixes #4805 Closes #4806
* CMake: Add support for CMAKE_LTO option.Tobias Hieta2020-01-133-0/+30
| | | | | | | This enables Link Time Optimization. LTO is a proven technique for optimizing across compilation units. Closes #4799
* RELEASE-NOTES: syncedDaniel Stenberg2020-01-131-3/+31
|
* ConnectionExists: respect the max_concurrent_streams limitsDaniel Stenberg2020-01-135-16/+22
| | | | | | | | | | | | | | | A regression made the code use 'multiplexed' as a boolean instead of the counter it is intended to be. This made curl try to "over-populate" connections with new streams. This regression came with 41fcdf71a1, shipped in curl 7.65.0. Also, respect the CURLMOPT_MAX_CONCURRENT_STREAMS value in the same check. Reported-by: Kunal Ekawde Fixes #4779 Closes #4784
* curl: make #0 not output the full URLDaniel Stenberg2020-01-133-3/+71
| | | | | | | | | | It was not intended nor documented! Added test 1176 to verify. Reported-by: vshmuk on hackerone Closes #4812
* wolfSSH: new SSH backendDaniel Stenberg2020-01-128-17/+1247
| | | | | | Adds support for SFTP (not SCP) using WolfSSH. Closes #4231
* curl: remove 'config' field from OutStructDaniel Stenberg2020-01-129-52/+48
| | | | | | | | | | | | As it was just unnecessary duplicated information already stored in the 'per_transfer' struct and that's around mostly anyway. The duplicated pointer caused problems when the code flow was aborted before the dupe was filled in and could cause a NULL pointer access. Reported-by: Brian Carpenter Fixes #4807 Closes #4810
* misc: Copyright year out of date, should be 2020Daniel Stenberg2020-01-126-6/+6
| | | | | | Follow-up to recent commits [skip ci]
* libssh2: add support for forcing a hostkey typeSantino Keupp2020-01-111-0/+130
| | | | | | | | | | | | - Allow forcing the host's key type found in the known_hosts file. Currently, curl (with libssh2) does not take keys from your known_hosts file into account when talking to a server. With this patch the known_hosts file will be searched for an entry matching the hostname and, if found, libssh2 will be told to claim this key type from the server. Closes https://github.com/curl/curl/pull/4747
* cmake: Improve libssh2 check on Windowsnicoguillier2020-01-111-1/+1
| | | | | | | | | | | | | - Add "libssh2" name to FindLibSSH2 library search. On Windows systems, libSSH2 CMake installation may name the library "LibSSH2". Prior to this change cmake only checked for name "ssh2". On Linux that works fine because it will prepend the "lib", but it doesn't do that on Windows. Closes https://github.com/curl/curl/pull/4804
* schannel: Make CURLOPT_CAINFO work better on Windows 7Faizur Rahman2020-01-111-20/+130
| | | | | | | | | | | | | | | | | | | | | - Support hostname verification via alternative names (SAN) in the peer certificate when CURLOPT_CAINFO is used in Windows 7 and earlier. CERT_NAME_SEARCH_ALL_NAMES_FLAG doesn't exist before Windows 8. As a result CertGetNameString doesn't quite work on those versions of Windows. This change provides an alternative solution for CertGetNameString by iterating through CERT_ALT_NAME_INFO for earlier versions of Windows. Prior to this change many certificates failed the hostname validation when CURLOPT_CAINFO was used in Windows 7 and earlier. Most certificates now represent multiple hostnames and rely on the alternative names field exclusively to represent their hostnames. Reported-by: Jeroen Ooms Fixes https://github.com/curl/curl/issues/3711 Closes https://github.com/curl/curl/pull/4761
* ngtcp2: Add an error code for QUIC connection errorsEmil Engler2020-01-117-14/+25
| | | | | | | | | | - Add new error code CURLE_QUIC_CONNECT_ERROR for QUIC connection errors. Prior to this change CURLE_FAILED_INIT was used, but that was not correct. Closes https://github.com/curl/curl/pull/4754
* multi: Change curl_multi_wait/poll to error on negative timeoutJay Satiro2020-01-117-4/+17
| | | | | | | | | | | | | | - Add new error CURLM_BAD_FUNCTION_ARGUMENT and return that error when curl_multi_wait/poll is passed timeout param < 0. Prior to this change passing a negative value to curl_multi_wait/poll such as -1 could cause the function to wait forever. Reported-by: hamstergene@users.noreply.github.com Fixes https://github.com/curl/curl/issues/4763 Closes https://github.com/curl/curl/pull/4765
* cmake: Enable SMB for Windows buildsMarc Aldorasi2020-01-113-6/+22
| | | | | | | | | | | - Define USE_WIN32_CRYPTO by default. This enables SMB. - Show whether SMB is enabled in the "Enabled features" output. - Fix mingw compiler warning for call to CryptHashData by casting away const param. mingw CryptHashData prototype is wrong. Closes https://github.com/curl/curl/pull/4717
* vtls: Refactor Curl_multissl_version to make the code clearerJay Satiro2020-01-111-16/+21
| | | | | | | | Reported-by: Johannes Schindelin Ref: https://github.com/curl/curl/pull/3863#pullrequestreview-241395121 Closes https://github.com/curl/curl/pull/4803
* fix: Copyright year out of date, should be 2020Daniel Stenberg2020-01-104-4/+4
| | | | Follow-up to 875314ed0bf3b