diff options
author | dartraiden <wowemuh@gmail.com> | 2020-05-02 22:10:12 +0300 |
---|---|---|
committer | dartraiden <wowemuh@gmail.com> | 2020-05-02 22:10:12 +0300 |
commit | e963209266bbf3809cb8b44740de1b61e58f9ace (patch) | |
tree | 2ade22dff252aecfbd298b40e86b81182bba8dbc /libs/libcurl/docs/CHANGES | |
parent | e59cb2e8ac2d6c21016f773f0f26148343a5839c (diff) |
libcurl: update to 7.70.0
Diffstat (limited to 'libs/libcurl/docs/CHANGES')
-rw-r--r-- | libs/libcurl/docs/CHANGES | 3612 |
1 files changed, 1814 insertions, 1798 deletions
diff --git a/libs/libcurl/docs/CHANGES b/libs/libcurl/docs/CHANGES index 2862b0eeb9..de44c16641 100644 --- a/libs/libcurl/docs/CHANGES +++ b/libs/libcurl/docs/CHANGES @@ -6,6 +6,1819 @@ Changelog +Version 7.70.0 (29 Apr 2020) + +Daniel Stenberg (29 Apr 2020) +- RELEASE-NOTES: 7.70.0 + +- THANKS: synced with the 7.70.0 release + +- headers: copyright range fix + +- [Rikard Falkeborn brought this change] + + doh: Constify some input pointers + + Closes #5306 + +- nss: check for PK11_CreateDigestContext() returning NULL + + ... to avoid crashes! + + Reported-by: Hao Wu + Fixes #5302 + Closes #5303 + +- travis: bump the wolfssl CI build to use 4.4.0 + + Closes #5301 + +- copyright updates: adjust year ranges + +Marc Hoersken (26 Apr 2020) +- CI: do not include */ci branches in PR builds + + Align Azure Pipelines with GitHub Actions. + +Daniel Stenberg (25 Apr 2020) +- runtests: check for the disabled tests relative srcdir + + To make it work correctly for out-of-tree builds. + + Follow-up to 75e8feb6fb08b + + Bug: https://github.com/curl/curl/pull/5288#issuecomment-619346389 + Reported-by: Marcel Raad + Closes #5297 + +- runtests: revert commenting out a line I did for debugging + + Follow-up to 11091cd4d. It was not meant to be pushed! + +- smtp: set auth correctly + + Regression since 7.69.0 and 68fb25fa3fcff. + + The code wrongly assigned 'from' instead of 'auth' which probably was a + copy and paste mistake from other code, leading to that auth could + remain NULL and later cause an error to be returned. + + Assisted-by: Eric Sauvageau + Fixes #5294 + Closes #5295 + +Marcel Raad (25 Apr 2020) +- lib: clean up whitespace + + This fixes CodeFactor warnings. + +Daniel Stenberg (25 Apr 2020) +- [Anderson Toshiyuki Sasaki brought this change] + + libssh: avoid options override by configuration files + + Previously, options set explicitly through command line options could be + overridden by the configuration files parsed automatically when + ssh_connect() was called. + + By calling ssh_options_parse_config() explicitly, the configuration + files are parsed before setting the options, avoiding the options + override. Once the configuration files are parsed, the automatic + configuration parsing is not executed. + + Fixes #4972 + Closes #5283 + Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com> + +- runtests: when <killserver> mentions http, kill http/2 too + + Since the http2 test server is a mere proxy that needs to know about the + dynamic port the HTTP server is using, it too needs to get restarted + when the http server is killed. + + A regression caused by 80d6515. + + Fixes #5289 + Closes #5291 + +- [Yuri Slobodyanyuk brought this change] + + docs: fix two typos + + Closes #5292 + +- [Emil Engler brought this change] + + tests/git: ignore mqttd and port files + + Closes #5290 + +- tests: make runtests check that disabled tests exists + + ... and error out if so. Removed '536' from DISABLED as there is no such + test file. + + Closes #5288 + +- test1154: set a proper name + +- select: make Curl_socket_check take timediff_t timeout + + Coverity found CID 1461718: + + Integer handling issues (CONSTANT_EXPRESSION_RESULT) "timeout_ms > + 9223372036854775807L" is always false regardless of the values of its + operands. This occurs as the logical second operand of "||". + + Closes #5240 + +- [i-ky brought this change] + + libcurl-multi.3: added missing full stop + + Closes #5285 + +Jay Satiro (22 Apr 2020) +- transfer: Switch PUT to GET/HEAD on 303 redirect + + Prior to this change if there was a 303 reply to a PUT request then + the subsequent request to respond to that redirect would also be a PUT. + It was determined that was most likely incorrect based on the language + of the RFCs. Basically 303 means "see other" resource, which implies it + is most likely not the same resource, therefore we should not try to PUT + to that different resource. + + Refer to the discussions in #5237 and #5248 for more information. + + Fixes https://github.com/curl/curl/issues/5237 + Closes https://github.com/curl/curl/pull/5248 + +Daniel Stenberg (22 Apr 2020) +- lib/mk-ca-bundle: skip empty certs + + Reviewed-by: Emil Engler + Reported-by: Ashwin Metpalli + Fixes #5278 + Closes #5280 + +- version: skip idn2_check_version() check and add precaution + + A gcc-10's -fanalyze complaint made me spot and do these improvements. + + Closes #5281 + +- RELEASE-NOTES: synced + +- [Brian Bergeron brought this change] + + curl.h: update comment typo + + "routines with be invoked" -> "routines will be invoked" + + Closes #5279 + +- [Emil Engler brought this change] + + GnuTLS: Don't skip really long certificate fields + + Closes #5271 + +- gnutls: bump lowest supported version to 3.1.10 + + GnuTLS 3.1.10 added new functions we want to use. That version was + released on Mar 22, 2013. Removing support for older versions also + greatly simplifies the code. + + Ref: #5271 + Closes #5276 + +- mqtt: make NOSTATE get within the debug name array + +- tests: run the RTSP test server on a dynamic port number + + To avoid port collisions. + + Closes #5272 + +- tests: add %NOLISTENPORT and use it + + The purpose with this variable is to provide a port number that is + reasonably likely to not have a listener on the local host so that tests + can try connect failures against it. It uses port 47 - "reserved" + according to IANA. + + Updated six tests to use it instead of the previous different ports. + + Assisted-by: Emil Engler + Closes #5270 + +- mqtt: remove code with no purpose + + Detected by Coverity. CID 1462319. + + "The same code is executed when the condition result is true or false, + because the code in the if-then branch and after the if statement is + identical." + + Closes #5275 + +- mqtt: fix Curl_read() error handling while reading remaining length + + Detected by Coverity. CID 1462320. + + Closes #5274 + +- server/tftpd: fix compiler warning + + Follow-up from 369ce38ac1d + Reported-by: Marc Hörsken + +- http: free memory when Alt-Used header creation fails due to OOM + + Reported-by: James Fuller + Fixes #5268 + Closes #5269 + +Daniel Gustafsson (20 Apr 2020) +- lib: fix typos in comments and errormessages + + This fixes a few randomly spotted typos in recently merged code, most + notably one in a userfacing errormessage the schannel code. + +Daniel Stenberg (20 Apr 2020) +- tests: run the SOCKS test server on a dynamic port number + + Closes #5266 + +- [Johannes Schindelin brought this change] + + multi-ssl: reset the SSL backend on `Curl_global_cleanup()` + + When cURL is compiled with support for multiple SSL backends, it is + possible to configure an SSL backend via `curl_global_sslset()`, but + only *before* `curl_global_init()` was called. + + If another SSL backend should be used after that, a user might be + tempted to call `curl_global_cleanup()` to start over. However, we did + not foresee that use case and forgot to reset the SSL backend in that + cleanup. + + Let's allow that use case. + + Fixes #5255 + Closes #5257 + Reported-by: davidedec on github + Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + +- tests: run the TFTP test server on a dynamic port number + + Picking a dynamic unused port is better than a fixed to avoid the + collision risk. + + Closes #5265 + +- mqtt: improve the state machine + + To handle PUBLISH before SUBACK and more. + + Updated the existing tests and added three new ones. + + Reported-by: Christoph Krey + Bug: https://curl.haxx.se/mail/lib-2020-04/0021.html + Closes #5246 + +- runtests: always put test number in servercmd file + +- RELEASE-NOTES: synced + +- release-notes.pl: fix parsing typo + +James Fuller (20 Apr 2020) +- [xquery brought this change] + + ensure all references to ports are replaced by vars + +- [xquery brought this change] + + add more alt-svc test coverage + +Daniel Stenberg (20 Apr 2020) +- test1247: use http server to get the port number set + + Follow-up to 0f5db7b263f + +- runtests: use a unix domain socket path with the pid in the name + + To make it impossible for test cases to access the file name without + using the proper variable for the purpose. + + Closes #5264 + +Daniel Gustafsson (19 Apr 2020) +- [Tom brought this change] + + src: Remove C99 constructs to ensure C89 compliance + + This fixes the error: 'for' loop initial declaration used outside C99 + mode by declaring the loop increment variable in the beginning of the + block instead of inside the for loop. + + Fixes #5254 + Reviewed-by: Daniel Gustafsson <daniel@yesql.se> + +Daniel Stenberg (19 Apr 2020) +- runtests: dummy init the ports variables to avoid warnings + + ... and generate something that can help debug test cases. + +- [Patrick Monnerat brought this change] + + mime: properly check Content-Type even if it has parameters + + New test 669 checks this fix is effective. + + Fixes #5256 + Closes #5258 + Reported-by: thanhchungbtc on github + +- tests/FILEFORMAT: converted to markdown and extended + + Closes #5261 + +- test1245: make it work with dynamic FTP server port + +- test1055: make it work with dynamic FTP port + +- test1028: make it run on dynamic FTP server port + +- tests: move pingpong server to dynamic listening port + + FTP, IMAP, POP3, SMTP and their IPv6 versions are now all on dynamic + ports + + Test 842-845 are unfortunately a bit hard to move over to this concept + right now and require "default port" still... + +- test1056: work with dynamic HTTP ipv6 port + +- test1448: work with dynamic HTTP server port + +- tests: introduce preprocessed test cases + + The runtests script now always performs variable replacement on the + entire test source file before the test gets executed, and saves the + updated version in a temporary file (log/test[num]) so that all test + case readers/servers can use that version (if present) and thus enjoy + the powers of test case variable substitution. + + This is necessary to allow complete port number freedom. + + Test 309 is updated to work with a non-fixed port number thanks to this. + +- tests: make 2006-2010 handle different port number lengths + +- tests: run the sws server on "any port" + + Makes the test servers for HTTP and Gopher pop up on a currently unused + port and runtests adapts to that! + + Closes #5247 + +Marc Hoersken (18 Apr 2020) +- sockfilt: tidy variable naming and data structure in select_ws + + This commit does not introduce any logical changes to the code. + + Reviewed-by: Jay Satiro and Marcel Raad + Closes #5238 + +Daniel Stenberg (17 Apr 2020) +- [Anderson Toshiyuki Sasaki brought this change] + + libssh: Use new ECDSA key types to check known hosts + + From libssh 0.9.0, ssh_key_type() returns different key types for ECDSA + keys depending on the curve. + + Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com> + Fixes #5252 + Closes #5253 + +Marcel Raad (17 Apr 2020) +- appveyor: add Unicode winbuild jobs + + These are cheap as they don't build tests. + + Closes https://github.com/curl/curl/pull/5063 + +Daniel Stenberg (16 Apr 2020) +- mqttd: s/errno/SOCKERRNO + + To behave proper on Windows + Reported-by: Gisle Vanem + Bug: https://github.com/curl/curl/commit/5e855bbd18f84a02c951be7cac6188276818cdac#r38507132 + Closes #5241 + +- buildconf: use find -execdir instead, remove -print and the ares files + + Follow-up to 1e41bec96a6e + + Suggested-by: Marc Hörsken + +- [Alexander V. Tikhonov brought this change] + + buildconf: avoid using tempfile when removing files + + Closes #5213 + +- copyright: bump the copyright year range + +- scripts/release-notes.pl: accept colon after the Fixes/Closes keywords + +- [JP Mens brought this change] + + docs/MQTT: replace confusing 80 by 75 + + I was a bit surprised by the `80`: first thought: what's HTTP doing + here? ;) + + Closes #5236 + +- [Brad King brought this change] + + cmake: Avoid MSVC C4273 warnings in send/recv checks + + We use `check_c_source_compiles` to check possible send/recv signatures + by reproducing the forward declarations from system headers. On Windows + the `winsock2.h` header adds dll linkage settings to its forward + declaration. If ours does not match the compiler warns: + + warning C4273: 'recv': inconsistent dll linkage + + Add `WINSOCK_API_LINKAGE` to our test signatures when it is defined so + that our linkage is consistent with that from `winsock2.h`. + + Fixes #4764 + Closes #5232 + +Jay Satiro (14 Apr 2020) +- KNOWN_BUGS: Add entry 'Blocking socket operations' + + - Add threaded resolver cleanup and GSSAPI for FTP to the TODO list of + known blocking operations. + + - New known bugs entry 'Blocking socket operations in non-blocking API' + that directs to the TODO's list of known blocking operations. + + Ref: https://github.com/curl/curl/pull/5214#issuecomment-612488021 + + Reported-by: Marc Hoersken + + Closes https://github.com/curl/curl/pull/5216 + +Marc Hoersken (14 Apr 2020) +- test2043: use revoked.badssl.com instead of revoked.grc.com + + The certificate of revoked.grc.com has expired on 2020-04-13. + + Reviewed-by: Jay Satiro + + Closes #5233 + +- sockfilt: fix broken pipe on Windows to be ready in select_ws + + Closes #5228 + +Daniel Stenberg (14 Apr 2020) +- RELEASE-NOTES: synced + +- scripts/release-notes: fix duplicate output header + +- github/workflow: enable MQTT in the macOS debug build + +- azure: add mqtt support to one of the Windows builds + +- travis: add mqtt job on Linux + +- tests: add four MQTT tests 1190 - 1193 + +- tests: add the mqtt test server mqttd + +- tests: support hex encoded data and mqtt server + + The mqtt server is started using a "random" port. + +- [Björn Stenberg brought this change] + + mqtt: add new experimental protocol + + Closes #5173 + +- TODO: Consider convenience options for JSON and XML? + + Closes #5203 + +- tool: do not declare functions with Curl_ prefix + + To avoid collision risks with private libcurl symbols when linked with + static versions (or just versions not hiding internal symbols). + + Reported-by: hydra3333 on github + Fixes #5219 + Closes #5234 + +- [Nathaniel R. Lewis brought this change] + + cmake: add aliases so exported target names are available in tree + + Reviewed-by: Brad King + Closes #5206 + +- version: increase buffer space for ssl version output + + To avoid it getting truncated, especially when several SSL backends are + built-in. + + Reported-by: Gisle Vanem + Fixes #5222 + Closes #5226 + +Marc Hoersken (13 Apr 2020) +- cirrus: no longer ignore test 504 which is working again + + The test is working again, because TCP blackholing is disabled. + +- appveyor: completely disable tests that fail to timeout early + + The tests changed from ignored to disabled are tests that are + about connecting to non-listening socket. On AppVeyor these + tests are not reliable, because for some unknown reason the + connect is not timing out before the test time limit is reached. + +Daniel Stenberg (13 Apr 2020) +- test1908: avoid using fixed port number in test data + + Closes #5225 + +Jay Satiro (12 Apr 2020) +- [Andrew Kurushin brought this change] + + schannel: Fix blocking timeout logic + + - Fix schannel_send for the case when no timeout was set. + + Prior to this change schannel would error if the socket was not ready + to send data and no timeout was set. + + This commit is similar to parent commit 89dc6e0 which recently made the + same change for SOCKS, for the same reason. Basically it was not well + understood that when Curl_timeleft returns 0 it is not a timeout of 0 ms + but actually means no timeout. + + Fixes https://github.com/curl/curl/issues/5177 + Closes https://github.com/curl/curl/pull/5221 + +- socks: Fix blocking timeout logic + + - Document in Curl_timeleft's comment block that returning 0 signals no + timeout (ie there's infinite time left). + + - Fix SOCKS' Curl_blockread_all for the case when no timeout was set. + + Prior to this change if the timeout had a value of 0 and that was passed + to SOCKET_READABLE it would return right away instead of blocking. That + was likely because it was not well understood that when Curl_timeleft + returns 0 it is not a timeout of 0 ms but actually means no timeout. + + Ref: https://github.com/curl/curl/pull/5214#issuecomment-612512360 + + Closes https://github.com/curl/curl/pull/5220 + +- [Marc Hoersken brought this change] + + gopher: check remaining time left during write busy loop + + Prior to this change gopher's blocking code would block forever, + ignoring any set timeout value. + + Assisted-by: Jay Satiro + Reviewed-by: Daniel Stenberg + + Similar to #5220 and #5221 + Closes #5214 + +Daniel Stenberg (13 Apr 2020) +- [Dirkjan Bussink brought this change] + + gnutls: ensure TLS 1.3 when SRP isn't requested + + When SRP is requested in the priority string, GnuTLS will disable + support for TLS 1.3. Before this change, curl would always add +SRP to + the priority list, effectively always disabling TLS 1.3 support. + + With this change, +SRP is only added to the priority list when SRP + authentication is also requested. This also allows updating the error + handling here to not have to retry without SRP. This is because SRP is + only added when requested and in that case a retry is not needed. + + Closes #5223 + +Marc Hoersken (12 Apr 2020) +- tests/server: add hidden window to gracefully handle WM_CLOSE + + Forward Window events as signals to existing signal event handler. + +- tests/server: add CTRL event handler for Win32 consoles + + Forward CTRL events as signals to existing signal event handler. + +- tests/server: move all signal handling routines to util.[ch] + + Avoid code duplication to prepare for portability enhancements. + +Daniel Stenberg (12 Apr 2020) +- compressed.d: stress that the headers are not modified + + Suggested-by: Michael Osipov + Assisted-by: Jay Satiro + Bug: https://github.com/curl/curl/issues/5182#issuecomment-611638008 + Closes #5217 + +Marc Hoersken (11 Apr 2020) +- tests/server/util.c: use curl_off_t instead of long for pid + + Avoid potential overflow of huge PIDs on Windows. + + Related to #5188 + Assisted-by: Marcel Raad + +- tests: use Cygwin/msys PIDs for stunnel and sshd on Windows + + Since the Windows versions of both programs would write Windows + PIDs to their pidfiles which we cannot handle, we need to use + our known perl.exe Cygwin/msys PID together with exec() in order + to tie the spawned processes to the existance of our perl.exe + + The perl.exe that is executing secureserver.pl and sshserver.pl + has a Cygwin/msys PID, because it is started inside Cygwin/msys. + + Related to #5188 + +- tests: add Windows compatible pidwait like pidkill and pidterm + + Related to #5188 + +- tests: fix conflict between Cygwin/msys and Windows PIDs + + Add 65536 to Windows PIDs to allow Windows specific treatment + by having disjunct ranges for Cygwin/msys and Windows PIDs. + + See also: + - https://cygwin.com/git/?p=newlib-cygwin.git;a=commit; ↵ + h=b5e1003722cb14235c4f166be72c09acdffc62ea + - https://cygwin.com/git/?p=newlib-cygwin.git;a=commit; ↵ + h=448cf5aa4b429d5a9cebf92a0da4ab4b5b6d23fe + + Replaces #5178 + Closes #5188 + +Daniel Stenberg (11 Apr 2020) +- RELEASE-NOTES: synced + +- release-notes.pl: detect the start of the references in cleanup mode + +- Revert "file: on Windows, refuse paths that start with \\" + + This reverts commit 1b71bc532bde8621fd3260843f8197182a467ff2. + + Reminded-by: Chris Roberts + Bug: https://curl.haxx.se/mail/archive-2020-04/0013.html + + Closes #5215 + +Jay Satiro (11 Apr 2020) +- lib: fix conversion warnings for SOCKET_WRITABLE/READABLE + + - If loss of data may occur converting a timediff_t to time_t and + the time value is > TIME_T_MAX then treat it as TIME_T_MAX. + + This is a follow-up to 8843678 which removed the (time_t) typecast + from the macros so that conversion warnings could be identified. + + Closes https://github.com/curl/curl/pull/5199 + +- test1148: tolerate progress updates better (again) + + - Ignore intermediate progress updates. + + - Support locales that use a character other than period as decimal + separator (eg 100,0%). + + test1148 checks that the progress finishes at 100% and has the right + bar width. Prior to this change the test assumed that the only progress + reported for such a quick transfer was 100%, however in rare instances + (like in the CI where transfer time can slow considerably) there may be + intermediate updates. For example, below is stderrlog1148 from a failed + CI run with explicit \r and \n added (it is one line; broken up so that + it's easier to understand). + + \r + \r################################## 48.3% + \r######################################################################## 100.0% + \n + + Closes https://github.com/curl/curl/pull/5194 + +Marc Hoersken (10 Apr 2020) +- sshserver.pl: use cached Win32 environment check variable + +- appveyor: partially revert 3413a110 to keep build without proxy + + Ref: #5211 and #4526 + Reported-by: Marcel Raad + +- appveyor: ignore failing 'connect to non-listening proxy' tests + + Closes #5211 + +- CI/macos: convert CRLF to LF and align indentation + +Daniel Stenberg (9 Apr 2020) +- url: allow non-HTTPS altsvc-matching for debug builds + + This is already partly supported but this part was missing. + Reported-by: James Fuller + + Closes #5205 + +- server/resolve: remove AI_CANONNAME to make macos tell the truth + + With this bit set, my mac successfully resolves "ip6-localhost" when in + fact there is no such host known to my machine! That in turn made test + 241 wrongly execute and fail. + + Closes #5202 + +- runtests: fix warning about using an undefined variable + + Follow-up from 4d939ef6ceb2db1 + +- release-notes: fix the initial reference list output + +- github actions: run when pushed to master or */ci + PRs + + Avoid double-builds when using "local" branches for PRs. For both macos + and fuzz jobs. + + Closes #5201 + +- runtests: provide nicer errormsg when protocol "dump" file is empty + +- [Gilles Vollant brought this change] + + schannel: support .P12 or .PFX client certificates + + Used with curl command line option like this: --cert + <filename>:<password> --cert-type p12 + + Closes #5193 + +- tests: verify split initial HTTP requests with CURL_SMALLREQSEND + + test1294: "split request" being when the entire request isn't sent in + the first go, and the remainder is sent in the PERFORM state. A GET + request is otherwise not sending anything during PERFORM. + + test1295: same kind of split but with POST + + Closes #5197 + +- http: don't consider upload done if the request isn't completely sent off + + Fixes #4919 + Closes #5197 + +- http: allow Curl_add_buffer_send() to do a short first send by force + + In a debug build, settting the environment variable "CURL_SMALLREQSEND" + will make the first HTTP request send not send more bytes than the set + amount, thus ending up verifying that the logic for handling a split + HTTP request send works correctly. + +- connect: store connection info for QUIC connections + + Restores the --head functionality to the curl utility which extracts + 'protocol' that is stored that way. + + Reported-by: James Fuller + Fixes #5196 + Closes #5198 + +- tests/README: update the port numbers list + + Since the pipelining server is long gone. + Reported-by: James Fuller + +- select: remove typecast from SOCKET_WRITABLE/READABLE macros + + So that they don't hide conversions-by-mistake + + Reviewed-by: Jay Satiro + Closes #5190 + +- CURLOPT_WRITEFUNCTION.3: add inline example and new see-also + + Closes #5192 + +- release-notes: output trailing references sorted numerically + +- cleanup: correct copyright year range on a few files + +- configure: remove use of -vec-report0 from CFLAGS with icc + + ... as it apparently isn't (always) supported. + Reported-by: Alain Miniussi + Fixes #5096 + Closes #5191 + +- warnless: remove code block for icc that didn't work + + Reported-by: Alain Miniussi + Fixes #5096 + +Marc Hoersken (6 Apr 2020) +- dist: add missing setup-win32.h + + Follow up to d820224b8b + +Daniel Stenberg (6 Apr 2020) +- RELEASE-NOTES: synced + +- scripts/release-notes.pl: add helper script for RELEASE-NOTES maintenance + + This script helps putting entries in the RELEASE-NOTES using a coherent + style and sorting with a minimal human editing effort - as long as the + first line in the commit message is good enough! There's a short howto + at the top of the file. + +- [Dennis Felsing brought this change] + + configure: don't check for Security.framework when cross-compiling + + Since it checks for the local file, not the cross-compiled one. + + Closes #5189 + +- TODO: Option to make -Z merge lined based outputs on stdout + + Closes #5175 + +- lib: never define CURL_CA_BUNDLE with a getenv + + - it breaks the build (since 6de756c9b1de34b7a1) + - it's not documented and not consistent across platforms + - the curl tool does that getenv magic + + Bug: https://github.com/curl/curl/commit/6de756c#r38127030 + Reported-by: Gisle Vanem + + Closes #5187 + +Marc Hoersken (5 Apr 2020) +- lib670: use the same Win32 API check as all other lib tests + +- appveyor: use random test server ports based upon APPVEYOR_API_URL + + Avoid conflicts of test server ports with AppVeyor API on localhost. + + Closes #5034 + +- appveyor: sort builds by type and add two new variants + + Related to #5034 and #5063 + +- appveyor: show failed tests in log even if test is ignored + + And print API response with newline only if there is one + +- appveyor: turn disabled tests into ignored result tests + +Daniel Stenberg (5 Apr 2020) +- KNOWN_BUGS: fixed "USE_UNIX_SOCKETS on Windows" + + Fixed with #5170 (commit 23a870f2fd041278) + +- test1566: verify --etag-compare that gets a 304 back + + Verifies the fix in #5183 + + Closes #5186 + +- [Kwon-Young Choi brought this change] + + CURLINFO_CONDITION_UNMET: return true for 304 http status code + + In libcurl, CURLINFO_CONDITION_UNMET is used to avoid writing to the + output file if the server did not transfered a file based on time + condition. In the same manner, getting a 304 HTTP response back from the + server, for example after passing a custom If-Match-* header, also + fulfill this condition. + + Fixes #5181 + Closes #5183 + +- [Kwon-Young Choi brought this change] + + curl: allow both --etag-compare and --etag-save with same file name + + This change inverse the order of processing for the --etag-compare and + --etag-save option to process first --etag-compare. This in turn allows + to use the same file name to compare and save an etag. + + The original behavior of not failing if the etag file does not exists is + conserved. + + Fixes #5179 + Closes #5180 + +Viktor Szakats (4 Apr 2020) +- windows: enable UnixSockets with all build toolchains + + Extend existing unix socket support in Windows builds to be + enabled for all toolchain vendors or versions. (Previously + it was only supported with certain MSVC versions + more recent + Windows 10 SDKs) + + Ref: https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/ + Ref: https://github.com/curl/curl/issues/5162 + Closes: https://github.com/curl/curl/pull/5170 + +Daniel Stenberg (4 Apr 2020) +- KNOWN_BUGS: Store TLS context per transfer instead of per connection + + Closes #5102 + +Marc Hoersken (3 Apr 2020) +- sockfilt: remove redundancy in timeout handling + + And update other logmsg output in select_ws on Windows. + +- sockfilt: fix handling of ready closed sockets on Windows + + Replace the incomplete workaround regarding FD_CLOSE + only signalling once by instead doing a pre-check with + standard select and storing the result for later use. + + select keeps triggering on closed sockets on Windows while + WSAEventSelect fires only once with data still available. + By doing the pre-check we do not run in a deadlock + due to waiting forever for another FD_CLOSE event. + +- sockfilt: fix race-condition of waiting threads and event handling + + Fix race-condition of waiting threads finishing while events are + already being processed which lead to invalid or skipped events. + + Use mutex to check for one event at a time or do post-processing. + In addition to mutex-based locking use specific event as signal. + + Closes #5156 + +Daniel Stenberg (2 Apr 2020) +- [Leo Neat brought this change] + + CI-fuzz: increase fuzz time to 40 minutes + + Closes #5174 + +Marc Hoersken (2 Apr 2020) +- CI: increase Azure Pipelines timeouts due to performance issues + + The current demand on Azure negatively impacts the CI performance. + +- runtests.pl: log host OS as detected by Perl environment + +- ftpserver.pl: log before and after data connection is closed + +Daniel Stenberg (1 Apr 2020) +- RELEASE-NOTES: synced + +- RELEASE-PROCEDURE.md: run the copyright.pl script! + +- vquic/ngtcp2.h: update copyright year range + + Follow-up to 0736ee73d346a52 + +- [Daiki Ueno brought this change] + + CI: add build with ngtcp2 + gnutls on Travis CI + +- [Daiki Ueno brought this change] + + vquic: add support for GnuTLS backend of ngtcp2 + + Currently, the TLS backend used by vquic/ngtcp2.c is selected at compile + time. Therefore OpenSSL support needs to be explicitly disabled. + + Signed-off-by: Daiki Ueno <dueno@redhat.com> + Closes #5148 + +- [Gisle Vanem brought this change] + + examples/sessioninfo.c: add include to fix compiler warning + + Fixes #5171 + +- misc: copyright year updates + + Follow-up to 7a71965e9 + +- [Harry Sintonen brought this change] + + build: fixed build for systems with select() in unistd.h + + Closes #5169 + +- memdebug: don't log free(NULL) + + ... it serves no purpose and fills up the log. + +- cleanup: insert newline after if() conditions + + Our code style mandates we put the conditional block on a separate + line. These mistakes are now detected by the updated checksrc. + +- checksrc: warn on obvious conditional blocks on the same line as if() + + Closes #5164 + +- [Roger Orr brought this change] + + cmake: add CMAKE_MSVC_RUNTIME_LIBRARY + + Fixes #5165 + Closes #5167 + +- [Daiki Ueno brought this change] + + ngtcp2: update to git master for the key installation API change + + This updates the ngtcp2 OpenSSL backend to follow the API change in + commit 32e703164 of ngtcp2. + + Notable changes are: + - ngtcp2_crypto_derive_and_install_{rx,tx}_key have been added to replace + ngtcp2_crypto_derive_and_install_key + - the 'side' argument of ngtcp2_crypto_derive_and_install_initial_key + has been removed + + Fixes #5166 + Closes #5168 + +- [Cyrus brought this change] + + SECURITY.md: minor rephrase + + Closes #5158 + +- output.d: quote the URL when globbing + + Some shells do globbing of their own unless the URL is quoted, so maybe + encourage this. + + Co-authored-by: Jay Satiro + Closes #5160 + +- dist: add tests/version-scan.pl to tarball + + ... used in test 1177. + + Follow-up to a97d826f6de3 + +- test1177: verify that all the CURL_VERSION_ bits are documented + +- curl.h: remnove CURL_VERSION_ESNI. Never supported nor documented + + Considered experimental and therefore we can do this. + + Closes #5157 + +- KNOWN_BUGS: DoH doesn't inherit all transfer options + + Closes #4578 + Closes #4579 + +- KNOWN_BUGS: DoH leaks memory after followlocation + + Closes #4592 + +- KNOWN_BUGS: "FTPS needs session reuse" + + Closes #4654 + +- KNOWN_BUGS: "stick to same family over SOCKS pro" is presumed fixed + +- TODO: Set custom client ip when using haproxy protocol + + Closes #5125 + +Michael Kaufmann (27 Mar 2020) +- writeout_json: Fix data type issues + + Load long values correctly (e.g. for http_code). + + Use curl_off_t (not long) for: + - size_download (CURLINFO_SIZE_DOWNLOAD_T) + - size_upload (CURLINFO_SIZE_UPLOAD_T) + + The unit for these values is bytes/second, not microseconds: + - speed_download (CURLINFO_SPEED_DOWNLOAD_T) + - speed_upload (CURLINFO_SPEED_UPLOAD_T) + + Fixes #5131 + Closes #5152 + +Daniel Stenberg (27 Mar 2020) +- mailmap: fixup a few author names/fields + + Douglas Steinwand, Gökhan Şengün, Jessa Chandler, Julian Z and + Svyatoslav Mishyn + +- version: add 'cainfo' and 'capath' to version info struct + + Suggested-by: Timothe Litt + URL: https://curl.haxx.se/mail/lib-2020-03/0090.html + Reviewed-by: Jay Satiro + + Closes #5150 + +- RELEASE-NOTES: synced + +Jay Satiro (26 Mar 2020) +- SSLCERTS.md: Fix example code for setting CA cert file + + Prior to this change the documentation erroneously said use + CURLOPT_CAPATH to set a CA cert file. + + Bug: https://curl.haxx.se/mail/lib-2020-03/0121.html + Reported-by: Timothe Litt + + Closes https://github.com/curl/curl/pull/5151 + +Marc Hoersken (26 Mar 2020) +- sockfilt: add logmsg output to select_ws_wait_thread on Windows + + Assisted-by: Jay Satiro + Reviewed-by: Daniel Stenberg + + Closes #5086 + +Daniel Stenberg (26 Mar 2020) +- docs/make: generate curl.1 from listed files only + + Previously it rendered the page from files matching "*.d" in the correct + directory, which worked fine in git builds when the files were added but + made it easy to forget adding the files to the dist. + + Now, only man page sections listed in DPAGES in Makefile.inc will be + used, thus "forcing" us to update this to get the man page right and get + it included in the dist at the same time. + + Ref: #5146 + Closes #5149 + +- openssl: adapt to functions marked as deprecated since version 3 + + OpenSSL 3 deprecates SSL_CTX_load_verify_locations and the MD4, DES + functions we use. + + Fix the MD4 and SSL_CTX_load_verify_locations warnings. + + In configure, detect OpenSSL v3 and if so, inhibit the deprecation + warnings. OpenSSL v3 deprecates the DES functions we use for NTLM and + until we rewrite the code to use non-deprecated functions we better + ignore these warnings as they don't help us. + + Closes #5139 + +- dist: add mail-rcpt-allowfails.d to the tarball + + Reported-by: Maksim Stsepanenka + Reviewed-by: Jat Satiro + + Closes #5146 + +- travis: update the ngtcp2 build to use the latest OpenSSL patch + + ... which also makes it OpenSSL 1.1.1d based and not v3. + +Marc Hoersken (24 Mar 2020) +- CI: remove default Ubuntu build from GitHub Actions + + We are already running a very similar Ubuntu build on Travis CI. + The macOS variant of this default build is kept on Github Actions. + +- CI: bring GitHub Actions fuzzing job in line with macOS jobs + + Update YAML formatting, job naming and triggers. + +- CI: migrate macOS jobs from Azure and Travis CI to GitHub Actions + + Reduce workload on Azure Pipelines and Travis CI while + consolidating macOS jobs onto less utilized GitHub Actions. + + Reviewed-by: Daniel Stenberg + + Closes #5124 + +Daniel Stenberg (24 Mar 2020) +- config: remove all defines of HAVE_DES_H + + As there's no code using it. + + Closes #5144 + +- copyright: fix out-of-date copyright ranges and missing headers + + Reported by the new script 'scripts/copyright.pl'. The script has a + regex whitelist for the files that don't need copyright headers. + + Removed three (mostly usesless) README files from docs/ + + Closes #5141 + +- packages: add OS400/chkstrings.c to the dist + + Reported-by: Jon Rumsey + Fixes #5142 + Closes #5143 + +- [Clément Notin brought this change] + + nghttp2: 1.12.0 required + + since nghttp2_session_set_local_window_size is needed + + Closes #5140 + +- RELEASE-NOTES: synced + +- [Calvin Buckley brought this change] + + OS400: Update strings for ccsid-ifier + + Fixes build. + + Closes #5132 + +- cirrus: make freebsd ignore the tests instead of skipping + + To allow us to see in the CI logs how they actually behave + + Closes #5091 + +- cirrus: move the sanitizer build from freebsd 13 to freebsd 12 + +- Revert "cirrus-ci: disable the FreeBSD 13 builds" + + This reverts commit 691b71be930f0e285c8f7a76efd56bbe0576cda6. + +- getinfo: provide CURLINFO_HEADER_SIZE and CURLINFO_REQUEST_SIZE override + + To let debug-builds return fake values, like in test 970. + + Ref: #5131 + Closes #5136 + +- test970: improve the test + + - send more data to make problems more obvious + - don't start the data with minus, it makes diffs harder to read + - skip the headers in the stdout comparison + - save to a file name to also verify 'filename_effective' + + Ref: #5131 + +- CURLINFO_NUM_CONNECTS: improve accuracy + + The counter was not bumped in all cases correctly. + + Reported-by: Marcel Raad + Ref: #5131 + Closes #5135 + +- TODO: Use "random" ports for the test servers + +- lib/curl_setup: adjust the copyright year range + + Follow-up from d820224b8 + +Jay Satiro (21 Mar 2020) +- curl_setup: define _WIN32_WINNT_[OS] symbols + + .. because not all Windows build systems have those symbols, and even + those that do may be missing newer symbols (eg the Windows 7 SDK does + not define _WIN32_WINNT_WIN10). + + Those symbols are used in build-time logic to decide which API to use + and prior to this change if the symbols were missing it would have + resulted in deprecated API being used when more recent functions were + available (eg GetVersionEx used instead of VerifyVersionInfo). + + Reported-by: FuccDucc@users.noreply.github.com + + Probably fixes https://github.com/curl/curl/issues/4995 + Closes https://github.com/curl/curl/pull/5057 + +- [Ross Burton brought this change] + + curl-functions.m4: remove inappropriate AC_REQUIRE + + AC_REQUIRE means "if this macro hasn't been executed already, execute + it". So in a wrapper around AC_RUN_IFELSE, AC_REQUIRE(AC_RUN_IFELSE) + isn't correct at that will execute AC_RUN_IFELSE without any arguments. + + With autoconf 2.69 this is basically a no-op, but with autoconf 2.70, + AC_RUN_IFELSE without a default value when cross-compiling is fatal. + The result is that curl with autoconf 2.70 cannot cross-compile. + + Fixes https://github.com/curl/curl/issues/5126 + Closes https://github.com/curl/curl/pull/5130 + +Marc Hoersken (20 Mar 2020) +- ci/tests: fix Azure Pipelines not running Windows containers + + Workaround posted here: microsoft/azure-pipelines-agent#2864 + + Assisted-by: Simon Chalifoux + Assisted-by: Tommy Petty + + Fixes #5117 + Closes #5129 + +Daniel Stenberg (20 Mar 2020) +- tests: add test 430, 431 and 432 to verify the --config fix + + Verify the fixes in 4e0b4fee4 + +- [Rici Lake brought this change] + + cmdline: fix handling of OperationConfig linked list (--next) + + Ensures that -K/--config inserts new items at the end of the list + instead of overwriting the second item, and that after a -K/--config + option has been parsed, the option parser's view of the current config + is update. + + Fixes #5120 + Closes #5123 + +Marc Hoersken (20 Mar 2020) +- test2100: fix static port instead of dynamic value being used + +- test970: fix static ip:port instead of dynamic values being used + +Daniel Stenberg (19 Mar 2020) +- secure transport: remove the BACKEND define kludge + + Closes #5122 + +- mbedtls: remove the BACKEND define kludge + +- bearssl: remove the BACKEND define kludge + +- wolfssl: remove the BACKEND define kludge + +- nss: remove the BACKEND define kludge + +- gnutls: remove the BACKEND define kludge + +- openssl: remove the BACKEND define kludge + + Use a proper variable instead to make it easier to use a debugger and + read the code. + +Marc Hoersken (19 Mar 2020) +- tests: make Python-based servers compatible with Python 2 and 3 + + Update smbserver.py and negtelnetserver.py to be compatible with + Python 3 while staying backwards-compatible to support Python 2. + + Fix string encoding and handling of echoed and transferred data. + + Tested with both Python 2.7.17 and Python 3.7.7 + + Reported-by: Daniel Stenberg + Assisted-by: Kamil Dudka + Reviewed-by: Marcel Raad + + Fixes #5104 + Closes #5110 + +Daniel Stenberg (18 Mar 2020) +- writeout_json: use curl_off_t printf() option for the time output + + Follow-up to: 04c03416e68fd635a15 + + Closes #5115 + +- RELEASE-NOTES: synced + + Uh, I missed this in 1a46b218db + +- RELEASE-NOTES: synced + + ... and bumped curlver.h to 7.70.0 + +Jay Satiro (18 Mar 2020) +- http2: Fix erroneous debug message that h2 connection closed + + Prior to this change in libcurl debug builds http2 stream closure was + erroneously referred to as connection closure. + + Before: + * nread <= 0, server closed connection, bailing + + After: + * nread == 0, stream closed, bailing + + Closes https://github.com/curl/curl/pull/5118 + +Daniel Stenberg (18 Mar 2020) +- tool_setopt: correct the copyright year range + + Follow-up to 5450428491 + +Jay Satiro (18 Mar 2020) +- [Johannes Schindelin brought this change] + + schannel: add "best effort" revocation check option + + - Implement new option CURLSSLOPT_REVOKE_BEST_EFFORT and + --ssl-revoke-best-effort to allow a "best effort" revocation check. + + A best effort revocation check ignores errors that the revocation check + was unable to take place. The reasoning is described in detail below and + discussed further in the PR. + + --- + + When running e.g. with Fiddler, the schannel backend fails with an + unhelpful error message: + + Unknown error (0x80092012) - The revocation function was unable + to check revocation for the certificate. + + Sadly, many enterprise users who are stuck behind MITM proxies suffer + the very same problem. + + This has been discussed in plenty of issues: + https://github.com/curl/curl/issues/3727, + https://github.com/curl/curl/issues/264, for example. + + In the latter, a Microsoft Edge developer even made the case that the + common behavior is to ignore issues when a certificate has no recorded + distribution point for revocation lists, or when the server is offline. + This is also known as "best effort" strategy and addresses the Fiddler + issue. + + Unfortunately, this strategy was not chosen as the default for schannel + (and is therefore a backend-specific behavior: OpenSSL seems to happily + ignore the offline servers and missing distribution points). + + To maintain backward-compatibility, we therefore add a new flag + (`CURLSSLOPT_REVOKE_BEST_EFFORT`) and a new option + (`--ssl-revoke-best-effort`) to select the new behavior. + + Due to the many related issues Git for Windows and GitHub Desktop, the + plan is to make this behavior the default in these software packages. + + The test 2070 was added to verify this behavior, adapted from 310. + + Based-on-work-by: georgeok <giorgos.n.oikonomou@gmail.com> + Co-authored-by: Markus Olsson <j.markus.olsson@gmail.com> + Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> + + Closes https://github.com/curl/curl/pull/4981 + +- multi: Improve parameter check for curl_multi_remove_handle + + - If an easy handle is owned by a multi different from the one specified + then return CURLM_BAD_EASY_HANDLE. + + Prior to this change I assume user error could cause corruption. + + Closes https://github.com/curl/curl/pull/5116 + +Viktor Szakats (17 Mar 2020) +- windows: suppress UI in all CryptAcquireContext() calls + + Ref: https://docs.microsoft.com/windows/win32/api/wincrypt/nf-wincrypt-cryptacquirecontexta#parameters + Reviewed-by: Marc Hörsken + Closes https://github.com/curl/curl/pull/5088 + +Daniel Stenberg (17 Mar 2020) +- writeout_json: add missing comma to fix the HTTP version + + Follow-up to 04c03416e68fd635a15 + +- test 970: verify --write-out '%{json}' + + Makes curl_easy_getinfo() of "variable" numerical content instead return + the number set in the env variable `CURL_TIME`. + + Makes curl_version() of "variable" textual content. This guarantees a + stable version string which can be tested against. Environment variable + `CURL_VERSION` defines the content. + + Assisted-by: Mathias Gumz + +- [Mathias Gumz brought this change] + + writeout: support to generate JSON output + + This commit adds support to generate JSON via the writeout feature: + + -w "%{json}" + + It leverages the existing infrastructure as much as possible. Thus, + generating the JSON on STDERR is possible by: + + -w "%{stderr}%{json}" + + This implements a variant of + https://github.com/curl/curl/wiki/JSON#--write-out-json. + + Closes #4870 + +- CI: stop ignoring 323, it is disabled + +- DISABLED: disable test 323 + + The test uses SRP to "a server not supporting it" but modern stunnel + versions will silently accept it and remain happy. The test is therefore + faulty. + + I haven't figured out how to make stunnel explicitly reject SRP-using + connects. + + Reported-by: Marc Hörsken + Fixes #5105 + Closes #5113 + +Marc Hoersken (17 Mar 2020) +- ci/tests: increase timeouts for torture builds on Azure Pipelines + + For some reason the torture builds have slowed down recently. + + Reported-by: Daniel Stenberg + +Daniel Stenberg (16 Mar 2020) +- cmake: add support for building with wolfSSL + + My working build cmdline: + + $ cmake -DCMAKE_PREFIX_PATH=$HOME/build-wolfssl -DCMAKE_USE_WOLFSSL=ON . + + Assisted-by: Brad King + Closes #5095 + +- tool_operate: fix add_parallel_transfers when more are in queue + + Trying to return early from the function if no new transfers were added + would break the "morep" argument and cause issues. This could lead to + zero content "transfers" (within quotes since they would never be + started) when parallel-max was reduced. + + Reported-by: Gavin Wong + Analyzed-by: Jay Satiro + Fixes #4937 + Closes #5112 + +- vtls: free ssl_config leftovers on out-of-memory + + Torture testing 2034 and 2037 found this. + + Reported-by: Marc Hörsken + Fixes #5108 + Closes #5109 + +Marc Hoersken (16 Mar 2020) +- ci/tests: fix Azure Pipelines not running for pull requests + + Closes #5111 + +Daniel Stenberg (15 Mar 2020) +- gskit: update the copyright year range + + Follow-up from 083603c63a3 + +Marc Hoersken (15 Mar 2020) +- gskit: use our internal select wrapper for portability + + Follow up to c52b342 + Closes #5106 + +- tests: fix verification of stdout in test 1452 due to newline + + Fixes test1452:41:1: error: missing </stdout> tag before </verify> + +- ci/tests: install impacket for SMB tests on FreeBSD using CirrusCI + + Also force the package index/cache to be updated before installing. + + Closes #5103 + +- tests/README: add note about manually installing python-impacket + + Follow up to 4be2560 + +Daniel Stenberg (15 Mar 2020) +- transfer: cap retries of "dead connections" to 5 + + When libcurl retries a connection due to it being "seemingly dead" or by + REFUSED_STREAM, it will now only do it up five times before giving up, + to avoid never-ending loops. + + Reported-by: Dima Tisnek + Bug: https://curl.haxx.se/mail/lib-2020-03/0044.html + Closes #5074 + +- TODO: TLS-PSK with OpenSSL + + Closes #5081 + +Marc Hoersken (15 Mar 2020) +- select: add 'timeout_ms' wrap-around precaution to Curl_select + +- select: fix 'pending_ms' is assigned a value that is never used + + Detected by Codacy + +- select: move duplicate select preparation code into Curl_select + + Reviewed by Daniel Stenberg + Reviewed by Marcel Raad + Closes #5078 + +Daniel Stenberg (15 Mar 2020) +- connect: happy eyeballs cleanup + + Make sure each separate index in connn->tempaddr[] is used for a fixed + family (and only that family) during the connection process. + + If family one takes a long time and family two fails immediately, the + previous logic could misbehave and retry the same family two address + repeatedly. + + Reported-by: Paul Vixie + Reported-by: Jay Satiro + Fixes #5083 + Fixes #4954 + Closes #5089 + +Marc Hoersken (15 Mar 2020) +- ci/tests: fix and align setting TFLAGS for make test-nonflaky + +- ci/tests: install test suite dependencies stunnel and impacket + +- tests: remove python_dependencies for smbserver from our tree + + Users of the SMB tests will have to install impacket manually. + + Reasoning: our in-tree version of impacket was quite outdated + and only compatible with Python 2 which is already end-of-life. + Upgrading to Python 3 and a compatible impacket version would + require to import additional Python-only and CPython-extension + dependencies. This would have hindered portability enormously. + + Closes #5094 + +Jay Satiro (14 Mar 2020) +- Makefile.m32: Improve windres parameter compatibility + + - s/COFF/coff/ + + Some versions of windres do not recognize uppercase COFF as a valid + way to specify the COFF output format. + + Reported-by: Steven Penny + + Fixes https://github.com/curl/curl/issues/5099 + Closes https://github.com/curl/curl/pull/5101 + +- easy: Fix curl_easy_duphandle for builds missing IPv6 that use c-ares + + - Ignore CURLE_NOT_BUILT_IN errors returned by c-ares functions in + curl_easy_duphandle. + + Prior to this change if c-ares was used as the resolver backend and + either it was too old or libcurl was built without IPv6 support then + some of our resolver functions could return CURLE_NOT_BUILT_IN to + curl_easy_duphandle causing it to fail. + + Caused by c8f086b which shipped in 7.69.1. + + Reported-by: Karl Chen + + Fixes https://github.com/curl/curl/issues/5097 + Closes https://github.com/curl/curl/pull/5100 + +Daniel Stenberg (13 Mar 2020) +- docs: add warnings about FILE: URLs on Windows + + - --url man page section + - libcurl-security.3 gets the full text + - CURLOPT_URL.3 + + Reported-by: Tim Sedlmeyer + +- server/getpart: make the "XML-parser" stricter + + When extracting a <section> <part> and there's no </part> before + </section>, this now outputs an error and returns a wrong string to + make users spot the mistake. + + Ref: #5070 + Closes #5071 + +Marc Hoersken (13 Mar 2020) +- impacket: some more Python 3 code compatibility updates + + This makes smbserver load on Python 3, but still not work completely. + +- smbserver: pin Python version to 2 since we are not yet 3 compatible + + Even though the existing code can be fixed to run on Python 3, the + tests will fail due to the Unicode transition the protocol is invalid. + + Follow up to ee63837 + Closes #5085 + +Daniel Stenberg (12 Mar 2020) +- [Viktor Szakats brought this change] + + cleanup: fix some text/comment typos + + Closes #5087 + +Marc Hoersken (12 Mar 2020) +- smbserver: fix Python version specific ConfigParser import + + Follow up to ee63837 and 8c7c4a6 + Fixes #5077 + +Daniel Stenberg (11 Mar 2020) +- RELEASE-NOTES: synced + + bumped to 7.69.2 + +Dan Fandrich (11 Mar 2020) +- tests/data: Fix some XML formatting issues in test cases + + This allows these test files to pass xmllint. + +Daniel Stenberg (11 Mar 2020) +- [Muhammad Herdiansyah brought this change] + + Makefile: run the cd commands in a subshell + + In bmake, if the directory is changed (with cd or anything else), bmake + won't return to the "root directory" on the next command (in the same + Makefile rule). This commit runs the cd command in a subshell so it + would work in bmake. + + Closes #5073 + +- configure: convert -I to -isystem as a last step + + As all the -I uses in CFLAGS at that point are for system headers and + third party libraries this helps us remove/ignore warnings on those! + + Closes #5060 + +- configure: fix -pedantic-errors for GCC 5 and later + + If --enable-werror is used. + + Follow-up to d5c0351055d5709da which added it too early in the configure + script before $compiler_num was set correctly and thus this option was + never used. + + Reported-by: Stepan Efremov + Fixes #5067 + Closes #5068 + +- configure: document 'compiler_num' for gcc + + The CURL_CHECK_COMPILER_GNU_C function sets the number to MAJOR*100 + + MINOR and ignores the patch version, and since gcc version 7 it only + sets it to MAJOR*100. + + Reported-by: Stepan Efremov + Ref: #5067 + Closes #5069 + Version 7.69.1 (11 Mar 2020) Daniel Stenberg (11 Mar 2020) @@ -4385,7 +6198,7 @@ Marcel Raad (27 Sep 2019) Closes https://github.com/curl/curl/pull/4415 Jay Satiro (27 Sep 2019) -- [julian brought this change] +- [Julian Z brought this change] vtls: Fix comment typo about macosx-version-min compiler flag @@ -5404,1800 +7217,3 @@ Daniel Stenberg (26 Aug 2019) SCP home directory case. Closes #4258 - -- http: the 'closed' struct field is used by both ngh2 and ngh3 - - and remove 'header_recvbuf', not used for anything - - Reported-by: Jeremy Lainé - - Closes #4257 - -- ngtcp2: accept upload via callback - - Closes #4256 - -- defines: avoid underscore-prefixed defines - - Double-underscored or underscore plus uppercase letter at least. - - ... as they're claimed to be reserved. - - Reported-by: patnyb on github - - Fixes #4254 - Closes #4255 - -- travis: add a build using ngtcp2 + nghttp3 (and a patched OpenSSL) - - Runs no tests - - Closes #4253 - -- travis: bump to using nghttp2 version 1.39.2 - - Closes #4252 - -- [Gisle Vanem brought this change] - - docs/examples/curlx: fix errors - - Initialise 'mimetype' and require the -p12 arg. - - Closes #4248 - -- cleanup: remove DOT_CHAR completely - - Follow-up to f9c7ba9096ec - - The use of DOT_CHAR for ".ssh" was probably a mistake and is removed - now. - - Pointed-out-by: Gisle Vanem - Bug: https://github.com/curl/curl/pull/4230#issuecomment-522960638 - - Closes #4247 - -- spnego_sspi: add typecast to fix build warning - - Reported in build "Win32 target on Debian Stretch (64-bit) - - i686-w64-mingw32 - gcc-20170516" - - Closes #4245 - -- openssl: build warning free with boringssl - - Closes #4244 - -- curl: make --libcurl use CURL_HTTP_VERSION_3 - - Closes #4243 - -- ngtcp2: make postfields-set posts work - - Closes #4242 - -- http: remove chunked-encoding and expect header use for HTTP/3 - -- [Alessandro Ghedini brought this change] - - configure: use pkg-config to detect quiche - - This removes the need to hard-code the quiche target path in - configure.ac. - - This depends on https://github.com/cloudflare/quiche/pull/128 - - Closes #4237 - -- CURLOPT_SSL_VERIFYHOST: treat the value 1 as 2 - - For a long time (since 7.28.1) we've returned error when setting the - value to 1 to make applications notice that we stopped supported the old - behavior for 1. Starting now, we treat 1 and 2 exactly the same. - - Closes #4241 - -- curl: use .curlrc (with a dot) on Windows as well - - Fall-back to _curlrc if the dot-version is missing. - - Co-Authored-By: Steve Holme - - Closes #4230 - -- netrc: make the code try ".netrc" on Windows as well - - ... but fall back and try "_netrc" too if the dot version didn't work. - - Co-Authored-By: Steve Holme - -- ngtcp2: use ngtcp2_version() to get the run-time version - - ... which of course doesn't have to be the same used at build-time. - - Function just recently merged in ngtcp2. - -- ngtcp2: move the h3 initing to immediately after the rx key - - To fix a segfault and to better deal with 0-RTT - - Assisted-by: Tatsuhiro Tsujikawa - -- [Alessandro Ghedini brought this change] - - quiche: register debug callback once and earlier - - The quiche debug callback is global and can only be initialized once, so - make sure we don't do it multiple times (e.g. if multiple requests are - executed). - - In addition this initializes the callback before the connection is - created, so we get logs for the handshake as well. - - Closes #4236 - -- ssh: add a generic Curl_ssh_version function for SSH backends - - Closes #4235 - -- base64: check for SSH, not specific SSH backends - -- vssh: move ssh init/cleanup functions into backend code - -- vssh: create directory for SSH backend code - -- TODO/ROADMAP: remove "refuse downgrade redirects" and HTTP/3 - - HTTP3 is now already in full progress - - Downgrade redirects can be achived almost exactly like that by setting - CURLOPT_REDIR_PROTOCOLS. - -- RELEASE-NOTES: synced - -- travis: add a quiche build - - Closes #4207 - -- http: fix use of credentials from URL when using HTTP proxy - - When a username and password are provided in the URL, they were wrongly - removed from the stored URL so that subsequent uses of the same URL - wouldn't find the crendentials. This made doing HTTP auth with multiple - connections (like Digest) mishave. - - Regression from 46e164069d1a5230 (7.62.0) - - Test case 335 added to verify. - - Reported-by: Mike Crowe - - Fixes #4228 - Closes #4229 - -- [Mike Crowe brought this change] - - tests: Replace outdated test case numbering documentation - - Tests are no longer grouped by numeric range[1]. Let's stop saying that - and provide some alternative advice for numbering tests. - - [1] https://curl.haxx.se/mail/lib-2019-08/0043.html - - Closes #4227 - -- travis: reduce number of torture tests in 'coverage' - - ... to make it complete in time. This cut seems not almost not affect - the coverage percentage and yet completes within 35 minutes on travis - where the previous runs recently always timed out after 50. - - Closes #4223 - -- [Igor Makarov brought this change] - - configure: use -lquiche to link to quiche - - Closes #4226 - -- ngtcp2: provide the callbacks as a static struct - - ... instead of having them in quicsocket - -- [Tatsuhiro Tsujikawa brought this change] - - ngtcp2: add missing nghttp3_conn_add_write_offset call - - Closes #4225 - -- [Tatsuhiro Tsujikawa brought this change] - - ngtcp2: deal with stream close - -- [Tatsuhiro Tsujikawa brought this change] - - ngtcp2: Consume QUIC STREAM data properly - -- [Tatsuhiro Tsujikawa brought this change] - - ngtcp2: don't reinitialize SSL on Retry - -- multi: getsock improvements for QUIC connecting - -- connect: connections are persistent by default for HTTP/3 - -- quiche: happy eyeballs - - Closes #4220 - -- ngtcp2: do QUIC connections happy-eyeballs friendly - -- curl_version: bump string buffer size to 250 - - With HTTP/3 libs and plenty TLS libs, I manged to hit the limit (which - causes a truncated output). - -- CURLOPT_ALTSVC.3: use a "" file name to not load from a file - -Jay Satiro (14 Aug 2019) -- vauth: Use CURLE_AUTH_ERROR for auth function errors - - - Add new error code CURLE_AUTH_ERROR. - - Prior to this change auth function errors were signaled by - CURLE_OUT_OF_MEMORY and CURLE_RECV_ERROR, and neither one was - technically correct. - - Ref: https://github.com/curl/curl/pull/3848 - - Co-authored-by: Dominik Hölzl - - Closes https://github.com/curl/curl/pull/3864 - -Daniel Stenberg (13 Aug 2019) -- curl_version_info: make the quic_version a const - - Follow-up from 1a2df1518ad8653f - - Closes #4222 - -- examples: add http3.c, altsvc.c and http3-present.c - - Closes #4221 - -Peter Wu (13 Aug 2019) -- nss: use TLSv1.3 as default if supported - - SSL_VersionRangeGetDefault returns (TLSv1.0, TLSv1.2) as supported - range in NSS 3.45. It looks like the intention is to raise the minimum - version rather than lowering the maximum, so adjust accordingly. Note - that the caller (nss_setup_connect) initializes the version range to - (TLSv1.0, TLSv1.3), so there is no need to check for >= TLSv1.0 again. - - Closes #4187 - Reviewed-by: Daniel Stenberg - Reviewed-by: Kamil Dudka - -Daniel Stenberg (13 Aug 2019) -- quic.h: remove unused proto - -- curl_version_info.3: mentioned ALTSVC and HTTP3 - - ... and sorted the list alphabetically - -- lib/quic.c: unused - removed - -- CURLOPT_ALTSVC_CTRL.3: remove CURLALTSVC_ALTUSED - - Follow-up to 98c3f148 that removed it from the header file - -- [Junho Choi brought this change] - - docs/HTTP3: simplify quiche build instruction - - Use --recursive to get boringssl in one line - - Closes #4219 - -- altsvc: make it use h3-22 with ngtcp2 as well - -- ngtcp2: initial h3 request work - - Closes #4217 - -- curl_version_info: offer quic (and h3) library info - - Closes #4216 - -- HTTP3: use ngtcp2's draft-22 branch - -- RELEASE-NOTES: synced - -- CURLOPT_READFUNCTION.3: provide inline example - - ... instead of mentioning one in another place - -- [Tatsuhiro Tsujikawa brought this change] - - ngtcp2: send HTTP/3 request with nghttp3 - - This commit makes sending HTTP/3 request with nghttp3 work. It - minimally receives HTTP response and calls nghttp3 callbacks, but no - processing is made at the moment. - - Closes #4215 - -- nghttp3: initial h3 template code added - -- nghttp3: required when ngtcp2 is used for QUIC - - - checked for by configure - - updated docs/HTTP3.md - - shown in the version string - - Closes #4210 - -- [Eric Wong brought this change] - - asyn-thread: issue CURL_POLL_REMOVE before closing socket - - This avoids EBADF errors from EPOLL_CTL_DEL operations in the - ephiperfifo.c example. EBADF is dangerous in multi-threaded - applications where I rely on epoll_ctl to operate on the same - epoll description from different threads. - - Follow-up to eb9a604f8d7db8 - - Bug: https://curl.haxx.se/mail/lib-2019-08/0026.html - Closes #4211 - -- [Carlo Marcelo Arenas Belón brought this change] - - configure: avoid undefined check_for_ca_bundle - - instead of using a "greater than 0" test, check for variable being - set, as it is always set to 1, and could be left unset if non of - OPENSSL MBEDTLS GNUTLS WOLFSSL is being configured for. - - Closes #4213 - -- [Tatsuhiro Tsujikawa brought this change] - - ngtcp2: Send ALPN h3-22 - - Closes #4212 - -- [Tatsuhiro Tsujikawa brought this change] - - ngtcp2: use ngtcp2_settings_default and specify initial_ts - -- curl_global_init_mem.3: mention it was added in 7.12.0 - -- [Tatsuhiro Tsujikawa brought this change] - - ngtcp2: make the QUIC handshake work - - Closes #4209 - -- [Alex Mayorga brought this change] - - HTTP3.md: Update quiche build instructions - - Added cloning for quiche and BoringSSL and modified the build - instructions so they work on a clean folder. - - Closes #4208 - -- CURLOPT_H3: removed - - There's no use for this anymore and it was never in a release. - - Closes #4206 - -- http3: make connection reuse work - - Closes #4204 - -- quiche: add SSLKEYLOGFILE support - -- cleanup: s/curl_debug/curl_dbg_debug in comments and docs - - Leftovers from the function rename back in 76b63489495 - - Reported-by: Gisle Vanem - Bug: https://github.com/curl/curl/commit/f3e0f071b14fcb46a453f69bdf4e062bcaacf362#com - mitcomment-34601751 - - Closes #4203 - -- RELEASE-NOTES: synced - -- alt-svc: add protocol version selection masking - - So that users can mask in/out specific HTTP versions when Alt-Svc is - used. - - - Removed "h2c" and updated test case accordingly - - Changed how the altsvc struct is laid out - - Added ifdefs to make the unittest run even in a quiche-tree - - Closes #4201 - -- http3: fix the HTTP/3 in the request, make alt-svc set right versions - - Closes #4200 - -- alt-svc: send Alt-Used: in redirected requests - - RFC 7838 section 5: - - When using an alternative service, clients SHOULD include an Alt-Used - header field in all requests. - - Removed CURLALTSVC_ALTUSED again (feature is still EXPERIMENTAL thus - this is deemed ok). - - You can disable sending this header just like you disable any other HTTP - header in libcurl. - - Closes #4199 - -- CURLOPT_HTTP_VERSION: seting this to 3 forces HTTP/3 use directly - - Even though it cannot fall-back to a lower HTTP version automatically. The - safer way to upgrade remains via CURLOPT_ALTSVC. - - CURLOPT_H3 no longer has any bits that do anything and might be removed - before we remove the experimental label. - - Updated the curl tool accordingly to use "--http3". - - Closes #4197 - -- docs/ALTSVC: remove what works and the experimental explanation - - Also, put the TODO items at the bottom. - - Closes #4198 - -- docs/EXPERIMENTAL: explain what it means and what's experimental now - -- curl: make use of CURLINFO_RETRY_AFTER when retrying - - If a Retry-After: header was used in the response, that value overrides - other retry timing options. - - Fixes #3794 - Closes #4195 - -- curl: use CURLINFO_PROTOCOL to check for HTTP(s) - - ... instead of CURLINFO_EFFECTIVE_URL to avoid string operations. - -- CURLINFO_RETRY_AFTER: parse the Retry-After header value - - This is only the libcurl part that provides the information. There's no - user of the parsed value. This change includes three new tests for the - parser. - - Ref: #3794 - -- docs/ALTSVC.md: first basic file format description - -- curl: have -w's 'http_version' show '3' for HTTP/3 - - Closes #4196 - -- curl.h: add CURL_HTTP_VERSION_3 to the version enum - - It can't be set for CURLOPT_HTTP_VERSION, but it can be extracted with - CURLINFO_HTTP_VERSION. - -- quiche: make use of the connection timeout API properly - -- quiche: make POSTFIELDS posts work - -- quiche: improved error handling and memory cleanups - -- quiche: flush egress in h3_stream_recv() too - -- RELEASE-NOTES: synced - -Jay Satiro (6 Aug 2019) -- [Patrick Monnerat brought this change] - - os400: take care of CURLOPT_SASL_AUTHZID in curl_easy_setopt_ccsid(). - - Ref: https://github.com/curl/curl/issues/3653 - Ref: https://github.com/curl/curl/pull/3790 - - NOTE: This commit was cherry-picked and is part of a series of commits - that added the authzid feature for upcoming 7.66.0. The series was - temporarily reverted in db8ec1f so that it would not ship in a 7.65.x - patch release. - - Closes https://github.com/curl/curl/pull/4186 - -- tests: Fix the line endings for the SASL alt-auth tests - - - Change data and protocol sections to CRLF line endings. - - Prior to this change the tests would fail or hang, which is because - certain sections such as protocol require CRLF line endings. - - Follow-up to grandparent commit which added the tests. - - Ref: https://github.com/curl/curl/issues/3653 - Ref: https://github.com/curl/curl/pull/3790 - - NOTE: This commit was cherry-picked and is part of a series of commits - that added the authzid feature for upcoming 7.66.0. The series was - temporarily reverted in db8ec1f so that it would not ship in a 7.65.x - patch release. - - Closes https://github.com/curl/curl/pull/4186 - -- [Steve Holme brought this change] - - examples: Added SASL PLAIN authorisation identity (authzid) examples - - Ref: https://github.com/curl/curl/issues/3653 - Ref: https://github.com/curl/curl/pull/3790 - - NOTE: This commit was cherry-picked and is part of a series of commits - that added the authzid feature for upcoming 7.66.0. The series was - temporarily reverted in db8ec1f so that it would not ship in a 7.65.x - patch release. - - Closes https://github.com/curl/curl/pull/4186 - -- [Steve Holme brought this change] - - curl: --sasl-authzid added to support CURLOPT_SASL_AUTHZID from the tool - - Ref: https://github.com/curl/curl/issues/3653 - Ref: https://github.com/curl/curl/pull/3790 - - NOTE: This commit was cherry-picked and is part of a series of commits - that added the authzid feature for upcoming 7.66.0. The series was - temporarily reverted in db8ec1f so that it would not ship in a 7.65.x - patch release. - - Closes https://github.com/curl/curl/pull/4186 - -- [Steve Holme brought this change] - - sasl: Implement SASL authorisation identity via CURLOPT_SASL_AUTHZID - - Added the ability for the calling program to specify the authorisation - identity (authzid), the identity to act as, in addition to the - authentication identity (authcid) and password when using SASL PLAIN - authentication. - - Fixes #3653 - Closes #3790 - - NOTE: This commit was cherry-picked and is part of a series of commits - that added the authzid feature for upcoming 7.66.0. The series was - temporarily reverted in db8ec1f so that it would not ship in a 7.65.x - patch release. - - Closes https://github.com/curl/curl/pull/4186 - -Daniel Stenberg (6 Aug 2019) -- docs/HTTP3: refreshed as it is now in master and HTTP/3 can be tested - -- [Yiming Jing brought this change] - - mesalink: implement client authentication - - Closes #4184 - -- curl_multi_poll: a sister to curl_multi_wait() that waits more - - Repeatedly we see problems where using curl_multi_wait() is difficult or - just awkward because if it has no file descriptor to wait for - internally, it returns immediately and leaves it to the caller to wait - for a small amount of time in order to avoid occasional busy-looping. - - This is often missed or misunderstood, leading to underperforming - applications. - - This change introduces curl_multi_poll() as a replacement drop-in - function that accepts the exact same set of arguments. This function - works identically to curl_multi_wait() - EXCEPT - for the case when - there's nothing to wait for internally, as then this function will by - itself wait for a "suitable" short time before it returns. This - effectiely avoids all risks of busy-looping and should also make it less - likely that apps "over-wait". - - This also changes the curl tool to use this funtion internally when - doing parallel transfers and changes curl_easy_perform() to use it - internally. - - Closes #4163 - -- quiche:h3_stream_recv return 0 at end of stream - - ... and remove some verbose messages we don't need. Made transfers from - facebook.com work better. - -- altsvc: make quiche use h3-22 now - -- quiche: show the actual version number - -- quiche: first working HTTP/3 request - - - enable debug log - - fix use of quiche API - - use download buffer - - separate header/body - - Closes #4193 - -- http09: disable HTTP/0.9 by default in both tool and library - - As the plan has been laid out in DEPRECATED. Update docs accordingly and - verify in test 1174. Now requires the option to be set to allow HTTP/0.9 - responses. - - Closes #4191 - -- quiche: initial h3 request send/receive - -- lib/Makefile.am: make checksrc run in vquic too - -- altsvc: fix removal of expired cache entry - - Closes #4192 - -- RELEASE-NOTES: synced - -Steve Holme (4 Aug 2019) -- md4: Use our own MD4 implementation when no crypto libraries are available - - Closes #3780 - -- md4: No need to include Curl_md4.h for each TLS library - -- md4: No need for the NTLM code to call Curl_md4it() for each TLS library - - As the NTLM code no longer calls any of TLS libraries' specific MD4 - functions, there is no need to call this function for each #ifdef. - -- md4: Move the mbed TLS MD4 implementation out of the NTLM code - -- md4: Move the WinCrypt implementation out of the NTLM code - -- md4: Move the SecureTransport implementation out of the NTLM code - -- md4: Use the Curl_md4it() function for OpenSSL based NTLM - -- md4: Move the GNU TLS gcrypt MD4 implementation out of the NTLM code - -- md4: Move the GNU TLS Nettle MD4 implementation out of the NTLM code - -Jay Satiro (4 Aug 2019) -- OS400: Add CURLOPT_H3 symbols - - Follow-up to 3af0e76 which added experimental H3 support. - - Closes https://github.com/curl/curl/pull/4185 - -Daniel Stenberg (3 Aug 2019) -- url: make use of new HTTP version if alt-svc has one - -- url: set conn->transport to default TCP at init time - -- altsvc: with quiche, use the quiche h3 alpn string - - Closes #4183 - -- alt-svc: more liberal ALPN name parsing - - Allow pretty much anything to be part of the ALPN identifier. In - particular minus, which is used for "h3-20" (in-progress HTTP/3 - versions) etc. - - Updated test 356. - Closes #4182 - -- quiche: use the proper HTTP/3 ALPN - -- quiche: add failf() calls for two error cases - - To aid debugging - - Closes #4181 - -- mailmap: added Kyohei Kadota - -Kamil Dudka (1 Aug 2019) -- http_negotiate: improve handling of gss_init_sec_context() failures - - If HTTPAUTH_GSSNEGOTIATE was used for a POST request and - gss_init_sec_context() failed, the POST request was sent - with empty body. This commit also restores the original - behavior of `curl --fail --negotiate`, which was changed - by commit 6c6035532383e300c712e4c1cd9fdd749ed5cf59. - - Add regression tests 2077 and 2078 to cover this. - - Fixes #3992 - Closes #4171 - -Daniel Stenberg (1 Aug 2019) -- mailmap: added 4 more names - - Evgeny Grin, Peter Pih, Anton Malov and Marquis de Muesli - -- mailmap: add Giorgos Oikonomou - -- src/makefile: fix uncompressed hugehelp.c generation - - Regression from 5cf5d57ab9 (7.64.1) - - Fixed-by: Lance Ware - Fixes #4176 - Closes #4177 - -- appveyor: pass on -k to make - -- timediff: make it 64 bit (if possible) even with 32 bit time_t - - ... to make it hold microseconds too. - - Fixes #4165 - Closes #4168 - -- ROADMAP: parallel transfers are merged now - -- getenv: support up to 4K environment variable contents on windows - - Reported-by: Michal Čaplygin - Fixes #4174 - Closes #4175 - -- [Kyohei Kadota brought this change] - - plan9: add support for running on Plan 9 - - Closes #3701 - -- [Kyohei Kadota brought this change] - - ntlm: explicit type casting - -- [Justin brought this change] - - curl.h: fix outdated comment - - Closes #4167 - -- curl: remove outdated comment - - Turned bad with commit b8894085000 - - Reported-by: niallor on github - Fixes #4172 - Closes #4173 - -- cleanup: remove the 'numsocks' argument used in many places - - It was used (intended) to pass in the size of the 'socks' array that is - also passed to these functions, but was rarely actually checked/used and - the array is defined to a fixed size of MAX_SOCKSPEREASYHANDLE entries - that should be used instead. - - Closes #4169 - -- readwrite_data: repair setting the TIMER_STARTTRANSFER stamp - - Regression, broken in commit 65eb65fde64bd5f (curl 7.64.1) - - Reported-by: Jonathan Cardoso Machado - Assisted-by: Jay Satiro - - Fixes #4136 - Closes #4162 - -- mailmap: Amit Katyal - -- asyn-thread: removed unused variable - - Follow-up to eb9a604f. Mistake caused by me when I edited the commit - before push... - -- RELEASE-NOTES: synced - -- [Amit Katyal brought this change] - - asyn-thread: create a socketpair to wait on - - Closes #4157 - -- curl: cap the maximum allowed values for retry time arguments - - ... to avoid integer overflows later when multiplying with 1000 to - convert seconds to milliseconds. - - Added test 1269 to verify. - - Reported-by: Jason Lee - Closes #4166 - -- progress: reset download/uploaded counter - - ... to make CURLOPT_MAX_RECV_SPEED_LARGE and - CURLOPT_MAX_SEND_SPEED_LARGE work correctly on subsequent transfers that - reuse the same handle. - - Fixed-by: Ironbars13 on github - Fixes #4084 - Closes #4161 - -- http2_recv: trigger another read when the last data is returned - - ... so that end-of-stream is detected properly. - - Reported-by: Tom van der Woerdt - Fixes #4043 - Closes #4160 - -- curl: avoid uncessary libcurl timeouts (in parallel mode) - - When curl_multi_wait() returns OK without file descriptors to wait for, - it might already have done a long timeout. - - Closes #4159 - -- [Balazs Kovacsics brought this change] - - HTTP: use chunked Transfer-Encoding for HTTP_POST if size unknown - - If using the read callback for HTTP_POST, and POSTFIELDSIZE is not set, - automatically add a Transfer-Encoding: chunked header, same as it is - already done for HTTP_PUT, HTTP_POST_FORM and HTTP_POST_MIME. Update - test 1514 according to the new behaviour. - - Closes #4138 - -Jay Satiro (29 Jul 2019) -- [Daniel Stenberg brought this change] - - winbuild: add vquic to list of build directories - - This fixes the winbuild build method which broke several days ago - when experimental quic support was added in 3af0e76. - - Reported-by: Michael Lee - - Fixes https://github.com/curl/curl/issues/4158 - -- easy: resize receive buffer on easy handle reset - - - In curl_easy_reset attempt to resize the receive buffer to its default - size. If realloc fails then continue using the previous size. - - Prior to this change curl_easy_reset did not properly handle resetting - the receive buffer (data->state.buffer). It reset the variable holding - its size (data->set.buffer_size) to the default size (READBUFFER_SIZE) - but then did not actually resize the buffer. If a user resized the - buffer by using CURLOPT_BUFFERSIZE to set the size smaller than the - default, later called curl_easy_reset and attempted to reuse the handle - then a heap overflow would very likely occur during that handle's next - transfer. - - Reported-by: Felix Hädicke - - Fixes https://github.com/curl/curl/issues/4143 - Closes https://github.com/curl/curl/pull/4145 - -- [Brad Spencer brought this change] - - examples: Avoid reserved names in hiperfifo examples - - - Trade in __attribute__((unused)) for the classic (void)x to silence - unused symbols. - - Because the classic way is not gcc specific. Also because the prior - method mapped to symbol _Unused, which starts with _ and a capital - letter which is reserved. - - Assisted-by: The Infinnovation team - - Bug: https://github.com/curl/curl/issues/4120#issuecomment-512542108 - - Closes https://github.com/curl/curl/pull/4153 - -Daniel Stenberg (25 Jul 2019) -- RELEASE-NOTES: synced - -- [Felix Hädicke brought this change] - - ssh-libssh: do not specify O_APPEND when not in append mode - - Specifying O_APPEND in conjunction with O_TRUNC and O_CREAT does not - make much sense. And this combination of flags is not accepted by all - SFTP servers (at least not Apache SSHD). - - Fixes #4147 - Closes #4148 - -- [Gergely Nagy brought this change] - - multi: call detach_connection before Curl_disconnect - - Curl_disconnect bails out if conn->easyq is not empty, detach_connection - needs to be called first to remove the current easy from the queue. - - Fixes #4144 - Closes #4151 - -Jay Satiro (23 Jul 2019) -- tool_operate: fix implicit call to easysrc_cleanup - - easysrc_cleanup is only defined when CURL_DISABLE_LIBCURL_OPTION is not - defined, and prior to this change would be called regardless. - - Bug: https://github.com/curl/curl/pull/3804#issuecomment-513922637 - Reported-by: Marcel Raad - - Closes https://github.com/curl/curl/pull/4142 - -Daniel Stenberg (22 Jul 2019) -- curl:create_transfers check return code from curl_easy_setopt - - From commit b8894085 - - Pointed out by Coverity CID 1451703 - - Closes #4134 - -- HTTP3: initial (experimental) support - - USe configure --with-ngtcp2 or --with-quiche - - Using either option will enable a HTTP3 build. - Co-authored-by: Alessandro Ghedini <alessandro@ghedini.me> - - Closes #3500 - -- curl: remove dead code - - The loop never loops (since b889408500), pointed out by Coverity (CID - 1451702) - - Closes #4133 - -- docs/PARALLEL-TRANSFERS: correct the version number - -- docs/PARALLEL-TRANSFERS: added - -- curl: support parallel transfers - - This is done by making sure each individual transfer is first added to a - linked list as then they can be performed serially, or at will, in - parallel. - - Closes #3804 - -- docs/MANUAL.md: converted to markdown from plain text - - ... will make it render as a nicer web page. - - Closes #4131 - -- curl_version_info: provide nghttp2 details - - Introducing CURLVERSION_SIXTH with nghttp2 info. - - Closes #4121 - -- bump: start working on 7.66.0 - -- source: remove names from source comments - - Several reasons: - - - we can't add everyone who's helping out so its unfair to just a few - selected ones. - - we already list all helpers in THANKS and in RELEASE-NOTES for each - release - - we don't want to give the impression that some parts of the code is - "owned" or "controlled" by specific persons - - Assisted-by: Daniel Gustafsson - Closes #4129 - -Version 7.65.3 (19 Jul 2019) - -Daniel Stenberg (19 Jul 2019) -- RELEASE-NOTES: 7.65.3 - -- THANKS: 7.65.3 status - -- progress: make the progress meter appear again - - Fix regression caused by 21080e1 - - Reported-by: Chih-Hsuan Yen - Fixes #4122 - Closes #4124 - -- version: bump to 7.65.3 - -- RELEASE-NOTES: Contributors or now 1990 - -Version 7.65.2 (17 Jul 2019) - -Daniel Stenberg (17 Jul 2019) -- RELEASE-NOTES: 7.65.2 - -- THANKS: add contributors from 7.65.2 - -Jay Satiro (17 Jul 2019) -- [aasivov brought this change] - - cmake: Fix finding Brotli on case-sensitive file systems - - - Find package "Brotli" instead of "BROTLI" since the former is the - casing used for CMake/FindBrotli.cmake, and otherwise find_package - may fail on a case-sensitive file system. - - Fixes https://github.com/curl/curl/issues/4117 - -- CURLOPT_RANGE.3: Caution against using it for HTTP PUT - - AFAICT CURLOPT_RANGE does not support ranged HTTP PUT uploads so I've - cautioned against using it for that purpose and included a workaround. - - Bug: https://curl.haxx.se/mail/lib-2019-04/0075.html - Reported-by: Christopher Head - - Closes https://github.com/curl/curl/issues/3814 - -- [Stefano Simonelli brought this change] - - CURLOPT_SEEKDATA.3: fix variable name - - Closes https://github.com/curl/curl/pull/4118 - -- [Giorgos Oikonomou brought this change] - - CIPHERS.md: Explain Schannel error SEC_E_ALGORITHM_MISMATCH - - If the SSL backend is Schannel and the user specifies an Schannel CALG_ - that is not supported by the protocol or the server then curl returns - CURLE_SSL_CONNECT_ERROR (35) SEC_E_ALGORITHM_MISMATCH. - - Fixes https://github.com/curl/curl/issues/3389 - Closes https://github.com/curl/curl/pull/4106 - -- [Daniel Gustafsson brought this change] - - nss: inspect returnvalue of token check - - PK11_IsPresent() checks for the token for the given slot is available, - and sets needlogin flags for the PK11_Authenticate() call. Should it - return false, we should however treat it as an error and bail out. - - Closes https://github.com/curl/curl/pull/4110 - -- docs: Explain behavior change in --tlsv1. options since 7.54 - - Since 7.54 --tlsv1. options use the specified version or later, however - older versions of curl documented it as using just the specified version - which may or may not have happened depending on the TLS library. - Document this discrepancy to allay confusion for users familiar with the - old documentation that expect just the specified version. - - Fixes https://github.com/curl/curl/issues/4097 - Closes https://github.com/curl/curl/pull/4119 - -- libcurl: Restrict redirect schemes (follow-up) - - - Allow FTPS on redirect. - - - Update default allowed redirect protocols in documentation. - - Follow-up to 6080ea0. - - Ref: https://github.com/curl/curl/pull/4094 - - Closes https://github.com/curl/curl/pull/4115 - -Daniel Stenberg (16 Jul 2019) -- test1173: make it also check all libcurl option man pages - - ... and adjust those that cause errors - - Closes #4116 - -- curl: only accept COLUMNS less than 10000 - - ... as larger values would rather indicate something silly (and could - potentially cause buffer problems). - - Reported-by: pendrek at hackerone - Closes #4114 - -- dist: add manpage-syntax.pl - - follow-up to 7fb66c403 - -- test1173: detect some basic man page format mistakes - - Triggered by PR #4111 - - Closes #4113 - -Jay Satiro (15 Jul 2019) -- [Bjarni Ingi Gislason brought this change] - - docs: Fix missing lines caused by undefined macros - - - Escape apostrophes at line start. - - Some lines begin with a "'" (apostrophe, single quote), which is then - interpreted as a control character in *roff. - - Such lines are interpreted as being a call to a macro, and if - undefined, the lines are removed from the output. - - Bug: https://bugs.debian.org/926352 - Signed-off-by: Bjarni Ingi Gislason <bjarniig@rhi.hi.is> - - Submitted-by: Alessandro Ghedini - - Closes https://github.com/curl/curl/pull/4111 - -Daniel Stenberg (14 Jul 2019) -- libcurl-security.3: update to new CURLOPT_REDIR_PROTOCOLS defaults - - follow-up to 6080ea098 - -- [Linos Giannopoulos brought this change] - - libcurl: Add testcase for gopher redirects - - The testcase ensures that redirects to CURLPROTO_GOPHER won't be - allowed, by default, in the future. Also, curl is being used - for convenience while keeping the testcases DRY. - - The expected error code is CURLE_UNSUPPORTED_PROTOCOL when the client is - redirected to CURLPROTO_GOPHER - - Signed-off-by: Linos Giannopoulos <lgian@skroutz.gr> - -- [Linos Giannopoulos brought this change] - - libcurl: Restrict redirect schemes - - All protocols except for CURLPROTO_FILE/CURLPROTO_SMB and their TLS - counterpart were allowed for redirect. This vastly broadens the - exploitation surface in case of a vulnerability such as SSRF [1], where - libcurl-based clients are forced to make requests to arbitrary hosts. - - For instance, CURLPROTO_GOPHER can be used to smuggle any TCP-based - protocol by URL-encoding a payload in the URI. Gopher will open a TCP - connection and send the payload. - - Only HTTP/HTTPS and FTP are allowed. All other protocols have to be - explicitly enabled for redirects through CURLOPT_REDIR_PROTOCOLS. - - [1]: https://www.acunetix.com/blog/articles/server-side-request-forgery-vulnerability/ - - Signed-off-by: Linos Giannopoulos <lgian@skroutz.gr> - - Closes #4094 - -- [Zenju brought this change] - - openssl: define HAVE_SSL_GET_SHUTDOWN based on version number - - Closes #4100 - -- [Peter Simonyi brought this change] - - http: allow overriding timecond with custom header - - With CURLOPT_TIMECONDITION set, a header is automatically added (e.g. - If-Modified-Since). Allow this to be replaced or suppressed with - CURLOPT_HTTPHEADER. - - Fixes #4103 - Closes #4109 - -Jay Satiro (11 Jul 2019) -- [Juergen Hoetzel brought this change] - - smb: Use the correct error code for access denied on file open - - - Return CURLE_REMOTE_ACCESS_DENIED for SMB access denied on file open. - - Prior to this change CURLE_REMOTE_FILE_NOT_FOUND was returned instead. - - Closes https://github.com/curl/curl/pull/4095 - -- [Daniel Gustafsson brought this change] - - DEPRECATE: fixup versions and spelling - - Correctly set the July 17 version to 7.65.2, and update spelling to - be consistent. Also fix a typo. - - Closes https://github.com/curl/curl/pull/4107 - -- [Gisle Vanem brought this change] - - system_win32: fix clang warning - - - Declare variable in header as extern. - - Bug: https://github.com/curl/curl/commit/48b9ea4#commitcomment-34084597 - -Daniel Gustafsson (10 Jul 2019) -- headers: Remove no longer exported functions - - There were a leftover few prototypes of Curl_ functions that we used to - export but no longer do, this removes those prototypes and cleans up any - comments still referring to them. - - Curl_write32_le(), Curl_strcpy_url(), Curl_strlen_url(), Curl_up_free() - Curl_concat_url(), Curl_detach_connnection(), Curl_http_setup_conn() - were made static in 05b100aee247bb9bec8e9a1b0166496aa4248d1c. - Curl_http_perhapsrewind() made static in 574aecee208f79d391f10d57520b3. - - For the remainder, I didn't trawl the Git logs hard enough to capture - their exact time of deletion, but they were all gone: Curl_splayprint(), - Curl_http2_send_request(), Curl_global_host_cache_dtor(), - Curl_scan_cache_used(), Curl_hostcache_destroy(), Curl_second_connect(), - Curl_http_auth_stage() and Curl_close_connections(). - - Closes #4096 - Reviewed-by: Daniel Stenberg <daniel@haxx.se> - -- CMake: fix typos and spelling - -- [Kyle Edwards brought this change] - - CMake: Convert errant elseif() to else() - - CMake interprets an elseif() with no arguments as elseif(FALSE), - resulting in the elseif() block not being executed. That is not what - was intended here. Change the empty elseif() to an else() as it was - intended. - - Closes #4101 - Reported-by: Artalus <artalus-mail@yandex.ru> - Reviewed-by: Daniel Gustafsson <daniel@yesql.se> - -- buildconf: fix header filename - - The header file inclusion had a typo, it should be .h and not .hd. - Fix by renaming. - - Fixes #4102 - Reported-by: AceCrow on Github - -- [Jan Chren brought this change] - - configure: fix --disable-code-coverage - - This fixes the case when --disable-code-coverage supplied to ./configure - would result in coverage="yes" being set. - - Closes #4099 - Reviewed-by: Daniel Gustafsson <daniel@yesql.se> - -- cleanup: fix typo in comment - -- RELEASE-NOTES: synced - -Jay Satiro (6 Jul 2019) -- [Daniel Gustafsson brought this change] - - nss: support using libnss on macOS - - The file suffix for dynamically loadable objects on macOS is .dylib, - which need to be added for the module definitions in order to get the - NSS TLS backend to work properly on macOS. - - Closes https://github.com/curl/curl/pull/4046 - -- [Daniel Gustafsson brought this change] - - nss: don't set unused parameter - - The value of the maxPTDs parameter to PR_Init() has since at least - NSPR 2.1, which was released sometime in 1998, been marked ignored - as is accordingly not used in the initialization code. Setting it - to a value when calling PR_Init() is thus benign, but indicates an - intent which may be misleading. Reset the value to zero to improve - clarity. - - Closes https://github.com/curl/curl/pull/4054 - -- [Daniel Gustafsson brought this change] - - nss: only cache valid CRL entries - - Change the logic around such that we only keep CRLs that NSS actually - ended up caching around for later deletion. If CERT_CacheCRL() fails - then there is little point in delaying the freeing of the CRL as it - is not used. - - Closes https://github.com/curl/curl/pull/4053 - -- [Gergely Nagy brought this change] - - lib: Use UTF-8 encoding in comments - - Some editors and IDEs assume that source files use UTF-8 file encodings. - It also fixes the build with MSVC when /utf-8 command line option is - used (this option is mandatory for some other open-source projects, this - is useful when using the same options is desired for building all - libraries of a project). - - Closes https://github.com/curl/curl/pull/4087 - -- [Caleb Raitto brought this change] - - CURLOPT_HEADEROPT.3: Fix example - - Fix an issue where example builds a curl_slist, but fails to actually - use it, or free it. - - Closes https://github.com/curl/curl/pull/4090 - -- [Shankar Jadhavar brought this change] - - winbuild: Change Makefile to honor ENABLE_OPENSSL_AUTO_LOAD_CONFIG - - - Made changes so that ENABLE_OPENSSL_AUTO_LOAD_CONFIG will be honored. - - - Also removed some ^M chars from file. - - Prior to this change while building on Windows platform even if we pass - the ENABLE_OPENSSL_AUTO_LOAD_CONFIG option with value as "no" it does - not set the CURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG flag. - - Closes https://github.com/curl/curl/pull/4086 - -Daniel Stenberg (4 Jul 2019) -- doh-url.d: added in 7.62.0 - -Jay Satiro (30 Jun 2019) -- docs: Fix links to OpenSSL docs - - OpenSSL changed their manual locations and does not redirect to the new - locations. - - Bug: https://curl.haxx.se/mail/lib-2019-06/0056.html - Reported-by: Daniel Stenberg - -Daniel Stenberg (26 Jun 2019) -- [Gaël PORTAY brought this change] - - curl_multi_wait.3: escape backslash in example - - The backslash in the character Line Feed must be escaped. - - The current man-page outputs the code as following: - - fprintf(stderr, "curl_multi failed, code %d.0, mc); - - The commit fixes it as follow: - - fprintf(stderr, "curl_multi failed, code %d\n", mc); - - Closes #4079 - -- openssl: disable engine if OPENSSL_NO_UI_CONSOLE is defined - - ... since that needs UI_OpenSSL() which isn't provided when OpenSSL is - built with OPENSSL_NO_UI_CONSOLE which happens when OpenSSL is built for - UWP (with "VC-WIN32-UWP"). - - Reported-by: Vasily Lobaskin - Fixes #4073 - Closes #4077 - -- test1521: adapt to SLISTPOINT - - The header now has the slist-using options marked as SLISTPOINT so this - makes sure test 1521 understands that. - - Follow-up to ae99b4de1c443ae989 - - Closes #4074 - -- win32: make DLL loading a no-op for UWP - - Reported-by: Michael Brehm - Fixes #4060 - Closes #4072 - -- [1ocalhost brought this change] - - configure: fix typo '--disable-http-uath' - - Closes #4076 - -- [Niklas Hambüchen brought this change] - - docs: fix string suggesting HTTP/2 is not the default - - Commit 25fd1057c9c86e3 made HTTP2 the default, and further down in the - man page that new default is mentioned, but the section at the top - contradicted it until now. - - Also remove claim that setting the HTTP version is not sensible. - - Closes #4075 - -- RELEASE-NOTES: synced - -- [Stephan Szabo brought this change] - - tests: update fixed IP for hostip/clientip split - - These tests give differences for me on linux when using a hostip - pointing to the external ip address for the local machine. - - Closes #4070 - -Daniel Gustafsson (24 Jun 2019) -- http: clarify header buffer size calculation - - The header buffer size calculation can from static analysis seem to - overlow as it performs an addition between two size_t variables and - stores the result in a size_t variable. Overflow is however guarded - against elsewhere since the input to the addition is regulated by - the maximum read buffer size. Clarify this with a comment since the - question was asked. - - Reviewed-by: Daniel Stenberg <daniel@haxx.se> - -Daniel Stenberg (24 Jun 2019) -- KNOWN_BUGS: Don't clear digest for single realm - - Closes #3267 - -- KNOWN_BUGS: Schannel disable CURLOPT_SSL_VERIFYPEER and verify hostname - - Closes #3284 - -- http2: call done_sending on end of upload - - To make sure a HTTP/2 stream registers the end of stream. - - Bug #4043 made me find this problem but this fix doesn't correct the - reported issue. - - Closes #4068 - -- [James Brown brought this change] - - c-ares: honor port numbers in CURLOPT_DNS_SERVERS - - By using ares_set_servers_ports_csv on new enough c-ares. - - Fixes #4066 - Closes #4067 - -Daniel Gustafsson (24 Jun 2019) -- CURLMOPT_SOCKETFUNCTION.3: fix typo - -Daniel Stenberg (24 Jun 2019) -- [Koen Dergent brought this change] - - curl: skip CURLOPT_PROXY_CAPATH for disabled-proxy builds - - Closes #4061 - -- test153: fix content-length to avoid occasional hang - - Closes #4065 - -- RELEASE-NOTES: synced - -- multi: enable multiplexing by default (again) - - It was originally made default in d7c4213bd0c (7.62.0) but mistakenly - reverted in commit 2f44e94efb3d (7.65.0). Now enabled again. - - Closes #4051 - -- typecheck: add 3 missing strings and a callback data pointer - - Closes #4050 - -- tests: add disable-scan.pl to dist - - follow-up from 29177f422a5 - - Closes #4059 - -- http2: don't call stream-close on already closed streams - - Closes #4055 - -Marcel Raad (20 Jun 2019) -- travis: enable alt-svc for coverage build - - Closes - -- travis: enable libssh2 for coverage build - - It was enabled by default before commit c92d2e14cfb. - - Disable torture tests 600 and 601 because of - https://github.com/curl/curl/issues/1678. - - Closes - -- travis: disable threaded resolver for coverage build - - This enables more tests. - - Closes - -- travis: enable brotli for all xenial jobs - - There's no need for a separate job, and no need to build it from source - with Xenial. - - Closes - -- travis: enable warnings-as-errors for coverage build - - Closes - -GitHub (20 Jun 2019) -- [Gisle Vanem brought this change] - - system_win32: fix typo - -Daniel Stenberg (20 Jun 2019) -- typecheck: CURLOPT_CONNECT_TO takes an slist too - - Additionally, add an alias in curl.h for slist-using options so that - we can grep/parse those out at will. - - Closes #4042 - -- [Stephan Szabo brought this change] - - tests: support non-localhost HOSTIP for dict/smb servers - - smbserver.py/dictserver.py were explicitly using localhost/127.0.0.1 for - binding the server which when we were running the tests with a separate - HOSTIP and CLIENTIP had failures verifying the server from the device we - were testing. - - This changes them to take the address from runtests.py and default to - localhost/127.0.0.1 if none is given. - - Closes #4048 - -- test1523: basic test of CURLOPT_LOW_SPEED_LIMIT - -- configure: --disable-progress-meter - - Builds libcurl without support for the built-in progress meter. - - Closes #4023 - -- curl: improved skip-setopt-options when built with disabled features - - Reduces #ifdefs in src/tool_operate.c - - Follow-up from 4e86f2fc4e6 - Closes #3936 - -Steve Holme (18 Jun 2019) -- netrc: Return the correct error code when out of memory - - Introduced in 763c5178. - - Closes #4036 - -Daniel Stenberg (18 Jun 2019) -- config-os400: add getpeername and getsockname defines - - Reported-by: jonrumsey on github - Fixes #4037 - Closes #4039 - -- runtests: keep logfiles around by default - - Make '-k' a no-op. The singletest function now clears the log directory - BEFORE each individual test and not after, which makes it possible to - always keep the logfiles around after a test has been run. No need to - specify -k anymore. Keeping the option parsing around to work with users - of old habits. - - Some tests also didn't work properly when -k was used (since the old - logs would be kep when a new test starts) which this change also fixes. - - Closes #4035 - -- [Gergely Nagy brought this change] - - openssl: fix pubkey/signature algorithm detection in certinfo - - Certinfo gives the same result for all OpenSSL versions. - Also made printing RSA pubkeys consistent with older versions. - - Reported-by: Michael Wallner - Fixes #3706 - Closes #4030 - -- conn_maxage: move the check to prune_dead_connections() - - ... and avoid the locking issue. - - Reported-by: Kunal Ekawde - Fixes #4029 - Closes #4032 - -- tests: have runtests figure out disabled features - - ... so that runtests can skip individual test cases that test features - that are explicitly disabled in this build. This new logic is intended - for disabled features that aren't otherwise easily visible through the - curl_version_info() or other API calls. - - tests/server/disabled is a newly built executable that will output a - list of disabled features. Outputs nothing for a default build. - - Closes #3950 - -- test188/189: fix Content-Length - - This cures the flaky test results - - Closes #4034 - -- [Thomas Gamper brought this change] - - winbuild: use WITH_PREFIX if given - - Closes #4031 - -Daniel Gustafsson (17 Jun 2019) -- openssl: remove outdated comment - - OpenSSL used to call exit(1) on syntax errors in OPENSSL_config(), - which is why we switched to CONF_modules_load_file() and introduced - a comment stating why. This behavior was however changed in OpenSSL - commit abdd677125f3a9e3082f8c5692203590fdb9b860, so remove the now - outdated and incorrect comment. The mentioned commit also declares - OPENSSL_config() deprecated so keep the current coding. - - Closes #4033 - Reviewed-by: Daniel Stenberg <daniel@haxx.se> - -Daniel Stenberg (16 Jun 2019) -- RELEASE-NOTES: synced - -Patrick Monnerat (16 Jun 2019) -- os400: make vsetopt() non-static as Curl_vsetopt() for os400 support. - - Use it in curl_easy_setopt_ccsid(). - - Reported-by: jonrumsey on github - Fixes #3833 - Closes #4028 - -Daniel Stenberg (15 Jun 2019) -- runtests: report single test time + total duration - - ... after each successful test. - - Closes #4027 - -- multi: fix the transfer hash function - - Follow-up from 8b987cc7eb - - Reported-by: Tom van der Woerdt - Fixes #4018 - Closes #4024 - -- unit1654: cleanup on memory failure - - ... to make it handle torture tests properly. - - Reported-by: Marcel Raad - Fixes #4021 - Closes #4022 - -Marcel Raad (13 Jun 2019) -- krb5: fix compiler warning - - Even though the variable was used in a DEBUGASSERT, GCC 8 warned in - debug mode: - krb5.c:324:17: error: unused variable 'maj' [-Werror=unused-variable] - - Just suppress the warning and declare the variable unconditionally - instead of only for DEBUGBUILD (which also missed the check for - HAVE_ASSERT_H). - - Closes https://github.com/curl/curl/pull/4020 - -Daniel Stenberg (13 Jun 2019) -- quote.d: asterisk prefix works for SFTP as well - - Reported-by: Ben Voris - Fixes #4017 - Closes #4019 - -- multi: fix the transfer hashes in the socket hash entries - - - The transfer hashes weren't using the correct keys so removing entries - failed. - - - Simplified the iteration logic over transfers sharing the same socket and - they now simply are set to expire and thus get handled in the "regular" - timer loop instead. - - Reported-by: Tom van der Woerdt - Fixes #4012 - Closes #4014 - -Jay Satiro (12 Jun 2019) -- [Cliff Crosland brought this change] - - url: Fix CURLOPT_MAXAGE_CONN time comparison - - Old connections are meant to expire from the connection cache after - CURLOPT_MAXAGE_CONN seconds. However, they actually expire after 1000x - that value. This occurs because a time value measured in milliseconds is - accidentally divided by 1M instead of by 1,000. - - Closes https://github.com/curl/curl/pull/4013 - -Daniel Stenberg (11 Jun 2019) -- test1165: verify that CURL_DISABLE_ symbols are in sync - - between configure.ac and source code. They should be possible to switch - on/off in configure AND be used in source code. - -- configure: remove CURL_DISABLE_TLS_SRP - - It isn't used by code so stop providing the define. - - Closes #4010 - -- Revert "cmake: add SMB to list of disabled protocols if HTTP_ONLY is specified" - - This reverts commit 36738caeb78603ce24e3ea089a167b8c216fb938. - - Apparently several of the appveyor windows builds broke. - -- [sergey-raevskiy brought this change] - - cmake: add SMB to list of disabled protocols if HTTP_ONLY is specified - - Reviewed-by: Jakub Zakrzewski - Closes #3770 - -- RELEASE-NOTES: synced - -- http2: remove CURL_DISABLE_TYPECHECK define - - ... in http2-less builds as it served no use. - -- configure: more --disable switches to toggle off individual features - - ... actual support in the code for disabling these has already landed. - - Closes #4009 - -- wolfssl: fix key pinning build error - - follow-up from deb9462ff2de8 |