summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* curl: fix --upload-file . hangs if delay in STDINJohn Schroeder2019-11-266-4/+63
| | | | | | | | | | | | | | | Attempt to unpause a busy read in the CURLOPT_XFERINFOFUNCTION. When uploading from stdin in non-blocking mode, a delay in reading the stream (EAGAIN) causes curl to pause sending data (CURL_READFUNC_PAUSE). Prior to this change, a busy read was detected and unpaused only in the CURLOPT_WRITEFUNCTION handler. This change performs the same busy read handling in a CURLOPT_XFERINFOFUNCTION handler. Fixes #2051 Closes #4599 Reported-by: bdry on github
* XFERINFOFUNCTION: support CURL_PROGRESSFUNC_CONTINUEJohn Schroeder2019-11-265-11/+27
| | | | | | | | | (also for PROGRESSFUNCTION) By returning this value from the callback, the internal progress function call is still called afterward. Closes #4599
* TLS: add BearSSL vtls implementationMichael Forney2019-11-2617-14/+1049
| | | | Closes #4597
* curl_multi_wakeup.3: add example and AVAILABILITYDaniel Stenberg2019-11-261-0/+39
| | | | | Reviewed-by: Gergely Nagy Closes #4635
* multi: add curl_multi_wakeup()Gergely Nagy2019-11-2520-17/+684
| | | | | | | | | | | | This commit adds curl_multi_wakeup() which was previously in the TODO list under the curl_multi_unblock name. On some platforms and with some configurations this feature might not be available or can fail, in these cases a new error code (CURLM_WAKEUP_FAILURE) is returned from curl_multi_wakeup(). Fixes #4418 Closes #4608
* schannel: fix --tls-max for when min is --tlsv1 or defaultXiaoyin Liu2019-11-241-4/+0
| | | | | | | | Prior to this change schannel ignored --tls-max (CURL_SSLVERSION_MAX_ macros) when --tlsv1 (CURL_SSLVERSION_TLSv1) or default TLS (CURL_SSLVERSION_DEFAULT), using a max of TLS 1.2 always. Closes https://github.com/curl/curl/pull/4633
* checksrc.bat: Add a check for vquic and vssh directoriesJay Satiro2019-11-241-0/+12
| | | | Ref: https://github.com/curl/curl/pull/4607
* projects: Fix Visual Studio projects SSH buildsJay Satiro2019-11-2412-2/+219
| | | | | | | | | | | | - Generate VQUIC and VSSH filenames in Visual Studio project files. Prior to this change generated Visual Studio project configurations that enabled SSH did not build properly. Broken since SSH files were moved to lib/vssh 3 months ago in 5b2d703. Fixes https://github.com/curl/curl/issues/4492 Fixes https://github.com/curl/curl/issues/4630 Closes https://github.com/curl/curl/pull/4607
* RELEASE-NOTES: syncedDaniel Stenberg2019-11-231-8/+20
|
* openssl: Revert to less sensitivity for SYSCALL errorsJay Satiro2019-11-221-13/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Disable the extra sensitivity except in debug builds (--enable-debug). - Improve SYSCALL error message logic in ossl_send and ossl_recv so that "No error" / "Success" socket error text isn't shown on SYSCALL error. Prior to this change 0ab38f5 (precedes 7.67.0) increased the sensitivity of OpenSSL's SSL_ERROR_SYSCALL error so that abrupt server closures were also considered errors. For example, a server that does not send a known protocol termination point (eg HTTP content length or chunked encoding) _and_ does not send a TLS termination point (close_notify alert) would cause an error if it closed the connection. To be clear that behavior made it into release build 7.67.0 unintentionally. Several users have reported it as an issue. Ultimately the idea is a good one, since it can help prevent against a truncation attack. Other SSL backends may already behave similarly (such as Windows native OS SSL Schannel). However much more of our user base is using OpenSSL and there is a mass of legacy users in that space, so I think that behavior should be partially reverted and then rolled out slowly. This commit changes the behavior so that the increased sensitivity is disabled in all curl builds except curl debug builds (DEBUGBUILD). If after a period of time there are no major issues then it can be enabled in dev and release builds with the newest OpenSSL (1.1.1+), since users using the newest OpenSSL are the least likely to have legacy problems. Bug: https://github.com/curl/curl/issues/4409#issuecomment-555955794 Reported-by: Bjoern Franke Fixes https://github.com/curl/curl/issues/4624 Closes https://github.com/curl/curl/pull/4623
* openssl: improve error message for SYSCALL during connectDaniel Stenberg2019-11-221-1/+6
| | | | | | | Reported-by: Paulo Roberto Tomasi Bug: https://curl.haxx.se/mail/archive-2019-11/0005.html Closes https://github.com/curl/curl/pull/4593
* test1175: verify symbols-in-versions and libcurl-errors.3 in syncDaniel Stenberg2019-11-225-10/+118
| | | | Closes #4628
* include: make CURLE_HTTP3 use a new error codeDaniel Stenberg2019-11-214-5/+9
| | | | | | | | | To avoid potential issues with error code reuse. Reported-by: Christoph M. Becker Assisted-by: Dan Fandrich Fixes #4601 Closes #4627
* bump: next release will be 7.68.0Daniel Stenberg2019-11-212-5/+5
|
* curl: add --parallel-immediateDaniel Stenberg2019-11-216-1/+22
| | | | | | | | | | | | | | | Starting with this change when doing parallel transfers, without this option set, curl will prefer to create new transfers multiplexed on an existing connection rather than creating a brand new one. --parallel-immediate can be set to tell curl to prefer to use new connections rather than to wait and try to multiplex. libcurl-wise, this means that curl will set CURLOPT_PIPEWAIT by default on parallel transfers. Suggested-by: Tom van der Woerdt Closes #4500
* docs: fix typosVictor Magierski2019-11-202-2/+2
| | | | | | | Change 'experiemental' to 'experimental'. Closes #4618 Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
* projects: Fix Visual Studio wolfSSL configurationsJay Satiro2019-11-186-42/+42
| | | | | | | | | | | - s/USE_CYASSL/USE_WOLFSSL/ - Remove old compatibility macros. Follow-up to 1c6c59a from several months ago when CyaSSL named symbols were renamed to wolfSSL. The wolfSSL library was formerly named CyaSSL and we kept using their old name for compatibility reasons, until earlier this year.
* RELEASE-NOTES: syncedDaniel Stenberg2019-11-181-3/+51
|
* ngtcp2: use overflow buffer for extra HTTP/3 dataJavier Blazquez2019-11-186-37/+218
| | | | | Fixes #4525 Closes #4603
* altsvc: bump to h3-24Daniel Stenberg2019-11-181-2/+2
| | | | | | ... as both ngtcp2 and quiche now support that in their master branches Closes #4604
* ngtcp2: free used resources on disconnectDaniel Stenberg2019-11-182-7/+17
| | | | | Fixes #4614 Closes #4615
* ngtcp2: handle key updates as ngtcp2 master branch tells usDaniel Stenberg2019-11-182-3/+36
| | | | | | | Reviewed-by: Tatsuhiro Tsujikawa Fixes #4612 Closes #4613
* multi: Fix curl_multi_poll wait when extra_fds && !extra_nfdsGergely Nagy2019-11-171-1/+1
| | | | | | | | | | | | | Prior to this change: The check if an extra wait is necessary was based not on the number of extra fds but on the pointer. If a non-null pointer was given in extra_fds, but extra_nfds was zero, then the wait was skipped even though poll was not called. Closes https://github.com/curl/curl/pull/4610
* lib: Move lib/ssh.h -> lib/vssh/ssh.hJay Satiro2019-11-177-7/+9
| | | | | | Follow-up to 5b2d703 which moved ssh source files to vssh. Closes https://github.com/curl/curl/pull/4609
* INSTALL.md: provide Android build instructionsAndreas Falkenhahn2019-11-161-0/+41
| | | | Closes #4606
* doh: improced both encoding and decodingNiall2019-11-163-53/+147
| | | | | | | | | | | Improved estimation of expected_len and updated related comments; increased strictness of QNAME-encoding, adding error detection for empty labels and names longer than the overall limit; avoided treating DNAME as unexpected; updated unit test 1655 with more thorough set of proofs and tests Closes #4598
* ngtcp2: increase QUIC window size when data is consumedDaniel Stenberg2019-11-162-14/+25
| | | | | | Assisted-by: Javier Blazquez Ref #4525 (partial fix) Closes #4600
* config-win32: cpu-machine-OS for Windows on ARMMelissa Mears2019-11-141-1/+5
| | | | | | | Define the OS macro properly for Windows on ARM builds. Also, we might as well add the GCC-style IA-64 macro. Closes #4590
* examples: add multi-poll.cDaniel Stenberg2019-11-142-1/+77
| | | | | | | Show how curl_multi_poll() makes it even easier to use the multi interface. Closes #4596
* multi_poll: avoid busy-loop when called without easy handles attachedDaniel Stenberg2019-11-141-0/+4
| | | | | | Fixes #4594 Closes #4595 Reported-by: 3dyd on github
* curl: fix -T globbingDaniel Stenberg2019-11-145-6/+232
| | | | | | | | | | | | Regression from e59371a4936f8 (7.67.0) Added test 490, 491 and 492 to verify the functionality. Reported-by: Kamil Dudka Reported-by: Anderson Sasaki Fixes #4588 Closes #4591
* HISTORY: added cmake, HTTP/3 and parallel downloads with curlDaniel Stenberg2019-11-131-0/+9
|
* quiche: reject headers in the wrong orderDaniel Stenberg2019-11-125-4/+14
| | | | | | | | Pseudo header MUST come before regular headers or cause an error. Reported-by: Cynthia Coan Fixes #4571 Closes #4584
* openssl: prevent recursive function calls from ctx callbacksDaniel Stenberg2019-11-121-0/+2
| | | | | | | Follow the pattern of many other callbacks. Ref: #4546 Closes #4585
* CURL-DISABLE: initial docs for the CURL_DISABLE_* definesDaniel Stenberg2019-11-124-14/+150
| | | | | | | | | | The disable-scan script used in test 1165 is extended to also verify that the docs cover all used defines and all defines offered by configure. Reported-by: SLDiggie on github Fixes #4545 Closes #4587
* remove_handle: clear expire timers after multi_done()Daniel Stenberg2019-11-111-5/+5
| | | | | | | | | Since 59041f0, a new timer might be set in multi_done() so the clearing of the timers need to happen afterwards! Reported-by: Max Kellermann Fixes #4575 Closes #4583
* test1558: use double slash after file:Marcel Raad2019-11-101-5/+1
| | | | | | | Classic MinGW / MSYS 1 doesn't support `MSYS2_ARG_CONV_EXCL`, so this test unnecessarily failed when using `file:/` instead of `file:///`. Closes https://github.com/curl/curl/pull/4554
* pause: avoid updating socket if done was already calledDaniel Stenberg2019-11-101-3/+4
| | | | | | | | ... avoids unnecesary recursive risk when the transfer is already done. Reported-by: Richard Bowker Fixes #4563 Closes #4574
* strerror: Fix an error looking up some Windows error stringsJay Satiro2019-11-092-3/+6
| | | | | | | | | | | | | | | | | | - Use FORMAT_MESSAGE_IGNORE_INSERTS to ignore format specifiers in Windows error strings. Since we are not in control of the error code we don't know what information may be needed by the error string's format specifiers. Prior to this change Windows API error strings which contain specifiers (think specifiers like similar to printf specifiers) would not be shown. The FormatMessage Windows API call which turns a Windows error code into a string could fail and set error ERROR_INVALID_PARAMETER if that error string contained a format specifier. FormatMessage expects a va_list for the specifiers, unless inserts are ignored in which case no substitution is attempted. Ref: https://devblogs.microsoft.com/oldnewthing/20071128-00/?p=24353
* system.h: fix for MCST lcc compilerr-a-sattarov2019-11-091-8/+19
| | | | | | | | | | | | Fixed build by MCST lcc compiler on MCST Elbrus 2000 architecture and do some code cleanup. e2k (Elbrus 2000) - this is VLIW/EPIC architecture, like Intel Itanium architecture. Ref: https://en.wikipedia.org/wiki/Elbrus_2000 Closes https://github.com/curl/curl/pull/4576
* TODO: curl_multi_unblockDaniel Stenberg2019-11-081-0/+8
| | | | Closes #4418
* TODO: Run web-platform-tests url testsDaniel Stenberg2019-11-081-0/+10
| | | | Closes #4477
* TODO: 1.4 alt-svc sharingDaniel Stenberg2019-11-081-0/+8
| | | | Closes #4476
* test1560: require IPv6 for IPv6 aware URL parsingDaniel Stenberg2019-11-081-0/+1
| | | | | | | | | The URL parser function can't reject a bad IPv6 address properly when curl was built without IPv6 support. Reported-by: Marcel Raad Fixes #4556 Closes #4572
* checksrc: repair the copyrightyear checkDaniel Stenberg2019-11-082-4/+11
| | | | | | | | | | | | | | | | | | | | - Consider a modified file to be committed this year. - Make the travis CHECKSRC also do COPYRIGHTYEAR scan in examples and includes - Ignore 0 parents when getting latest commit date of file. since in the CI we're dealing with a truncated repo of last 50 commits, the file's most recent commit may not be available. when this happens git log and rev-list show the initial commit (ie first commit not to be truncated) but that's incorrect so ignore it. Ref: https://github.com/curl/curl/pull/4547 Closes https://github.com/curl/curl/pull/4549 Co-authored-by: Jay Satiro
* copyrights: fix copyright year rangeDaniel Stenberg2019-11-08127-127/+127
| | | | | | | | .. because checksrc's copyright year check stopped working. Ref: https://github.com/curl/curl/pull/4547 Closes https://github.com/curl/curl/pull/4549
* RELEASE-NOTES: syncedDaniel Stenberg2019-11-081-258/+14
|
* curlver: bump to 7.67.1Daniel Stenberg2019-11-081-3/+3
|
* mailmap: fixup Massimiliano FantuzziDaniel Stenberg2019-11-081-0/+1
|
* scripts/contributors: make committers get included tooDaniel Stenberg2019-11-081-2/+2
| | | | in addition to authors