|
@@ -6,8086 +6,8271 @@
|
|
|
|
|
|
Changelog
|
|
|
|
|
|
-Version 7.78.0 (21 Jul 2021)
|
|
|
+Version 7.79.1 (22 Sep 2021)
|
|
|
|
|
|
-Daniel Stenberg (21 Jul 2021)
|
|
|
+Daniel Stenberg (22 Sep 2021)
|
|
|
- RELEASE-NOTES: synced
|
|
|
|
|
|
- curl 7.78.0 release
|
|
|
+ curl 7.79.1 release
|
|
|
|
|
|
-- winbuild/MakefileBuild.vc: bump copyright year
|
|
|
+- THANKS: added names from the 7.79.1 release
|
|
|
|
|
|
-Jay Satiro (21 Jul 2021)
|
|
|
-- docs: mention max-filesize options also apply to MQTT transfers
|
|
|
+- test897: verify delivery of IMAP post-body header content
|
|
|
|
|
|
- Also make it clearer that the caveat 'if the file size is unknown it
|
|
|
- the option will have no effect' may apply to protocols other than FTP
|
|
|
- and HTTP.
|
|
|
+ The "content" is delivered as "body" by curl, but the envelope continues
|
|
|
+ after the body and the rest of it should be delivered as header.
|
|
|
|
|
|
- Reported-by: Josh Soref
|
|
|
+ The IMAP server can now get 'POSTFETCH' set to include more data to
|
|
|
+ include after the body and test 897 is done to verify that such "extra"
|
|
|
+ header data is in fact delivered by curl as header.
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/7453
|
|
|
-
|
|
|
-- [Josh Soref brought this change]
|
|
|
+ Ref: #7284 but fails to reproduce the issue
|
|
|
+
|
|
|
+ Closes #7748
|
|
|
|
|
|
- docs/cmdline: fix grammar and typos
|
|
|
+- KNOWN_BUGS: connection migration doesn't work
|
|
|
+
|
|
|
+ Closes #7695
|
|
|
|
|
|
-- [Josh Soref brought this change]
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- dump-header.d: Drop suggestion to use for cookie storage
|
|
|
+- http: fix the broken >3 digit response code detection
|
|
|
|
|
|
- Since --cookie-jar is the preferred way to store cookies, no longer
|
|
|
- suggest using --dump-header to do so.
|
|
|
+ When the "reason phrase" in the HTTP status line starts with a digit,
|
|
|
+ that was treated as the forth response code digit and curl would claim
|
|
|
+ the response to be non-compliant.
|
|
|
|
|
|
- Co-authored-by: Daniel Stenberg
|
|
|
+ Added test 1466 to verify this case.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/issues/7414
|
|
|
-
|
|
|
-- [Josh Soref brought this change]
|
|
|
+ Regression brought by 5dc594e44f73b17
|
|
|
+ Reported-by: Glenn de boer
|
|
|
+ Fixes #7738
|
|
|
+ Closes #7739
|
|
|
|
|
|
- doc/cmdline: fix grammar and typos
|
|
|
+Jay Satiro (17 Sep 2021)
|
|
|
+- strerror: use sys_errlist instead of strerror on Windows
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/7454
|
|
|
- Closes https://github.com/curl/curl/pull/7455
|
|
|
- Closes https://github.com/curl/curl/pull/7456
|
|
|
- Closes https://github.com/curl/curl/pull/7459
|
|
|
- Closes https://github.com/curl/curl/pull/7460
|
|
|
- Closes https://github.com/curl/curl/pull/7461
|
|
|
- Closes https://github.com/curl/curl/pull/7462
|
|
|
- Closes https://github.com/curl/curl/pull/7463
|
|
|
-
|
|
|
-Daniel Stenberg (20 Jul 2021)
|
|
|
-- vtls: fix connection reuse checks for issuer cert and case sensitivity
|
|
|
+ - Change Curl_strerror to use sys_errlist[errnum] instead of strerror to
|
|
|
+ retrieve the error message on Windows.
|
|
|
|
|
|
- CVE-2021-22924
|
|
|
+ Windows' strerror writes to a static buffer and is not thread-safe.
|
|
|
|
|
|
- Reported-by: Harry Sintonen
|
|
|
- Bug: https://curl.se/docs/CVE-2021-22924.html
|
|
|
+ Follow-up to 2f0bb86 which removed most instances of strerror in favor
|
|
|
+ of calling Curl_strerror (which calls strerror_r for other platforms).
|
|
|
+
|
|
|
+ Ref: https://github.com/curl/curl/pull/7685
|
|
|
+ Ref: https://github.com/curl/curl/commit/2f0bb86
|
|
|
+
|
|
|
+ Closes https://github.com/curl/curl/pull/7735
|
|
|
|
|
|
-- sectransp: check for client certs by name first, then file
|
|
|
+Daniel Stenberg (16 Sep 2021)
|
|
|
+- dist: provide lib/.checksrc in the tarball
|
|
|
|
|
|
- CVE-2021-22926
|
|
|
+ So that debug builds work (checksrc really)
|
|
|
|
|
|
- Bug: https://curl.se/docs/CVE-2021-22926.html
|
|
|
+ Reported-by: Marcel Raad
|
|
|
+ Reported-by: tawmoto on github
|
|
|
+ Fixes #7733
|
|
|
+ Closes #7734
|
|
|
+
|
|
|
+- TODO: Improve documentation about fork safety
|
|
|
|
|
|
- Assisted-by: Daniel Gustafsson
|
|
|
- Reported-by: Harry Sintonen
|
|
|
+ Closes #6968
|
|
|
|
|
|
-- telnet: fix option parser to not send uninitialized contents
|
|
|
+- hsts: CURLSTS_FAIL from hsts read callback should fail transfer
|
|
|
|
|
|
- CVS-2021-22925
|
|
|
+ ... and have CURLE_ABORTED_BY_CALLBACK returned.
|
|
|
|
|
|
- Reported-by: Red Hat Product Security
|
|
|
- Bug: https://curl.se/docs/CVE-2021-22925.html
|
|
|
+ Extended test 1915 to verify.
|
|
|
+
|
|
|
+ Reported-by: Jonathan Cardoso
|
|
|
+ Fixes #7726
|
|
|
+ Closes #7729
|
|
|
|
|
|
-Jay Satiro (20 Jul 2021)
|
|
|
-- connect: fix wrong format specifier in connect error string
|
|
|
+- test1184: disable
|
|
|
|
|
|
- 0842175 (not in any release) used the wrong format specifier (long int)
|
|
|
- for timediff_t. On an OS such as Windows libcurl's timediff_t (usually
|
|
|
- 64-bit) is bigger than long int (32-bit). In 32-bit Windows builds the
|
|
|
- upper 32-bits of the timediff_t were erroneously then used by the next
|
|
|
- format specifier. Usually since the timeout isn't larger than 32-bits
|
|
|
- this would result in null as a pointer to the string with the reason for
|
|
|
- the connection failing. On other OSes or maybe other compilers it could
|
|
|
- probably result in garbage values (ie crash on deref).
|
|
|
+ The test should be fine and it works for me repeated when run manually,
|
|
|
+ but clearly it causes CI failures and it needs more research.
|
|
|
|
|
|
- Before:
|
|
|
- Failed to connect to localhost port 12345 after 1201 ms: (nil)
|
|
|
+ Reported-by: RiderALT on github
|
|
|
+ Fixes #7725
|
|
|
+ Closes #7732
|
|
|
+
|
|
|
+- Curl_http2_setup: don't change connection data on repeat invokes
|
|
|
|
|
|
- After:
|
|
|
- Failed to connect to localhost port 12345 after 1203 ms: Connection refused
|
|
|
+ Regression from 3cb8a748670ab88c (releasde in 7.79.0). That change moved
|
|
|
+ transfer oriented inits to before the check but also erroneously moved a
|
|
|
+ few connection oriented ones, which causes problems.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/7449
|
|
|
+ Reported-by: Evangelos Foutras
|
|
|
+ Fixes #7730
|
|
|
+ Closes #7731
|
|
|
|
|
|
-- winbuild: support alternate nghttp2 static lib name
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- - Support both nghttp2.lib and nghttp2_static.lib for static nghttp2.
|
|
|
+ and bump to 7.79.1
|
|
|
+
|
|
|
+Kamil Dudka (16 Sep 2021)
|
|
|
+- tests/sshserver.pl: make it work with openssh-8.7p1
|
|
|
|
|
|
- nghttp2 briefly changed its static lib name to nghttp2_static, but then
|
|
|
- made the _static suffix optional.
|
|
|
+ ... by not using options with no argument where an argument is required:
|
|
|
|
|
|
- Ref: https://github.com/nghttp2/nghttp2/pull/1394
|
|
|
- Ref: https://github.com/nghttp2/nghttp2/pull/1418
|
|
|
- Ref: https://github.com/nghttp2/nghttp2/issues/1466
|
|
|
+ === Start of file tests/log/ssh_server.log
|
|
|
+ curl_sshd_config line 6: no argument after keyword "DenyGroups"
|
|
|
+ curl_sshd_config line 7: no argument after keyword "AllowGroups"
|
|
|
+ curl_sshd_config line 10: Deprecated option AuthorizedKeysFile2
|
|
|
+ curl_sshd_config line 29: Deprecated option KeyRegenerationInterval
|
|
|
+ curl_sshd_config line 39: Deprecated option RhostsRSAAuthentication
|
|
|
+ curl_sshd_config line 40: Deprecated option RSAAuthentication
|
|
|
+ curl_sshd_config line 41: Deprecated option ServerKeyBits
|
|
|
+ curl_sshd_config line 45: Deprecated option UseLogin
|
|
|
+ curl_sshd_config line 56: no argument after keyword "AcceptEnv"
|
|
|
+ curl_sshd_config: terminating, 3 bad configuration options
|
|
|
+ === End of file tests/log/ssh_server.log
|
|
|
|
|
|
- Reported-by: Pierre Yager
|
|
|
+ === Start of file log/sftp_server.log
|
|
|
+ curl_sftp_config line 33: Unsupported option "rhostsrsaauthentication"
|
|
|
+ curl_sftp_config line 34: Unsupported option "rsaauthentication"
|
|
|
+ curl_sftp_config line 52: no argument after keyword "sendenv"
|
|
|
+ curl_sftp_config: terminating, 1 bad configuration options
|
|
|
+ Connection closed.
|
|
|
+ Connection closed
|
|
|
+ === End of file log/sftp_server.log
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/7446
|
|
|
- Closes https://github.com/curl/curl/pull/7447
|
|
|
-
|
|
|
-- [Josh Soref brought this change]
|
|
|
+ Closes #7724
|
|
|
|
|
|
- docs/cmdline: fix grammar and typos
|
|
|
+Daniel Stenberg (15 Sep 2021)
|
|
|
+- hsts: handle unlimited expiry
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/7432
|
|
|
- Closes https://github.com/curl/curl/pull/7436
|
|
|
- Closes https://github.com/curl/curl/pull/7438
|
|
|
- Closes https://github.com/curl/curl/pull/7440
|
|
|
- Closes https://github.com/curl/curl/pull/7445
|
|
|
-
|
|
|
-- [Josh Soref brought this change]
|
|
|
-
|
|
|
- delegation.d: mention what happens when used multiple times
|
|
|
+ When setting a blank expire string, meaning unlimited, curl would pass
|
|
|
+ TIME_T_MAX to getime_r() when creating the output, while on 64 bit
|
|
|
+ systems such a large value cannot be convetered to a tm struct making
|
|
|
+ curl to exit the loop with an error instead. It can't be converted
|
|
|
+ because the year it would represent doesn't fit in the 'int tm_year'
|
|
|
+ field!
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/7408
|
|
|
-
|
|
|
-- [Josh Soref brought this change]
|
|
|
+ Starting now, unlimited expiry is instead handled differently by using a
|
|
|
+ human readable expiry date spelled out as "unlimited" instead of trying
|
|
|
+ to use a distant actual date.
|
|
|
+
|
|
|
+ Test 1660 and 1915 have been updated to help verify this change.
|
|
|
+
|
|
|
+ Reported-by: Jonathan Cardoso
|
|
|
+ Fixes #7720
|
|
|
+ Closes #7721
|
|
|
|
|
|
- create-file-mode.d: mention what happens when used multiple times
|
|
|
+- curl_multi_fdset: make FD_SET() not operate on sockets out of range
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/7407
|
|
|
+ The VALID_SOCK() macro was made to only check for FD_SETSIZE if curl was
|
|
|
+ built to use select(), even though the curl_multi_fdset() function
|
|
|
+ always and unconditionally uses FD_SET and needs the check.
|
|
|
+
|
|
|
+ Reported-by: 0xee on github
|
|
|
+ Fixes #7718
|
|
|
+ Closes #7719
|
|
|
|
|
|
-- [Josh Soref brought this change]
|
|
|
+- FAQ: add GOPHERS + curl works on data, not files
|
|
|
|
|
|
- config.d: split comments and option-per line
|
|
|
-
|
|
|
- Closes https://github.com/curl/curl/pull/7405
|
|
|
+Version 7.79.0 (14 Sep 2021)
|
|
|
|
|
|
-Daniel Stenberg (19 Jul 2021)
|
|
|
-- misc: copyright year range updates
|
|
|
+Daniel Stenberg (14 Sep 2021)
|
|
|
+- RELEASE-NOTES: synced
|
|
|
+
|
|
|
+ For the 7.79.0 release
|
|
|
|
|
|
-- mailmap: add Tobias and Timur
|
|
|
+- THANKS: add contributors from 7.79.0 release cycle
|
|
|
|
|
|
-Daniel Gustafsson (18 Jul 2021)
|
|
|
-- [Josh Soref brought this change]
|
|
|
+- FAQ: add two dev related questions
|
|
|
+
|
|
|
+ 8.1 Why does curl use C89?
|
|
|
+ 8.2 Will curl be rewritten?
|
|
|
+
|
|
|
+ Spell-checked-by: Paul Johnson
|
|
|
+ Closes #7715
|
|
|
|
|
|
- docs: spell out directories instead of dirs in create-dirs
|
|
|
+- zuul.d/jobs: disable three tests for *-openssl-disable-proxy
|
|
|
|
|
|
- Write out directories rather than using the dirs abbrevation. Also
|
|
|
- use plural form consistently, even if the code in the end might just
|
|
|
- create a single directory.
|
|
|
+ ... as they mysteriously seem to permfail without being related to
|
|
|
+ proxy.
|
|
|
|
|
|
- Closes #7406
|
|
|
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
- Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
|
|
|
+ Closes #7714
|
|
|
|
|
|
-- [Tobias Nyholm brought this change]
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
|
|
|
- docs: correct spelling errors and a broken link
|
|
|
+ ftp,imap,pop3,smtp: reject STARTTLS server response pipelining
|
|
|
|
|
|
- Update grammar and spelling in docs and source code comments.
|
|
|
+ If a server pipelines future responses within the STARTTLS response, the
|
|
|
+ former are preserved in the pingpong cache across TLS negotiation and
|
|
|
+ used as responses to the encrypted commands.
|
|
|
|
|
|
- Closes: #7427
|
|
|
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+ This fix detects pipelined STARTTLS responses and rejects them with an
|
|
|
+ error.
|
|
|
+
|
|
|
+ CVE-2021-22947
|
|
|
+
|
|
|
+ Bug: https://curl.se/docs/CVE-2021-22947.html
|
|
|
|
|
|
-Marc Hoersken (18 Jul 2021)
|
|
|
-- CI/cirrus: install impacket from PyPI instead of FreeBSD packages
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
+
|
|
|
+ ftp,imap,pop3: do not ignore --ssl-reqd
|
|
|
|
|
|
- Availability of impacket as FreeBSD package is too flaky.
|
|
|
+ In imap and pop3, check if TLS is required even when capabilities
|
|
|
+ request has failed.
|
|
|
|
|
|
- Stick to legacy version of cryptography which still
|
|
|
- supports OpenSSL version 1.0.2 due to FreeBSD 11.
|
|
|
+ In ftp, ignore preauthentication (230 status of server greeting) if TLS
|
|
|
+ is required.
|
|
|
|
|
|
- Reviewed-by: Daniel Stenberg
|
|
|
+ Bug: https://curl.se/docs/CVE-2021-22946.html
|
|
|
|
|
|
- Closes #7418
|
|
|
+ CVE-2021-22946
|
|
|
|
|
|
-Daniel Stenberg (18 Jul 2021)
|
|
|
-- [Josh Soref brought this change]
|
|
|
+- [z2_ on hackerone brought this change]
|
|
|
|
|
|
- docs/cmdline: mention what happens when used multiple times
|
|
|
+ mqtt: clear the leftovers pointer when sending succeeds
|
|
|
|
|
|
- For --dns-ipv4-addr, --dns-ipv6-addr and --dns-servers
|
|
|
+ CVE-2021-22945
|
|
|
|
|
|
- Closes #7410
|
|
|
- Closes #7411
|
|
|
- Closes #7412
|
|
|
+ Bug: https://curl.se/docs/CVE-2021-22945.html
|
|
|
+
|
|
|
+- zuul: bump the rustls job to use v0.7.2
|
|
|
+
|
|
|
+ ... and add -lm when using a rust library.
|
|
|
+
|
|
|
+ Closes #7701
|
|
|
|
|
|
-- [MAntoniak brought this change]
|
|
|
+- RELEASE-PROCEDURE: add release dates from now to 8.0.0 in 2023
|
|
|
|
|
|
- lib: fix compiler warnings with CURL_DISABLE_NETRC
|
|
|
+- SECURITY-PROCESS: tweak a little to match current practices
|
|
|
|
|
|
- warning C4189: 'netrc_user_changed': local variable is initialized but
|
|
|
- not referenced
|
|
|
+ Closes #7713
|
|
|
+
|
|
|
+- http_proxy: fix the User-Agent inclusion in CONNECT
|
|
|
|
|
|
- warning C4189: 'netrc_passwd_changed': local variable is initialized but
|
|
|
- not referenced
|
|
|
+ It should not refer to the uagent string that is allocated and created
|
|
|
+ for the end server http request, as that pointer may be cleared on
|
|
|
+ subsequent CONNECT requests.
|
|
|
|
|
|
- Closes #7423
|
|
|
+ Added test case 1184 to verify.
|
|
|
+
|
|
|
+ Reported-by: T200proX7 on github
|
|
|
+ Fixes #7705
|
|
|
+ Closes #7707
|
|
|
|
|
|
-- disable-epsv.d: remove duplicate "(FTP)"
|
|
|
+- Curl_hsts_loadcb: don't attempt to load if hsts wasn't inited
|
|
|
|
|
|
- ... since the tooling adds that to the output based on the "Protocols:"
|
|
|
- tag.
|
|
|
+ Reported-by: Jonathan Cardoso
|
|
|
+ Fixes #7710
|
|
|
+ Closes #7711
|
|
|
|
|
|
-- [Max Zettlmeißl brought this change]
|
|
|
+- [Tatsuhiro Tsujikawa brought this change]
|
|
|
|
|
|
- docs: make the documentation for --etag-save match the program behaviour
|
|
|
+ ngtcp2: fix build with ngtcp2 and nghttp3
|
|
|
|
|
|
- When using curl with the option `--etag-save` I expected it to save the
|
|
|
- ETag without its surrounding quotes, as stated by the documentation in
|
|
|
- the repository and by the generated man pages.
|
|
|
+ ngtcp2_conn_client_new and nghttp3_conn_client_new are now macros.
|
|
|
+ Check the wrapped functions instead.
|
|
|
|
|
|
- My first endeavour was to fix the program, but while investigating the
|
|
|
- history of the relevant parts, I discovered that curl once saved the
|
|
|
- ETag without the quotes. This was undone by Daniel Stenberg in commit
|
|
|
- `98c94596f5928840177b6bd3c7b0f0dd03a431af`, therefore I decided that in
|
|
|
- this case the documentation should be adjusted to match the behaviour of
|
|
|
- curl.
|
|
|
+ ngtcp2_stream_close callback now takes flags parameter.
|
|
|
|
|
|
- The changed save behaviour also made parts of the `--etag-compare`
|
|
|
- documentation wrong or superfluous, so I adjusted those accordingly.
|
|
|
+ Closes #7709
|
|
|
+
|
|
|
+- write-out.d: clarify size_download/upload
|
|
|
|
|
|
- Closes #7429
|
|
|
+ They show the number of "body" bytes transfered.
|
|
|
+ Fixes #7702
|
|
|
+ Closes #7706
|
|
|
|
|
|
-- [Josh Soref brought this change]
|
|
|
+- http2: Curl_http2_setup needs to init stream data in all invokes
|
|
|
+
|
|
|
+ Thus function was written to avoid doing multiple connection data
|
|
|
+ initializations, which is fine, but since it also initiates stream
|
|
|
+ related data it is crucial that it doesn't skip those even if called
|
|
|
+ again for the same connection. Solved by moving the stream
|
|
|
+ initializations before the "doing-it-again" check.
|
|
|
+
|
|
|
+ Reported-by: Inho Oh
|
|
|
+ Fixes #7630
|
|
|
+ Closes #7692
|
|
|
|
|
|
- write-out.d: add missing periods
|
|
|
+- url: fix compiler warning in no-verbose builds
|
|
|
|
|
|
- Closes #7404
|
|
|
+ Follow-up from 2f0bb864c12
|
|
|
+
|
|
|
+ Closes #7700
|
|
|
|
|
|
-- [Josie Huddleston brought this change]
|
|
|
+- non-ascii: fix build errors from strerror fix
|
|
|
+
|
|
|
+ Follow-up to 2f0bb864c12
|
|
|
+
|
|
|
+ Closes #7697
|
|
|
|
|
|
- easy: during upkeep, attach Curl_easy to connections in the cache
|
|
|
+- parse_args: redo the warnings for --remote-header-name combos
|
|
|
|
|
|
- During the protocol-specific parts of connection upkeep, some code
|
|
|
- assumes that the data->conn pointer already is set correctly. However,
|
|
|
- there's currently no guarantee of that in the code.
|
|
|
+ ... to avoid the memory leak risk pointed out by scan-build.
|
|
|
|
|
|
- This fix temporarily attaches each connection to the Curl_easy object
|
|
|
- before performing the protocol-specific connection check on it, in a
|
|
|
- similar manner to the connection checking in extract_if_dead().
|
|
|
+ Follow-up from 7a3e981781d6c18a
|
|
|
|
|
|
- Fixes #7386
|
|
|
- Closes #7387
|
|
|
- Reported-by: Josie Huddleston
|
|
|
+ Closes #7698
|
|
|
|
|
|
-- [Josh Soref brought this change]
|
|
|
+- ngtcp2: adapt to new size defintions upstream
|
|
|
+
|
|
|
+ Reviewed-by: Tatsuhiro Tsujikawa
|
|
|
+ Closes #7699
|
|
|
|
|
|
- cleanup: spell DoH with a lowercase o
|
|
|
+- rustls: add strerror.h include
|
|
|
|
|
|
- Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
|
|
|
+ Follow-up to 2f0bb864c12
|
|
|
+
|
|
|
+- docs: the security list is reached at security at curl.se now
|
|
|
|
|
|
- Closes #7413
|
|
|
+ Also update the FAQ section a bit to encourage users to rather submit
|
|
|
+ security issues on hackerone than sending email.
|
|
|
+
|
|
|
+ Closes #7689
|
|
|
|
|
|
-- [Josh Soref brought this change]
|
|
|
+Marc Hoersken (9 Sep 2021)
|
|
|
+- runtests: add option -u to error on server unexpectedly alive
|
|
|
+
|
|
|
+ Let's try to actually handle the server unexpectedly alive
|
|
|
+ case by first making them visible on CI builds as failures.
|
|
|
+
|
|
|
+ This is needed to detect issues with killing of the test
|
|
|
+ servers completely including nested process chains with
|
|
|
+ multiple PIDs per test server (including bash and perl).
|
|
|
+
|
|
|
+ On Windows/cygwin platforms this is especially helpful with
|
|
|
+ debugging PID mixups due to cygwin using its own PID space.
|
|
|
+
|
|
|
+ Reviewed-by: Daniel Stenberg
|
|
|
+ Closes #7180
|
|
|
|
|
|
- TheArtOfHttpScripting: polish
|
|
|
+Daniel Stenberg (9 Sep 2021)
|
|
|
+- opts docs: unify phrasing in NAME header
|
|
|
|
|
|
- - add missing backticks and comma
|
|
|
+ - avoid writing "set ..." or "enable/disable ..." or "specify ..."
|
|
|
+ *All* options for curl_easy_setopt() are about setting or enabling
|
|
|
+ things and most of the existing options didn't use that way of
|
|
|
+ description.
|
|
|
|
|
|
- - fix proxy description:
|
|
|
+ - start with lowercase letter, unless abbreviation. For consistency.
|
|
|
|
|
|
- * example proxy isn't local
|
|
|
- * locally doesn't really make sense
|
|
|
+ - Some additional touch-ups
|
|
|
|
|
|
- Closes #7416
|
|
|
+ Closes #7688
|
|
|
|
|
|
-- [Josh Soref brought this change]
|
|
|
+- strerror.h: remove the #include from files not using it
|
|
|
|
|
|
- form.d: add examples of `,`/`;` for file[name]
|
|
|
+- lib: don't use strerror()
|
|
|
|
|
|
- Fixes #7415
|
|
|
- Closes #7417
|
|
|
-
|
|
|
-- [MAntoniak brought this change]
|
|
|
+ We have and provide Curl_strerror() internally for a reason: strerror()
|
|
|
+ is not necessarily thread-safe so we should always try to avoid it.
|
|
|
+
|
|
|
+ Extended checksrc to warn for this, but feature the check disabled by
|
|
|
+ default and only enable it in lib/
|
|
|
+
|
|
|
+ Closes #7685
|
|
|
|
|
|
- mbedtls: Remove unnecessary include
|
|
|
+Daniel Gustafsson (8 Sep 2021)
|
|
|
+- cirrus: Add FreeBSD 13.0 job and disable sanitizer build
|
|
|
|
|
|
- - curl_setup.h: all references to mbedtls_md4* functions and structures
|
|
|
- are in the md4.c. This file already includes the <mbedtls/md4.h> file
|
|
|
- along with the file existence control (defined (MBEDTLS_MD4_C))
|
|
|
+ As alluded to the in the now removed comment, a 13.0 image became
|
|
|
+ available and is now ready to be used.
|
|
|
|
|
|
- - curl_ntlm_core.c: unnecessary include - repeated below
|
|
|
+ The sanitizer builds were running on the 12.1 image which since has
|
|
|
+ been removed from the config, leaving the builds not running at all.
|
|
|
+ When enabled it turns out that they don't actually work due to very
|
|
|
+ long timeouts in executing the tests, so keep the disabled for now
|
|
|
+ but a bit more controlled.
|
|
|
|
|
|
- Closes #7419
|
|
|
+ Closes #7592
|
|
|
+
|
|
|
+Daniel Stenberg (8 Sep 2021)
|
|
|
+- copyrights: update copyright year ranges
|
|
|
|
|
|
- RELEASE-NOTES: synced
|
|
|
|
|
|
-Jay Satiro (16 Jul 2021)
|
|
|
-- [User Sg brought this change]
|
|
|
+- INTERNALS: c-ares has a new home: c-ares.org
|
|
|
|
|
|
- multi: fix crash in curl_multi_wait / curl_multi_poll
|
|
|
+- docs: remove experimental mentions from HSTS and MQTT
|
|
|
|
|
|
- Appears to have been caused by 51c0ebc (precedes 7.77.0) which added a
|
|
|
- VALID_SOCK check to one of the loops through the sockets but not the
|
|
|
- other.
|
|
|
+ Reported-by: Jonathan Cardoso
|
|
|
+ Bug: https://github.com/curl/curl/pull/6700#issuecomment-913792863
|
|
|
+ Closes #7681
|
|
|
+
|
|
|
+- [Cao ZhenXiang brought this change]
|
|
|
+
|
|
|
+ curl: add warning for incompatible parameters usage
|
|
|
|
|
|
- Reported-by: sylgal@users.noreply.github.com
|
|
|
- Authored-by: sylgal@users.noreply.github.com
|
|
|
+ --continue-at - and --remote-header-name are known incompatible parameters
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/7379
|
|
|
- Closes https://github.com/curl/curl/pull/7389
|
|
|
+ Closes #7674
|
|
|
|
|
|
-- [Daniel Gustafsson brought this change]
|
|
|
+- [git-bruh brought this change]
|
|
|
|
|
|
- tool_help: remove unused define
|
|
|
-
|
|
|
- The PRINT_LINES_PAUSE macro is no longer used, and has been mostly
|
|
|
- cleaned out but one occurrence remained.
|
|
|
+ examples/*hiperfifo.c: fix calloc arguments to match function proto
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/7380
|
|
|
+ Closes #7678
|
|
|
|
|
|
-- [Sergey Markelov brought this change]
|
|
|
+- INTERNALS: bump c-ares requirement to 1.16.0
|
|
|
+
|
|
|
+ Since ba904db0705c93 we use ares_getaddrinfo, added in c-ares 1.16.0
|
|
|
|
|
|
- build: fix compiler warnings when CURL_DISABLE_VERBOSE_STRINGS
|
|
|
+- curl: stop retry if Retry-After: is longer than allowed
|
|
|
|
|
|
- fix compiler warnings about unused variables and parameters when
|
|
|
- built with --disable-verbose.
|
|
|
+ If Retry-After: specifies a period that is longer than what fits within
|
|
|
+ --retry-max-time, then stop retrying immediately.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/7377
|
|
|
+ Added test 366 to verify.
|
|
|
+
|
|
|
+ Reported-by: Kari Pahula
|
|
|
+ Fixes #7675
|
|
|
+ Closes #7676
|
|
|
|
|
|
-- [Andrea Pappacoda brought this change]
|
|
|
+- [Michał Antoniak brought this change]
|
|
|
|
|
|
- build: fix IoctlSocket FIONBIO check
|
|
|
+ mbedtls: avoid using a large buffer on the stack
|
|
|
|
|
|
- Prior to this change HAVE_IOCTLSOCKET_CAMEL_FIONBIO mistakenly checked
|
|
|
- for (lowercase) ioctlsocket when it should have checked for IoctlSocket.
|
|
|
+ Use dynamic memory allocation for the buffer used in checking "pinned
|
|
|
+ public key". The PUB_DER_MAX_BYTES parameter with default settings is
|
|
|
+ set to a value greater than 2kB.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/7375
|
|
|
+ Co-authored-by: Daniel Stenberg
|
|
|
+ Closes #7586
|
|
|
|
|
|
-- [Timur Artikov brought this change]
|
|
|
+- configure: make --disable-hsts work
|
|
|
+
|
|
|
+ The AC_ARG_ENABLE() macro itself uses a variable called
|
|
|
+ 'enable_[option]', so when our script also used a variable with that
|
|
|
+ name for the purpose of storing what the user wants, it also
|
|
|
+ accidentally made it impossible to switch off the feature with
|
|
|
+ --disable-hsts. Fix this by renaming our variable.
|
|
|
+
|
|
|
+ Reported-by: Michał Antoniak
|
|
|
+ Fixes #7669
|
|
|
+ Closes #7672
|
|
|
|
|
|
- configure: fix nghttp2 library name for static builds
|
|
|
+Jay Satiro (5 Sep 2021)
|
|
|
+- config.d: note that curlrc is used even when --config
|
|
|
|
|
|
- Don't hardcode the nghttp2 library name,
|
|
|
- because it can vary, be "nghttp2_static" for example.
|
|
|
+ Bug: https://github.com/curl/curl/pull/7666#issuecomment-912214751
|
|
|
+ Reported-by: Viktor Szakats
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/7367
|
|
|
- Closes https://github.com/curl/curl/pull/7368
|
|
|
+ Closes https://github.com/curl/curl/pull/7667
|
|
|
|
|
|
-Gisle Vanem (16 Jul 2021)
|
|
|
-- [PellesC] fix _lseeki64() macro
|
|
|
+Daniel Stenberg (4 Sep 2021)
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
-- [SChannel] Use '_tcsncmp()' instead
|
|
|
+- test1173: check references to libcurl options
|
|
|
|
|
|
- Revert previous change for PellesC.
|
|
|
+ ... that they refer to actual existing libcurl options.
|
|
|
|
|
|
- Instead replace all use of `_tcsnccmp()` with `_tcsncmp()`.
|
|
|
+ Reviewed-by: Daniel Gustafsson
|
|
|
+ Closes #7656
|
|
|
|
|
|
-- [PellesC] missing '_tcsnccmp'
|
|
|
+- CURLOPT_UNIX_SOCKET_PATH.3: remove nginx reference, add see also
|
|
|
|
|
|
- PellesC compiler does not have this macro in it's `<tchar.h>`
|
|
|
+ Closes #7656
|
|
|
|
|
|
-Daniel Gustafsson (14 Jul 2021)
|
|
|
-- TODO: add mention of mbedTLS 3 incompatibilities
|
|
|
+- opt-docs: verify man page sections + order
|
|
|
|
|
|
- Wyatt OʼDay reported in #7385 that mbedTLS isn't backwards compatible
|
|
|
- and curl no longer builds with it. Document the need to fix our support
|
|
|
- until so has been done.
|
|
|
+ In every libcurl option man page there are now 8 mandatory sections that
|
|
|
+ must use the right name in the correct order and test 1173 verifies
|
|
|
+ this. Only 14 man pages needed adjustments.
|
|
|
|
|
|
- Closes #7390
|
|
|
- Fixes #7385
|
|
|
- Reported-by: Wyatt OʼDay
|
|
|
- Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
|
|
|
-
|
|
|
-- docs: fix inconsistencies in EGDSOCKET documentation
|
|
|
+ The sections and the order is as follows:
|
|
|
|
|
|
- Only the OpenSSL backend actually use the EGDSOCKET, and also use
|
|
|
- TLS consistently rather than mixing SSL and TLS. While there, also
|
|
|
- fix a minor spelling nit.
|
|
|
+ - NAME
|
|
|
+ - SYNOPSIS
|
|
|
+ - DESCRIPTION
|
|
|
+ - PROTOCOLS
|
|
|
+ - EXAMPLE
|
|
|
+ - AVAILABILITY
|
|
|
+ - RETURN VALUE
|
|
|
+ - SEE ALSO
|
|
|
|
|
|
- Closes: #7391
|
|
|
- Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
|
|
|
-
|
|
|
-- [Борис Верховский brought this change]
|
|
|
+ Reviewed-by: Daniel Gustafsson
|
|
|
+ Closes #7656
|
|
|
|
|
|
- docs: document missing arguments to commands
|
|
|
+- opt-docs: make sure all man pages have examples
|
|
|
|
|
|
- This is a followup to commit f410b9e538129e77607fef1 fixing a few
|
|
|
- more commands which takes arguments.
|
|
|
+ Extended manpage-syntax.pl (run by test 1173) to check that every man
|
|
|
+ page for a libcurl option has an EXAMPLE section that is more than two
|
|
|
+ lines. Then fixed all errors it found and added examples.
|
|
|
|
|
|
- Closes #7382
|
|
|
- Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
|
|
|
-
|
|
|
-- [Randolf J brought this change]
|
|
|
+ Reviewed-by: Daniel Gustafsson
|
|
|
+ Closes #7656
|
|
|
|
|
|
- docs: fix incorrect argument name reference
|
|
|
-
|
|
|
- The documentation for the read callback was erroneously referencing
|
|
|
- the nitems argument by nmemb. The error was introduced in commit
|
|
|
- ce0881edee3c7.
|
|
|
+- get.d: provide more useful examples
|
|
|
|
|
|
- Closes #7383
|
|
|
- Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
|
|
|
-
|
|
|
-- [Борис Верховский brought this change]
|
|
|
+ Closes #7668
|
|
|
|
|
|
- tool_help: Document that --tlspassword takes a password
|
|
|
+- page-header: add GOPHERS, simplify wording in the 1st para
|
|
|
|
|
|
- Closes #7378
|
|
|
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+ Closes #7665
|
|
|
|
|
|
-- scripts: Fix typo in release-notes instructions
|
|
|
+- connect: get local port + ip also when reusing connections
|
|
|
|
|
|
- The command to run had a typo in the pathname which prevented copy
|
|
|
- pasting it to work, which has annoyed me enough to fix this now.
|
|
|
-
|
|
|
-- RELEASE-NOTES: synced
|
|
|
-
|
|
|
-Jay Satiro (10 Jul 2021)
|
|
|
-- write-out.d: Clarify urlnum is not unique for de-globbed URLs
|
|
|
+ Regression. In d6a37c23a3c (7.75.0) we removed the duplicated storage
|
|
|
+ (connection + easy handle), so this info needs be extracted again even
|
|
|
+ for re-used connections.
|
|
|
|
|
|
- Reported-by: Коваленко Анатолий Викторович
|
|
|
+ Add test 435 to verify
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/7342
|
|
|
- Closes https://github.com/curl/curl/pull/7369
|
|
|
+ Reported-by: Max Dymond
|
|
|
+ Fixes #7660
|
|
|
+ Closes #7662
|
|
|
|
|
|
-Daniel Gustafsson (3 Jul 2021)
|
|
|
-- [William Desportes brought this change]
|
|
|
+Marcel Raad (2 Sep 2021)
|
|
|
+- multi: fix compiler warning with `CURL_DISABLE_WAKEUP`
|
|
|
+
|
|
|
+ `use_wakeup` is unused in this case.
|
|
|
+
|
|
|
+ Closes https://github.com/curl/curl/pull/7661
|
|
|
|
|
|
- docs: Fix typos
|
|
|
+Daniel Stenberg (1 Sep 2021)
|
|
|
+- tests: adjust the tftpd output to work with hyper mode
|
|
|
|
|
|
- Closes: #7370
|
|
|
- Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
|
|
|
+ By making them look less like http headers, the hyper mode "tweak"
|
|
|
+ doesn't interfere.
|
|
|
+
|
|
|
+ Enable test 2002 and 2003 in hyper builds (and 1280 which is unrelated
|
|
|
+ but should be enabled).
|
|
|
+
|
|
|
+ Closes #7658
|
|
|
|
|
|
-Daniel Stenberg (8 Jul 2021)
|
|
|
-- [Jonathan Wernberg brought this change]
|
|
|
+Daniel Gustafsson (1 Sep 2021)
|
|
|
+- [Gisle Vanem brought this change]
|
|
|
|
|
|
- Revert "ftp: Expression 'ftpc->wait_data_conn' is always false"
|
|
|
+ openssl: annotate SSL3_MT_SUPPLEMENTAL_DATA
|
|
|
|
|
|
- The reverted commit introduced a logic error in code that was
|
|
|
- correct.
|
|
|
+ This adds support for the previously unhandled supplemental data which
|
|
|
+ in -v output was printed like:
|
|
|
|
|
|
- The client using libcurl would notice the error since FTP file
|
|
|
- uploads in active transfer mode would somtimes complete with
|
|
|
- success despite no transfer having been performed and the
|
|
|
- "uploaded" file thus not being on the remote server afterwards.
|
|
|
+ TLSv1.2 (IN), TLS header, Unknown (23):
|
|
|
|
|
|
- The FTP server would notice the error because it receives a
|
|
|
- RST on the data connection it has established with the client
|
|
|
- before any data was transferred at all.
|
|
|
+ These will now be printed with proper annotation:
|
|
|
|
|
|
- The logic error happens if the STOR response from the server have
|
|
|
- arrived by the time ftp_multi_statemach() in the affected code path
|
|
|
- is called, but the incoming data connection have not arrived yet.
|
|
|
- In that case, the processing of the STOR response will cause
|
|
|
- 'ftpc->wait_data_conn' to be set to TRUE, contradicting the comment
|
|
|
- in the code. Since 'complete' will also be set, later logic would
|
|
|
- believe the transfer was done.
|
|
|
+ TLSv1.2 (OUT), TLS header, Supplemental data (23):
|
|
|
|
|
|
- In most cases, the STOR response will not have arrived yet when
|
|
|
- the affected code path is executed, or the incoming connection will
|
|
|
- also have arrived, and thus the error would not express itself.
|
|
|
- But if the speed difference of the device using libcurl and the
|
|
|
- FTP server is exactly right, the error may happen as often as in
|
|
|
- one out of hundred file transfers.
|
|
|
+ Closes #7652
|
|
|
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+
|
|
|
+Daniel Stenberg (1 Sep 2021)
|
|
|
+- curl.1: provide examples for each option
|
|
|
|
|
|
- This reverts commit 49f3117a238b6eac0e22a32f50699a9eddcb66ab.
|
|
|
+ The file format for each option now features a "Example:" header that
|
|
|
+ can provide one or more examples that get rendered appropriately in the
|
|
|
+ output. All options MUST have at least one example or gen.pl complains
|
|
|
+ at build-time.
|
|
|
|
|
|
- Bug: https://curl.se/mail/lib-2021-07/0025.html
|
|
|
- Closes #7362
|
|
|
+ This fix also does a few other minor format and consistency cleanups.
|
|
|
+
|
|
|
+ Closes #7654
|
|
|
|
|
|
-- msnprintf: return number of printed characters excluding null byte
|
|
|
+- progress: make trspeed avoid floats
|
|
|
|
|
|
- ... even when the output is "capped" by the maximum length argument.
|
|
|
+ and compiler warnings for data conversions.
|
|
|
|
|
|
- Clarified in the docs.
|
|
|
+ Reported-by: Michał Antoniak
|
|
|
+ Fixes #7645
|
|
|
+ Closes #7653
|
|
|
+
|
|
|
+- test365: verify response with chunked AND Content-Length headers
|
|
|
+
|
|
|
+- http: ignore content-length if any transfer-encoding is used
|
|
|
|
|
|
- Closes #7361
|
|
|
+ Fixes #7643
|
|
|
+ Closes #7649
|
|
|
|
|
|
-- infof: remove newline from format strings, always append it
|
|
|
+- RELEASE-NOTES: synced
|
|
|
+
|
|
|
+- Revert "http2: skip immediate parsing of payload following protocol switch"
|
|
|
|
|
|
- - the data needs to be "line-based" anyway since it's also passed to the
|
|
|
- debug callback/application
|
|
|
+ This reverts commit 455a63c66f188598275e87d32de2c4e8e26b80cb.
|
|
|
|
|
|
- - it makes infof() work like failf() and consistency is good
|
|
|
+ Reported-by: Tk Xiong
|
|
|
+ Fixes #7633
|
|
|
+ Closes #7648
|
|
|
+
|
|
|
+- KNOWN_BUGS: HTTP/3 doesn't support client certs
|
|
|
|
|
|
- - there's an assert that triggers on newlines in the format string
|
|
|
+ Closes #7625
|
|
|
+
|
|
|
+- mailing lists: move from cool.haxx.se to lists.haxx.se
|
|
|
+
|
|
|
+- http_proxy: only wait for writable socket while sending request
|
|
|
|
|
|
- - Also removes a few instances of "..."
|
|
|
+ Otherwise it would wait socket writability even after the entire CONNECT
|
|
|
+ request has sent and make curl basically busy-loop while waiting for a
|
|
|
+ response to come back.
|
|
|
|
|
|
- - Removes the code that would append "..." to the end of the data *iff*
|
|
|
- it was truncated in infof()
|
|
|
+ The previous fix attempt in #7484 (c27a70a591a4) was inadequate.
|
|
|
|
|
|
- Closes #7357
|
|
|
+ Reported-by: zloi-user on github
|
|
|
+ Reported-by: Oleguer Llopart
|
|
|
+ Fixes #7589
|
|
|
+ Closes #7647
|
|
|
|
|
|
-- examples/multi-single: fix scan-build warning
|
|
|
+- http: disallow >3-digit response codes
|
|
|
|
|
|
- warning: Value stored to 'mc' during its initialization is never read
|
|
|
+ Make the built-in HTTP parser behave similar to hyper and reject any
|
|
|
+ HTTP response using more than 3 digits for the response code.
|
|
|
|
|
|
- Follow-up to ae8e11ed5fd2ce
|
|
|
+ Updated test 1432 accordingly.
|
|
|
+ Enabled test 1432 in the hyper builds.
|
|
|
|
|
|
- Closes #7360
|
|
|
+ Closes #7641
|
|
|
|
|
|
-- wolfssl: failing to set a session id is not reason to error out
|
|
|
-
|
|
|
- ... as it is *probably* just timed out.
|
|
|
+- [Tatsuhiro Tsujikawa brought this change]
|
|
|
+
|
|
|
+ ngtcp2: stop buffering crypto data
|
|
|
|
|
|
- Reported-by: Francisco Munoz
|
|
|
+ Stop buffering crypto data because libngtcp2 now buffers submitted
|
|
|
+ crypto data.
|
|
|
|
|
|
- Closes #7358
|
|
|
+ Closes #7637
|
|
|
|
|
|
-- docs/examples: use curl_multi_poll() in multi examples
|
|
|
+- test1280: CRLFify the response to please hyper
|
|
|
|
|
|
- The API is soon two years old and deserves being shown as the primary
|
|
|
- way to drive multi code as it makes it much easier to write code.
|
|
|
+ Closes #7639
|
|
|
+
|
|
|
+- tests: enable test 1129 for hyper builds
|
|
|
|
|
|
- multi-poll: removed
|
|
|
+ Closes #7638
|
|
|
+
|
|
|
+- curl: better error message when -O fails to get a good name
|
|
|
|
|
|
- multi-legacy: add to show how we did multi API use before
|
|
|
- curl_multi_wait/poll.
|
|
|
+ Due to how this currently works internally, it needs a working initial
|
|
|
+ file name to store contents in, so it may still fail even with -J is
|
|
|
+ used (and thus accepting a name from content-disposition:) if the file
|
|
|
+ name part of the URL isn't "good enough".
|
|
|
|
|
|
- Closes #7352
|
|
|
+ Fixes #7628
|
|
|
+ Closes #7635
|
|
|
|
|
|
-- KNOWN_BUGS: flaky Windows CI builds
|
|
|
+- curl_easy_setopt: tweak the string copy wording
|
|
|
|
|
|
- Closes #6972
|
|
|
+ Reported-by: Yaobin Wen
|
|
|
+ Fixes #7632
|
|
|
+ Closes #7634
|
|
|
|
|
|
- RELEASE-NOTES: synced
|
|
|
|
|
|
-- test1147: hyper doesn't allow "crazy" request headers like built-in
|
|
|
+- [Don J Olmstead brought this change]
|
|
|
+
|
|
|
+ cmake: sync CURL_DISABLE options
|
|
|
|
|
|
- ... so strip that from the test.
|
|
|
+ Adds the full listing of CURL_DISABLE options to the CMake build. Moves
|
|
|
+ all option code, except for CURL_DISABLE_OPENSSL_AUTO_LOA_CONFIG which
|
|
|
+ resides near OpenSSL configuration, to the same block of code. Also
|
|
|
+ sorts the options here and in the cmake config header.
|
|
|
|
|
|
- Closes #7349
|
|
|
+ Additionally sorted the CURL-DISABLE listing and fixed the
|
|
|
+ CURL_DISABLE_POP3 option.
|
|
|
+
|
|
|
+ Closes #7624
|
|
|
|
|
|
-- c-hyper: bail on too long response headers
|
|
|
+Jay Satiro (25 Aug 2021)
|
|
|
+- KNOWN_BUGS: FTPS upload data loss with TLS 1.3
|
|
|
|
|
|
- To match with built-in behaviors. Makes test 1154 work.
|
|
|
+ Bug: https://github.com/curl/curl/issues/6149
|
|
|
+ Reported-by: Bylon2@users.noreply.github.com
|
|
|
|
|
|
- Closes #7350
|
|
|
+ Closes https://github.com/curl/curl/pull/7623
|
|
|
|
|
|
-- test1151: added missing CRLF to work with hyper
|
|
|
+Daniel Stenberg (24 Aug 2021)
|
|
|
+- cmake: avoid poll() on macOS
|
|
|
|
|
|
- Closes #7350
|
|
|
-
|
|
|
-- c-hyper: add support for transfer-encoding in the request
|
|
|
+ ... like we do in configure builds. Since poll() on macOS is not
|
|
|
+ reliable enough.
|
|
|
|
|
|
- Closes #7348
|
|
|
-
|
|
|
-- [Andrea Pappacoda brought this change]
|
|
|
+ Reported-by: marc-groundctl
|
|
|
+ Fixes #7595
|
|
|
+ Closes #7619
|
|
|
|
|
|
- cmake: remove libssh2 feature checks
|
|
|
+- c-hyper: handle HTTP/1.1 => HTTP/1.0 downgrade on reused connection
|
|
|
|
|
|
- libssh2 features are detected based on version since commit
|
|
|
- 9dbbba997608f7c3c5de1c627c77c8cd2aa85b73
|
|
|
+ Enable test 1074
|
|
|
|
|
|
- Closes #7343
|
|
|
+ Closes #7617
|
|
|
|
|
|
-- test1116: hyper doesn't pass through "surprise-trailers"
|
|
|
+- c-hyper: deal with Expect: 100-continue combined with POSTFIELDS
|
|
|
|
|
|
- Closes #7344
|
|
|
+ Enable test 1130 and 1131
|
|
|
+
|
|
|
+ Closes #7616
|
|
|
|
|
|
-- socks4: scan for the IPv4 address in resolve results
|
|
|
+- [a1346054 brought this change]
|
|
|
+
|
|
|
+ tests: be explicit about using 'python3' instead of 'python'
|
|
|
|
|
|
- Follow-up to 84d2839740 which changed the resolving to always resolve
|
|
|
- both address families, but since SOCKS4 only supports IPv4 it should
|
|
|
- scan for and use the first available IPv4 address.
|
|
|
+ This fixes running tests in virtualenvs (or on distros) that no longer
|
|
|
+ have a symlink from python to python2 or python3.
|
|
|
|
|
|
- Reported-by: shithappens2016 on github
|
|
|
- Fixes #7345
|
|
|
- Closes #7346
|
|
|
+ Closes #7602
|
|
|
|
|
|
-Jay Satiro (5 Jul 2021)
|
|
|
-- proto.d: fix formatting for paragraphs after margin changes
|
|
|
-
|
|
|
- Closes https://github.com/curl/curl/pull/7341
|
|
|
+- [a1346054 brought this change]
|
|
|
|
|
|
-- pinnedpubkey.d: fix formatting for version support lists
|
|
|
+ scripts: invoke interpreters through /usr/bin/env
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/7340
|
|
|
+ Closes #7602
|
|
|
|
|
|
-Daniel Stenberg (2 Jul 2021)
|
|
|
-- TODO: "Support in-memory certs/ca certs/keys" done
|
|
|
+- DISABLED: enable 11 more tests for hyper builds
|
|
|
|
|
|
- Has been suppored for a while now with the *BLOB options.
|
|
|
+ Closes #7612
|
|
|
|
|
|
-- examples: safer and more proper read callback logic
|
|
|
+- setopt: enable CURLOPT_IGNORE_CONTENT_LENGTH for hyper
|
|
|
|
|
|
- The same callback code is used in:
|
|
|
-
|
|
|
- imap-append.c
|
|
|
- smtp-authzid.c
|
|
|
- smtp-mail.c
|
|
|
- smtp-multi.c
|
|
|
- smtp-ssl.c
|
|
|
- smtp-tls.c
|
|
|
+ Since this option is also used for FTP, it needs to work to set for
|
|
|
+ applications even if hyper doesn't support it for HTTP. Verified by test
|
|
|
+ 1137.
|
|
|
|
|
|
- It should not assume that it can copy full lines into the buffer as it
|
|
|
- will encourage sloppy coding practices. Instead use byte-wise logic and
|
|
|
- check/acknowledge the buffer size appropriately.
|
|
|
+ Updated docs to specify that the option doesn't work for HTTP when using
|
|
|
+ the hyper backend.
|
|
|
|
|
|
- Reported-by: Harry Sintonen
|
|
|
- Fixes #7330
|
|
|
- Closes #7331
|
|
|
+ Closes #7614
|
|
|
|
|
|
-- test1519: adjusted to work with hyper
|
|
|
+- test1138: remove trailing space to make work with hyper
|
|
|
|
|
|
- Closes #7333
|
|
|
+ Closes #7613
|
|
|
|
|
|
-- test1518: adjusted to work with hyper
|
|
|
+- libcurl-errors.3: clarify two CURLUcode errors
|
|
|
|
|
|
- ... by making sure the stdout output doesn't look like HTTP headers.
|
|
|
+ CURLUE_BAD_HANDLE and CURLUE_BAD_PARTPOINTER should be for "bad" or
|
|
|
+ wrong pointers in a generic sense, not just for NULL pointers.
|
|
|
|
|
|
- Closes #7333
|
|
|
+ Reviewed-by: Jay Satiro
|
|
|
+
|
|
|
+ Ref: #7605
|
|
|
+ Closes #7611
|
|
|
|
|
|
-- test1514: add a CRLF to the response to make it correct
|
|
|
+Jay Satiro (23 Aug 2021)
|
|
|
+- symbols-in-versions: fix CURLSSLBACKEND_QSOSSL last used version
|
|
|
|
|
|
- Makes hyper accept it fine instead returning HYPERE_UNEXPECTED_EOF on
|
|
|
- us.
|
|
|
+ ... and also change the 'Removed' column name to 'Last' since that
|
|
|
+ column is for the last version to contain the symbol.
|
|
|
|
|
|
- Closes #7334
|
|
|
+ Closes https://github.com/curl/curl/pull/7609
|
|
|
|
|
|
-- formdata: avoid "Argument cannot be negative" warning
|
|
|
-
|
|
|
- ... when converting a curl_off_t to size_t, by using
|
|
|
- CURL_ZERO_TERMINATED before passing the argument to the function.
|
|
|
+Daniel Stenberg (23 Aug 2021)
|
|
|
+- urlapi.c:seturl: assert URL instead of using if-check
|
|
|
|
|
|
- Detected by Coverity CID 1486590.
|
|
|
+ There's no code flow possible where this can happen. The assert makes
|
|
|
+ sure it also won't be introduced undetected in the future.
|
|
|
|
|
|
- Closes #7328
|
|
|
- Assisted-by: Daniel Gustafsson
|
|
|
+ Closes #7610
|
|
|
|
|
|
-- lib: more %u for port and int for %*s fixes
|
|
|
+- curl-openssl.m4: show correct output for OpenSSL v3
|
|
|
|
|
|
- Detected by Coverity
|
|
|
+ Using 3.0.0 versions configure should now show this:
|
|
|
|
|
|
- Closes #7329
|
|
|
-
|
|
|
-- doh: (void)-prefix call to curl_easy_setopt
|
|
|
-
|
|
|
-- lib: fix type of len passed to *printf's %*s
|
|
|
+ checking for OpenSSL headers version... 3.0.0 - 0x300
|
|
|
+ checking for OpenSSL library version... 3.0.0
|
|
|
+ checking for OpenSSL headers and library versions matching... yes
|
|
|
|
|
|
- ... it needs to be 'int'. Detected by Coverity CID 1486611 (etc)
|
|
|
+ This output doesn't actually change what configure generates but is only
|
|
|
+ "cosmetic".
|
|
|
|
|
|
- Closes #7326
|
|
|
+ Reported-by: Randall S. Becker
|
|
|
+ Fixes #7606
|
|
|
+ Closes #7608
|
|
|
|
|
|
-- lib: use %u instead of %ld for port number printf
|
|
|
+Jay Satiro (22 Aug 2021)
|
|
|
+- mksymbolsmanpage.pl: Fix showing symbol's last used version
|
|
|
|
|
|
- Follow-up to 764c6bd3bf which changed the type of some port number
|
|
|
- fields. Detected by Coverity (CID 1486624) etc.
|
|
|
+ Prior to this change the symbol's deprecated version was erroneously
|
|
|
+ shown as its last used version.
|
|
|
|
|
|
- Closes #7325
|
|
|
+ Bug: https://github.com/curl/curl/commit/4e53b94#commitcomment-55239509
|
|
|
+ Reported-by: i-ky@users.noreply.github.com
|
|
|
|
|
|
-- version: turn version number functions into returning void
|
|
|
+Daniel Stenberg (21 Aug 2021)
|
|
|
+- mksymbolsmanpage.pl: match symbols case insenitively
|
|
|
|
|
|
- ... as we never use the return codes from them.
|
|
|
+ Follow-up to 4e53b9430c750 which made this bug show.
|
|
|
|
|
|
- Reviewed-by: Daniel Gustafsson
|
|
|
- Closes #7319
|
|
|
+ Reported-by: i-ky
|
|
|
+ Bug: https://github.com/curl/curl/commit/4e53b9430c7504de8984796e2a2091ec16f27136#commitcomment-55239253
|
|
|
+ Closes #7607
|
|
|
|
|
|
-- mqtt: extend the error message for no topic
|
|
|
+- asyn-ares: call ares_freeaddrinfo() to clean up addrinfo results
|
|
|
|
|
|
- ... and mention that it needs URL encoding.
|
|
|
+ As this leaks memory otherwise
|
|
|
|
|
|
- Reported-by: Peter Körner
|
|
|
- Fixes #7316
|
|
|
- Closes #7317
|
|
|
+ Follow-up to ba904db0705c931
|
|
|
+
|
|
|
+ Closes #7599
|
|
|
|
|
|
-- formdata: correct typecast in curl_mime_data call
|
|
|
+- [Ehren Bendler brought this change]
|
|
|
+
|
|
|
+ wolfssl: clean up wolfcrypt error queue
|
|
|
|
|
|
- Coverity pointed out it the mismatch. CID 1486590
|
|
|
+ If wolfSSL is built in certain ways (OPENSSL_EXTRA or Debug), the error
|
|
|
+ queue gets added on to for each session and never freed. Fix it by
|
|
|
+ calling ERR_clear_error() like in vtls/openssl when needed. This func is
|
|
|
+ a no-op in wolfcrypt if the error queue is not enabled.
|
|
|
|
|
|
- Closes #7327
|
|
|
+ Closes #7594
|
|
|
|
|
|
-- url: (void)-prefix a curl_url_get() call
|
|
|
+- man pages: remove trailing whitespaces
|
|
|
|
|
|
- Coverity (CID 1486645) pointed out a use of curl_url_get() in the
|
|
|
- parse_proxy function where the return code wasn't checked. A
|
|
|
- (void)-prefix makes the intention obvious.
|
|
|
+ Extended test 1173 (via the manpage-syntax.pl script) to detect and warn
|
|
|
+ for them.
|
|
|
|
|
|
- Closes #7320
|
|
|
+ Ref: #7602
|
|
|
+ Reported-by: a1346054 on github
|
|
|
+ Closes #7604
|
|
|
|
|
|
-- glob: pass an 'int' as len when using printf's %*s
|
|
|
-
|
|
|
- Detected by Coverity CID 1486629.
|
|
|
-
|
|
|
- Closes #7324
|
|
|
+- mailmap: add Gleb Ivanovsky
|
|
|
|
|
|
-- vtls: use free() not curl_free()
|
|
|
-
|
|
|
- curl_free() is provided for users of the API to free returned data,
|
|
|
- there's no need to use it internally.
|
|
|
+- config.d: escape the backslash properly
|
|
|
|
|
|
- Closes #7318
|
|
|
+ Closes #7603
|
|
|
|
|
|
-- zuul: use the new rustls directory name
|
|
|
-
|
|
|
- Follow-up to 6d972c8b1cbb3 which missed updating this directory name.
|
|
|
-
|
|
|
- Also no longer call it crustls in the docs and bump to rusttls-ffi 0.7.1
|
|
|
-
|
|
|
- Closes #7311
|
|
|
+- [Don J Olmstead brought this change]
|
|
|
|
|
|
-Jay Satiro (29 Jun 2021)
|
|
|
-- http: fix crash in rate-limited upload
|
|
|
+ curl_setup.h: sync values for HTTP_ONLY
|
|
|
|
|
|
- - Don't set the size of the piece of data to send to the rate limit if
|
|
|
- that limit is larger than the buffer size that will hold the piece.
|
|
|
+ The values for HTTP_ONLY differed between CMakeLists.txt and
|
|
|
+ curl_setup.h. Sync them and sort the values in curl_setup.h to make it
|
|
|
+ easier to spot differences.
|
|
|
|
|
|
- Prior to this change if CURLOPT_MAX_SEND_SPEED_LARGE
|
|
|
- (curl tool: --limit-rate) was set then it was possible that a temporary
|
|
|
- buffer used for uploading could be written to out of bounds. A likely
|
|
|
- scenario for this would be a non-trivial amount of post data combined
|
|
|
- with a rate limit larger than CURLOPT_UPLOAD_BUFFERSIZE (default 64k).
|
|
|
+ Closes #7601
|
|
|
+
|
|
|
+Jay Satiro (21 Aug 2021)
|
|
|
+- configure: set classic mingw minimum OS version to XP
|
|
|
|
|
|
- The bug was introduced in 24e469f which is in releases since 7.76.0.
|
|
|
+ - If the user has not specified a minimum OS version (via WINVER or
|
|
|
+ _WIN32_WINNT macros) then set it to Windows XP.
|
|
|
|
|
|
- perl -e "print '0' x 200000" > tmp
|
|
|
- curl --limit-rate 128k -d @tmp httpbin.org/post
|
|
|
+ Prior to this change classic MinGW defaulted the minimum OS version
|
|
|
+ to Windows NT 4.0 which is way too old. At least Windows XP is needed
|
|
|
+ for getaddrinfo (which resolves hostnames to IPv6 addresses).
|
|
|
|
|
|
- Reported-by: Richard Marion
|
|
|
+ Ref: https://github.com/curl/curl/issues/7483#issuecomment-891597034
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/7308
|
|
|
- Closes https://github.com/curl/curl/pull/7315
|
|
|
+ Closes https://github.com/curl/curl/pull/7581
|
|
|
|
|
|
-Daniel Stenberg (29 Jun 2021)
|
|
|
-- copyright: add boiler-plate headers to CI config files
|
|
|
+- schannel: Work around typo in classic mingw macro
|
|
|
|
|
|
- And whitelist .zuul.ignore
|
|
|
+ - Define ALG_CLASS_DHASH (the typo from the include) to ALG_CLASS_HASH.
|
|
|
|
|
|
- Closes #7314
|
|
|
-
|
|
|
-- CI: remove travis details
|
|
|
+ Prior to this change there was an incomplete fix to ignore the
|
|
|
+ CALG_TLS1PRF macro on those versions of MinGW where it uses the
|
|
|
+ ALG_CLASS_DHASH typoed macro.
|
|
|
|
|
|
- Rename still used leftovers to "zuul" as that's now the CI using them.
|
|
|
+ Ref: 48cf45c
|
|
|
+ Ref: https://osdn.net/projects/mingw/ticket/38391
|
|
|
+ Ref: https://github.com/curl/curl/issues/2924
|
|
|
|
|
|
- Closes #7313
|
|
|
+ Closes https://github.com/curl/curl/pull/7580
|
|
|
|
|
|
+Daniel Stenberg (20 Aug 2021)
|
|
|
- RELEASE-NOTES: synced
|
|
|
|
|
|
-- openssl: avoid static variable for seed flag
|
|
|
+- http_proxy: fix user-agent and custom headers for CONNECT with hyper
|
|
|
|
|
|
- Avoid the race condition risk by instead storing the "seeded" flag in
|
|
|
- the multi handle. Modern OpenSSL versions handle the seeding itself so
|
|
|
- doing the seeding once per multi-handle instead of once per process is
|
|
|
- less of an issue.
|
|
|
+ Enable test 287
|
|
|
|
|
|
- Reported-by: Gerrit Renker
|
|
|
- Fixes #7296
|
|
|
- Closes #7306
|
|
|
+ Closes #7598
|
|
|
|
|
|
-- configure: inhibit the implicit-fallthrough warning on gcc-12
|
|
|
+- c-hyper: initial support for "dumping" 1xx HTTP responses
|
|
|
|
|
|
- ... since it no longer acknowledges the comment markup we use for that
|
|
|
- purpose.
|
|
|
+ With the use hyper_request_on_informational()
|
|
|
|
|
|
- Reported-by: Younes El-karama
|
|
|
- Fixes #7295
|
|
|
- Closes #7307
|
|
|
+ Enable test 155 and 158
|
|
|
+
|
|
|
+ Closes #7597
|
|
|
|
|
|
-Daniel Gustafsson (28 Jun 2021)
|
|
|
-- [Andrei Rybak brought this change]
|
|
|
+Marc Hoersken (18 Aug 2021)
|
|
|
+- tests/*server.pl: flush output before executing subprocess
|
|
|
+
|
|
|
+ Also avoid shell processes staying around by using exec.
|
|
|
+ This is necessary to avoid output data being buffering
|
|
|
+ inside the process chain of Perl, Bash/Shell and our
|
|
|
+ test server binaries. On non-Windows systems the exec
|
|
|
+ will also make the subprocess replace the intermediate
|
|
|
+ shell, but on Windows it will at least bind the processes
|
|
|
+ together since there is no real fork or exec available.
|
|
|
+
|
|
|
+ See: https://cygwin.com/cygwin-ug-net/highlights.html
|
|
|
+ and: https://docs.microsoft.com/cpp/c-runtime-library/exec-wexec-functions
|
|
|
+ Ref: https://github.com/curl/curl/pull/7530#issuecomment-900949010
|
|
|
+
|
|
|
+ Reviewed-by: Daniel Stenberg
|
|
|
+ Reviewed-by: Jay Satiro
|
|
|
+ Closes #7530
|
|
|
|
|
|
- misc: fix typos in comments which repeat a word
|
|
|
+- CI: use GitHub Container Registry instead of Docker Hub
|
|
|
|
|
|
- Fix typos in code comments which repeat various words. In trivial
|
|
|
- cases, just delete the repeated word. Reword the affected sentence in
|
|
|
- "lib/url.c" for it to make sense.
|
|
|
+ Avoid limits on Docker Hub and improve image pull/download speed.
|
|
|
|
|
|
- Closes #7303
|
|
|
- Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
|
|
|
+ Closes #7587
|
|
|
|
|
|
-Daniel Stenberg (27 Jun 2021)
|
|
|
-- lib677: make it survive torture testing
|
|
|
+Daniel Stenberg (18 Aug 2021)
|
|
|
+- openssl: when creating a new context, there cannot be an old one
|
|
|
|
|
|
- Follow-up to a5ab72d5edd7
|
|
|
+ Remove the previous handling that would call SSL_CTX_free(), and instead
|
|
|
+ add an assert that halts a debug build if there ever is a context
|
|
|
+ already set at this point.
|
|
|
|
|
|
- Closes #7300
|
|
|
+ Closes #7585
|
|
|
|
|
|
-- [Tommy Chiang brought this change]
|
|
|
+Jay Satiro (18 Aug 2021)
|
|
|
+- KNOWN_BUGS: Renegotiate from server may cause hang for OpenSSL backend
|
|
|
+
|
|
|
+ Closes https://github.com/curl/curl/issues/6785
|
|
|
|
|
|
- docs/BINDINGS: fix outdated links
|
|
|
+Viktor Szakats (17 Aug 2021)
|
|
|
+- docs/BINDINGS: URL update
|
|
|
+
|
|
|
+Marc Hoersken (17 Aug 2021)
|
|
|
+- tests/server/*.c: align handling of portfile argument and file
|
|
|
|
|
|
- * luacurl page is now not accessible, fix it with wayback machine page
|
|
|
- * Scheme one seems not providing https now, change it back to http one
|
|
|
+ 1. Call the internal variable portname (like pidname) everywhere.
|
|
|
+ 2. Have a variable wroteportfile (like wrotepidfile) everywhere.
|
|
|
+ 3. Make sure the file is cleaned up on exit (like pidfile).
|
|
|
+ 4. Add parameter --portfile to usage outputs everywhere.
|
|
|
|
|
|
- Closes #7301
|
|
|
+ Reviewed-by: Daniel Stenberg
|
|
|
+
|
|
|
+ Replaces #7523
|
|
|
+ Closes #7574
|
|
|
|
|
|
-- [Jacob Hoffman-Andrews brought this change]
|
|
|
+Daniel Gustafsson (17 Aug 2021)
|
|
|
+- KNOWN_BUGS: Fix a number of typos in KNOWN_BUGS
|
|
|
+
|
|
|
+ Fixes a set of typos found in section 11.3.
|
|
|
|
|
|
- curstls: bump crustls version and use new URL
|
|
|
+Daniel Stenberg (17 Aug 2021)
|
|
|
+- getparameter: fix the --local-port number parser
|
|
|
|
|
|
- crustls moved to https://github.com/rustls/rustls-ffi. This also bumps
|
|
|
- the expected version to 0.7.0.
|
|
|
+ It could previously get tricked into parsing the uninitialized stack
|
|
|
+ based buffer.
|
|
|
|
|
|
- Closes #7297
|
|
|
+ Reported-by: Brian Carpenter
|
|
|
+ Closes #7582
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+- KNOWN_BUGS: Can't use Secure Transport with Crypto Token Kit
|
|
|
+
|
|
|
+ Closes #7048
|
|
|
|
|
|
-- examples: length-limit two sscanf() uses of %s
|
|
|
+- [Jan Verbeek brought this change]
|
|
|
+
|
|
|
+ curl: add warning for ignored data after quoted form parameter
|
|
|
|
|
|
- Reported-by: Jishan Shaikh
|
|
|
- Fixes #7293
|
|
|
- Closes #7294
|
|
|
+ In an argument like `-F 'x=@/etc/hostname;filename="foo"abc'` the `abc`
|
|
|
+ is ignored. This adds a warning if the ignored data isn't all
|
|
|
+ whitespace.
|
|
|
+
|
|
|
+ Closes #7394
|
|
|
|
|
|
-- [Richard Whitehouse brought this change]
|
|
|
+Jay Satiro (17 Aug 2021)
|
|
|
+- codeql: fix error "Resource not accessible by integration"
|
|
|
+
|
|
|
+ - Enable codeql writing security-events.
|
|
|
+
|
|
|
+ GitHub set the default permissions to read, apparently since earlier
|
|
|
+ this year.
|
|
|
+
|
|
|
+ Ref: https://github.com/github/codeql-action/issues/464
|
|
|
+ Ref: https://github.blog/changelog/2021-04-20-github-actions-control-permissions-for-github_token/
|
|
|
+
|
|
|
+ Fixes https://github.com/curl/curl/issues/7575
|
|
|
+ Closes https://github.com/curl/curl/pull/7576
|
|
|
|
|
|
- multi: alter transfer timeout ordering
|
|
|
+- tool_operate: Fix --fail-early with parallel transfers
|
|
|
|
|
|
- - Check whether a connection has succeded before checking whether it's
|
|
|
- timed out.
|
|
|
+ - Abort via progress callback to fail early during parallel transfers.
|
|
|
|
|
|
- This means if we've connected quickly, but subsequently been
|
|
|
- descheduled, we allow the connection to succeed. Note, if we timeout,
|
|
|
- but between checking the timeout, and connecting to the server the
|
|
|
- connection succeeds, we will allow it to go ahead. This is viewed as
|
|
|
- an acceptable trade off.
|
|
|
+ When a critical error occurs during a transfer (eg --fail-early
|
|
|
+ constraint) then other running transfers will be aborted via progress
|
|
|
+ callback and finish with error CURLE_ABORTED_BY_CALLBACK (42). In this
|
|
|
+ case, the callback error does not become the most recent error and a
|
|
|
+ custom error message is used for those transfers:
|
|
|
|
|
|
- - Add additional failf logging around failed connection attempts to
|
|
|
- propogate the cause up to the caller.
|
|
|
+ curld --fail --fail-early --parallel
|
|
|
+ https://httpbin.org/status/404 https://httpbin.org/delay/10
|
|
|
|
|
|
- Co-Authored-by: Martin Howarth
|
|
|
- Closes #7178
|
|
|
+ curl: (22) The requested URL returned error: 404
|
|
|
+ curl: (42) Transfer aborted due to critical error in another transfer
|
|
|
+
|
|
|
+ > echo %ERRORLEVEL%
|
|
|
+ 22
|
|
|
+
|
|
|
+ Fixes https://github.com/curl/curl/issues/6939
|
|
|
+ Closes https://github.com/curl/curl/pull/6984
|
|
|
|
|
|
-- test677: IMAP CONNECT_ONLY, custom command and then exit
|
|
|
+Daniel Stenberg (17 Aug 2021)
|
|
|
+- [Sergey Markelov brought this change]
|
|
|
+
|
|
|
+ sectransp: support CURLINFO_CERTINFO
|
|
|
|
|
|
- Adjusted ftpserver.pl to add support for the IMAP IDLE command
|
|
|
+ Fixes #4130
|
|
|
+ Closes #7372
|
|
|
+
|
|
|
+- ngtcp2: remove the acked_crypto_offset struct field init
|
|
|
|
|
|
- Adjusted test 660 to sync with the fix
|
|
|
+ ... as it is gone from the API upstream.
|
|
|
+
|
|
|
+ Closes #7578
|
|
|
|
|
|
-- multi: do not switch off connect_only flag when closing
|
|
|
+- misc: update incorrect copyright year ranges
|
|
|
|
|
|
- ... as it made protocol specific disconnect commands wrongly get used.
|
|
|
+ Closes #7577
|
|
|
+
|
|
|
+- KNOWN_BUGS: HTTP/3 quiche upload large file fails
|
|
|
|
|
|
- Bug: https://curl.se/mail/lib-2021-06/0024.html
|
|
|
- Reported-by: Aleksander Mazur
|
|
|
- Closes #7288
|
|
|
+ Closes #7532
|
|
|
|
|
|
-- http: make the haproxy support work with unix domain sockets
|
|
|
+- KNOWN_BUGS: CMake build with MIT Kerberos does not work
|
|
|
|
|
|
- ... it should then pass on "PROXY UNKNOWN" since it doesn't know the
|
|
|
- involved IP addresses.
|
|
|
+ Closes #6904
|
|
|
+
|
|
|
+- TODO: add asynch getaddrinfo support
|
|
|
|
|
|
- Reported-by: Valentín Gutiérrez
|
|
|
- Fixes #7290
|
|
|
- Closes #7291
|
|
|
+ Closes #6746
|
|
|
|
|
|
-- [Xiang Xiao brought this change]
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- curl.h: include sys/select.h for NuttX RTOS
|
|
|
+- [Artur Sinila brought this change]
|
|
|
+
|
|
|
+ http2: revert call the handle-closed function correctly on closed stream
|
|
|
|
|
|
- Closes #7287
|
|
|
+ Reverts 252790c5335a221
|
|
|
+
|
|
|
+ Assisted-by: Gergely Nagy
|
|
|
+ Fixes #7400
|
|
|
+ Closes #7525
|
|
|
|
|
|
-- [Bin Meng brought this change]
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
|
|
|
- curl.h: remove the execution bit
|
|
|
+ auth: do not append zero-terminator to authorisation id in kerberos
|
|
|
|
|
|
- The execution bit of curl.h file was wrongly added:
|
|
|
+ RFC4752 Section 3.1 states "The authorization identity is not terminated
|
|
|
+ with a zero-valued (%x00) octet". Although a comment in code said it may
|
|
|
+ be needed anyway, nothing confirms it. In addition, servers may consider
|
|
|
+ it as part of the identity, causing a failure.
|
|
|
|
|
|
- commit 2621025d6f96 ("curl.h: <sys/select.h> is supported by VxWorks7")
|
|
|
+ Closes #7008
|
|
|
+
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
+
|
|
|
+ auth: use sasl authzid option in kerberos
|
|
|
|
|
|
- and should be removed.
|
|
|
+ ... instead of deriving it from active ticket.
|
|
|
+ Closes #7008
|
|
|
+
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
+
|
|
|
+ auth: we do not support a security layer after kerberos authentication
|
|
|
|
|
|
- Follow-up to 2621025d6f96 ("curl.h: <sys/select.h> is supported by VxWorks7")
|
|
|
- Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
|
|
|
- Closes #7286
|
|
|
+ Closes #7008
|
|
|
|
|
|
-- [Bin Lan brought this change]
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
|
|
|
- curl.h: <sys/select.h> is supported by VxWorks7
|
|
|
+ auth: properly handle byte order in kerberos security message
|
|
|
|
|
|
- Closes #7285
|
|
|
+ Closes #7008
|
|
|
|
|
|
-- [Bachue Zhou brought this change]
|
|
|
+- [z2_ brought this change]
|
|
|
|
|
|
- quiche: use send() instead of sendto() to avoid macOS issue
|
|
|
+ x509asn1: fix heap over-read when parsing x509 certificates
|
|
|
|
|
|
- sendto() always returns "Socket is already connected" error on macos
|
|
|
+ Assisted-by: Patrick Monnerat
|
|
|
+ Closes #7536
|
|
|
+
|
|
|
+- KNOWN_BUGS: Disconnects don't do verbose
|
|
|
|
|
|
- Closes #7260
|
|
|
+ Closes #6995
|
|
|
|
|
|
-- [Li Xinwei brought this change]
|
|
|
+- mailmap: fixup Michał Antoniak
|
|
|
|
|
|
- cmake: fix support for UnixSockets feature on Win32
|
|
|
+- [Michał Antoniak brought this change]
|
|
|
+
|
|
|
+ build: fix compiler warnings
|
|
|
|
|
|
- Move the definition of sockaddr_un struct from config-win32.h to
|
|
|
- curl_setup.h, so that it could be shared by all build systems.
|
|
|
+ For when CURL_DISABLE_VERBOSE_STRINGS and DEBUGBUILD flags are both
|
|
|
+ active.
|
|
|
|
|
|
- Add ADDRESS_FAMILY typedef for old mingw, now old mingw can also use
|
|
|
- unix sockets.
|
|
|
+ - socks.c : warning C4100: 'lineno': unreferenced formal parameter
|
|
|
+ (co-authored by Daniel Stenberg)
|
|
|
|
|
|
- Also fix the build of tests/server/sws.c on Win32 when USE_UNIX_SOCKETS
|
|
|
- is defined.
|
|
|
+ - mbedtls.c: warning C4189: 'port': local variable is initialized but
|
|
|
+ not referenced
|
|
|
|
|
|
- Closes #7034
|
|
|
+ - schannel.c: warning C4189: 'hostname': local variable is initialized
|
|
|
+ but not referenced
|
|
|
+
|
|
|
+ Cloes #7528
|
|
|
|
|
|
-- [Gregory Muchka brought this change]
|
|
|
+- [Gleb Ivanovsky brought this change]
|
|
|
|
|
|
- hostip: (macOS) free returned memory of SCDynamicStoreCopyProxies
|
|
|
-
|
|
|
- From Apples documentation on SCDynamicStoreCopyProxies, "Return Value: A
|
|
|
- dictionary of key-value pairs that represent the current internet proxy
|
|
|
- settings, or NULL if no proxy settings have been defined or if an error
|
|
|
- occurred. You must release the returned value."
|
|
|
+ CODE_STYLE-md: fix bold font style
|
|
|
|
|
|
- Failure to release the returned value of SCDynamicStoreCopyProxies can
|
|
|
- result in a memory leak.
|
|
|
-
|
|
|
- Source: https://developer.apple.com/documentation/systemconfiguration/1517088-scdynamicstorecopyproxies
|
|
|
+ Markdown gets confused with abundance of asterisks, so use underscores
|
|
|
+ instead.
|
|
|
|
|
|
- Closes #7265
|
|
|
+ Reviewed-by: Daniel Gustafsson
|
|
|
+ Closes #7569
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+- [Gleb Ivanovsky brought this change]
|
|
|
|
|
|
-Jay Satiro (21 Jun 2021)
|
|
|
-- vtls: fix warning due to function prototype mismatch
|
|
|
+ CODE_STYLE-md: add missing comma
|
|
|
|
|
|
- b09c8ee changed the function prototype. Caught by Visual Studio.
|
|
|
+ Reviewed-by: Daniel Gustafsson
|
|
|
+ Closes #7570
|
|
|
|
|
|
-- curl_multibyte: Remove local encoding fallbacks
|
|
|
+- [Daniel Gustafsson brought this change]
|
|
|
+
|
|
|
+ examples/ephiperfifo.c: simplify signal handler
|
|
|
|
|
|
- - If the UTF-8 to UTF-16 conversion fails in Windows Unicode builds then
|
|
|
- no longer fall back to assuming the string is in a local encoding.
|
|
|
+ The signal handler registered for SIGINT is only handling SIGINT
|
|
|
+ so there isn't much need for inspecting the signo. While there,
|
|
|
+ rename the handler to be more specific.
|
|
|
|
|
|
- Background:
|
|
|
+ g_should_exit should really be of sig_atomic_t type, but relying
|
|
|
+ on autoconf in the examples seems like a bad idea so keep that
|
|
|
+ for now.
|
|
|
|
|
|
- Some functions in Windows Unicode builds must convert UTF-8 to UTF-16 to
|
|
|
- pass to the Windows CRT API wide-character functions since in Windows
|
|
|
- UTF-8 is not a valid locale (or at least 99% of the time right now).
|
|
|
+ Reviewed-by: Daniel Stenberg
|
|
|
+ Closes #7310
|
|
|
+
|
|
|
+- c-hyper: initial step for 100-continue support
|
|
|
|
|
|
- Prior to this change if the Unicode encoding conversion failed then
|
|
|
- libcurl would assume, for backwards compatibility with applications that
|
|
|
- may have written their code for non-Unicode builds, attempt to convert
|
|
|
- the string from local encoding to UTF-16.
|
|
|
+ Enabled test 154
|
|
|
|
|
|
- That type of "best effort" could theoretically cause some type of
|
|
|
- security or other problem if a string that was locally encoded was also
|
|
|
- valid UTF-8, and therefore an unexpected UTF-8 to UTF-16 conversion
|
|
|
- could occur.
|
|
|
+ Closes #7568
|
|
|
+
|
|
|
+- [Ikko Ashimine brought this change]
|
|
|
+
|
|
|
+ vtls: fix typo in schannel_verify.c
|
|
|
|
|
|
- Ref: https://github.com/curl/curl/pull/7246
|
|
|
+ occurence -> occurrence
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/7257
|
|
|
+ Closes #7566
|
|
|
|
|
|
-Daniel Stenberg (20 Jun 2021)
|
|
|
-- curl_endian: remove the unused Curl_write64_le function
|
|
|
+- [Emil Engler brought this change]
|
|
|
+
|
|
|
+ curl_url_get.3: clarify about path and query
|
|
|
|
|
|
- The last usage was removed in cca455a36
|
|
|
+ The current man-page lacks some details regarding the obtained path and
|
|
|
+ query.
|
|
|
|
|
|
- Closes #7280
|
|
|
+ Closes #7563
|
|
|
|
|
|
-- vtls: only store TIMER_APPCONNECT for non-proxy connect
|
|
|
-
|
|
|
- Introducing a 'isproxy' argument to the connect function so that it
|
|
|
- knows wether to store the time stamp or not.
|
|
|
+- c-hyper: fix header value passed to debug callback
|
|
|
|
|
|
- Reported-by: Yongkang Huang
|
|
|
- Fixes #7274
|
|
|
- Closes #7274
|
|
|
+ Closes #7567
|
|
|
|
|
|
-- gnutls: set the preferred TLS versions in correct order
|
|
|
+Viktor Szakats (12 Aug 2021)
|
|
|
+- cleanup: URL updates
|
|
|
|
|
|
- Regression since 781864bedbc57 (curl 7.77.0)
|
|
|
+ - replace broken URL with the one it was most probably pointing to
|
|
|
+ when added (lib/tftp.c)
|
|
|
+ - replace broken URL with archive.org link (lib/curl_ntlm_wb.c)
|
|
|
+ - delete unnecessary protocol designator from archive.org URL
|
|
|
+ (docs/BINDINGS.md)
|
|
|
|
|
|
- Reported-by: civodul on github
|
|
|
- Assisted-by: Nikos Mavrogiannopoulos
|
|
|
- Fixes #7277
|
|
|
- Closes #7278
|
|
|
+ Closes #7562
|
|
|
|
|
|
-- [Gergely Nagy brought this change]
|
|
|
+Daniel Stenberg (12 Aug 2021)
|
|
|
+- [April King brought this change]
|
|
|
|
|
|
- configure/cmake: remove checks for unused gethostbyaddr and gethostbyaddr_r
|
|
|
+ DEPRECATE.md: linkify curl-library mailing list
|
|
|
|
|
|
- Closes #7276
|
|
|
+ Closes #7561
|
|
|
|
|
|
-- [Gergely Nagy brought this change]
|
|
|
+- [Barry Pollard brought this change]
|
|
|
|
|
|
- configure/cmake: remove checks for unused inet_ntoa and inet_ntoa_r
|
|
|
+ output.d: add method to suppress response bodies
|
|
|
|
|
|
- Closes #7276
|
|
|
+ Closes #7560
|
|
|
|
|
|
-- [Gergely Nagy brought this change]
|
|
|
-
|
|
|
- configure/cmake: remove unused define HAVE_PERROR
|
|
|
+- TODO: remove 'c-ares deviates on http://1346569778'
|
|
|
|
|
|
- Closes #7276
|
|
|
+ Fixed since 56a037cc0ad1b2 (7.77.0)
|
|
|
|
|
|
-- [Gergely Nagy brought this change]
|
|
|
+- [Colin O'Dell brought this change]
|
|
|
|
|
|
- configure: remove unused check for gai_strerror
|
|
|
+ BINDINGS.md: update links to use https where available
|
|
|
|
|
|
- Closes #7276
|
|
|
-
|
|
|
-- [Gergely Nagy brought this change]
|
|
|
+ Closes #7558
|
|
|
|
|
|
- configure/cmake: remove unused define HAVE_FREEIFADDRS
|
|
|
+- asyn-ares.c: move all version number checks to the top
|
|
|
|
|
|
- Closes #7276
|
|
|
-
|
|
|
-- [Gergely Nagy brought this change]
|
|
|
+ ... and use #ifdef [feature] in the code as per our guidelines.
|
|
|
|
|
|
- configure/cmake: remove unused define HAVE_FORK
|
|
|
+- ares: use ares_getaddrinfo()
|
|
|
|
|
|
- Closes #7276
|
|
|
-
|
|
|
-- [Gergely Nagy brought this change]
|
|
|
-
|
|
|
- configure/cmake: remove unused define HAVE_FDOPEN
|
|
|
+ ares_getaddrinfo() is the getaddrinfo() cloned provided by c-ares, introduced
|
|
|
+ in version 1.16.0.
|
|
|
|
|
|
- Closes #7276
|
|
|
-
|
|
|
-- [Gergely Nagy brought this change]
|
|
|
-
|
|
|
- configure/cmake: remove checks for unused sgtty.h
|
|
|
+ With older c-ares versions, curl invokes ares_gethostbyname() twice - once for
|
|
|
+ IPv4 and once for IPv6 to resolve both addresses, and then combines the
|
|
|
+ returned results.
|
|
|
|
|
|
- Closes #7276
|
|
|
+ Reported-by: jjandesmet
|
|
|
+ Fixes #7364
|
|
|
+ Closes #7552
|
|
|
|
|
|
-- [Gergely Nagy brought this change]
|
|
|
+- [Tatsuhiro Tsujikawa brought this change]
|
|
|
|
|
|
- configure/cmake: remove remaining checks for rsa.h
|
|
|
+ ngtcp2: utilize crypto API functions to simplify
|
|
|
|
|
|
- Closes #7276
|
|
|
+ Closes #7551
|
|
|
|
|
|
-- [Gergely Nagy brought this change]
|
|
|
+- [megatronking brought this change]
|
|
|
|
|
|
- configure/cmake: remove remaining checks for err.h
|
|
|
+ ngtcp2: reset the oustanding send buffer again when drained
|
|
|
|
|
|
- Closes #7276
|
|
|
+ Closes #7538
|
|
|
|
|
|
-- [Gergely Nagy brought this change]
|
|
|
-
|
|
|
- configure/cmake: remove remaining checks for crypto.h
|
|
|
+Michael Kaufmann (10 Aug 2021)
|
|
|
+- progress: fix a compile warning on some systems
|
|
|
|
|
|
- Closes #7276
|
|
|
+ lib/progress.c:380:40: warning: conversion to 'long double' from
|
|
|
+ 'curl_off_t {aka long long int}' may alter its value [-Wconversion]
|
|
|
+
|
|
|
+ Closes #7549
|
|
|
|
|
|
-- [Gergely Nagy brought this change]
|
|
|
+Daniel Stenberg (10 Aug 2021)
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- configure/cmake: remove checks for unused getservbyport_r
|
|
|
+- http: consider cookies over localhost to be secure
|
|
|
|
|
|
- Closes #7276
|
|
|
+ Updated test31.
|
|
|
+ Added test 392 to verify secure cookies used for http://localhost
|
|
|
+
|
|
|
+ Reviewed-by: Daniel Gustafsson
|
|
|
+ Fixes #6733
|
|
|
+ Closes #7263
|
|
|
|
|
|
-- --socks4[a]: clarify where the host name is resolved
|
|
|
+- TODO: erase secrets from heap/stack after use
|
|
|
|
|
|
- Closes #7273
|
|
|
+ Closes #7268
|
|
|
|
|
|
-- libcurl-security.3: mention file descriptors and forks
|
|
|
+Jay Satiro (10 Aug 2021)
|
|
|
+- hostip: Make Curl_ipv6works function independent of getaddrinfo
|
|
|
|
|
|
- ... and move the security report section last.
|
|
|
+ - Do not assume IPv6 is not working when getaddrinfo is not present.
|
|
|
|
|
|
- Reported-by: Harry Sintonen
|
|
|
- Closes #7270
|
|
|
-
|
|
|
-- [Alex Xu (Hello71) brought this change]
|
|
|
-
|
|
|
- configure.ac: make non-executable
|
|
|
+ The check to see if IPv6 actually works is now independent of whether
|
|
|
+ there is any resolver that can potentially resolve a hostname to IPv6.
|
|
|
|
|
|
- it needs to be processed by autoconf or autoreconf, and doesn't have a
|
|
|
- suitable shebang to be directly executed. other projects normally set
|
|
|
- configure.ac -x.
|
|
|
+ Prior to this change if getaddrinfo() was not found at compile time then
|
|
|
+ Curl_ipv6works() would be defined as a macro that returns FALSE.
|
|
|
|
|
|
- Closes #7272
|
|
|
-
|
|
|
-- configure: do not strip out debug flags
|
|
|
+ When getaddrinfo is not found then libcurl is built with CURLRES_IPV4
|
|
|
+ defined instead of CURLRES_IPV6, meaning that it cannot do IPv6 lookups
|
|
|
+ in the traditional way. With this commit if libcurl is built with IPv6
|
|
|
+ support (ENABLE_IPV6) but without getaddrinfo (CURLRES_IPV6), and the
|
|
|
+ IPv6 stack is actually working, then it is possible for libcurl to
|
|
|
+ resolve IPv6 addresses by using DoH.
|
|
|
|
|
|
- To allow users to set them when invoking configure without using
|
|
|
- --with-debug.
|
|
|
+ Ref: https://github.com/curl/curl/issues/7483#issuecomment-890765378
|
|
|
|
|
|
- Reported-by: Alex Xu
|
|
|
- Fixes #7216
|
|
|
- Closes #7267
|
|
|
+ Closes https://github.com/curl/curl/pull/7529
|
|
|
|
|
|
-- libssh2: limit time a disconnect can take to 1 second
|
|
|
+- test1565: fix windows build errors
|
|
|
|
|
|
- Closes #7271
|
|
|
-
|
|
|
-- TLS: prevent shutdown loops to get stuck
|
|
|
+ - Use our wait_ms() instead of sleep() since Windows doesn't have the
|
|
|
+ latter.
|
|
|
|
|
|
- ... by making sure the loops are only allowed to read the shutdown
|
|
|
- traffic a limited number of times.
|
|
|
+ - Use a separate variable to keep track of whether the pthread_t thread
|
|
|
+ id is valid.
|
|
|
|
|
|
- Reported-by: Harry Sintonen
|
|
|
- Closes #7271
|
|
|
+ On Windows pthread_t is not an integer type. pthread offers no macro for
|
|
|
+ invalid pthread_t thread id, so validity is kept track of separately.
|
|
|
+
|
|
|
+ Closes https://github.com/curl/curl/pull/7527
|
|
|
|
|
|
-- hyper: propagate errors back up from read callbacks
|
|
|
+- [Jeremy Falcon brought this change]
|
|
|
+
|
|
|
+ winbuild/README.md: clarify GEN_PDB option
|
|
|
|
|
|
- Makes test 513 work with hyper
|
|
|
+ - Document that GEN_PDB option creates an external database.
|
|
|
|
|
|
- Closes #7266
|
|
|
+ Ref: https://github.com/curl/curl/issues/7502
|
|
|
|
|
|
-- KNOWN_BUGS: Negotiate on Windows fails
|
|
|
-
|
|
|
- Closes #5881
|
|
|
+Daniel Stenberg (9 Aug 2021)
|
|
|
+- [Tatsuhiro Tsujikawa brought this change]
|
|
|
|
|
|
-- KNOWN_BUGS: renames instead of locking for atomic operations
|
|
|
+ ngtcp2: replace deprecated functions with nghttp3_conn_shutdown_stream_read
|
|
|
|
|
|
- Closes #6882
|
|
|
- Closes #6884
|
|
|
+ Closes #7546
|
|
|
|
|
|
-- zuul: add two missing CI jobs
|
|
|
+- [Tatsuhiro Tsujikawa brought this change]
|
|
|
+
|
|
|
+ ngtcp2: rework the return value handling of ngtcp2_conn_writev_stream
|
|
|
|
|
|
- ... that were configured, just not run
|
|
|
+ Rework the return value handling of ngtcp2_conn_writev_stream and treat
|
|
|
+ NGTCP2_ERR_STREAM_SHUT_WR separately.
|
|
|
|
|
|
- Closes #7261
|
|
|
+ Closes #7546
|
|
|
|
|
|
-Viktor Szakats (15 Jun 2021)
|
|
|
-- idn: fix libidn2 with windows unicode builds
|
|
|
-
|
|
|
- Unicode Windows builds use UTF-8 strings internally in libcurl,
|
|
|
- so make sure to call the UTF-8 flavour of the libidn2 API. Also
|
|
|
- document that Windows builds with libidn2 and UNICODE do expect
|
|
|
- CURLOPT_URL as an UTF-8 string.
|
|
|
+- configure: error out if both ngtcp2 and quiche are specified
|
|
|
|
|
|
- Reported-by: dEajL3kA on github
|
|
|
- Assisted-by: Jay Satiro
|
|
|
- Reviewed-by: Marcel Raad
|
|
|
- Closes #7246
|
|
|
- Fixes #7228
|
|
|
+ Reported-by: Vincent Grande
|
|
|
+ See #7539
|
|
|
+ Closes #7545
|
|
|
|
|
|
-Daniel Stenberg (15 Jun 2021)
|
|
|
-- curl_url_set: reject spaces in URLs w/o CURLU_ALLOW_SPACE
|
|
|
+- [Jeff Mears brought this change]
|
|
|
+
|
|
|
+ easy: use a custom implementation of wcsdup on Windows
|
|
|
|
|
|
- They were never officially allowed and slipped in only due to sloppy
|
|
|
- parsing. Spaces (ascii 32) should be correctly encoded (to %20) before
|
|
|
- being part of a URL.
|
|
|
+ ... so that malloc/free overrides from curl_global_init are used for
|
|
|
+ wcsdup correctly.
|
|
|
|
|
|
- The new flag bit CURLU_ALLOW_SPACE when a full URL is set, makes libcurl
|
|
|
- allow spaces.
|
|
|
+ Closes #7540
|
|
|
+
|
|
|
+- zuul: add an mbedtls3 CI job
|
|
|
|
|
|
- Updated test 1560 to verify.
|
|
|
+ Closes #7544
|
|
|
+
|
|
|
+- [Benau brought this change]
|
|
|
+
|
|
|
+ mbedTLS: initial 3.0.0 support
|
|
|
|
|
|
- Closes #7073
|
|
|
+ Closes #7428
|
|
|
|
|
|
- RELEASE-NOTES: synced
|
|
|
+
|
|
|
+- configure.ac: revert bad nghttp2 library detection improvements
|
|
|
|
|
|
- ... and bump to version 7.78.0 for the next planned release.
|
|
|
+ This reverts commit b4b34db65f9f8, 673753344c5f and 29c7cf79e8b.
|
|
|
+
|
|
|
+ The logic is now back to assuming that the nghttp2 lib is called nghttp2 and
|
|
|
+ nothing else.
|
|
|
+
|
|
|
+ Reported-by: Rui Pinheiro
|
|
|
+ Reported-by: Alex Crichton
|
|
|
+ Fixes #7514
|
|
|
+ Closes #7515
|
|
|
|
|
|
-Jay Satiro (15 Jun 2021)
|
|
|
-- docs: Remove outdated curl tool limitation
|
|
|
+- happy-eyeballs-timeout-ms.d: polish the wording
|
|
|
|
|
|
- - Document that HTTP/2 multiplexing is supported by the curl tool when
|
|
|
- parallel transfers are used.
|
|
|
+ Reported-by: Josh Soref
|
|
|
+ Fixes #7433
|
|
|
+ Closes #7542
|
|
|
+
|
|
|
+- [modbw brought this change]
|
|
|
+
|
|
|
+ mbedtls_threadlock: fix unused variable warning
|
|
|
|
|
|
- Supported since 7.66.0 via --parallel, but the doc wasn't updated.
|
|
|
+ Closes #7393
|
|
|
+
|
|
|
+- [Tatsuhiro Tsujikawa brought this change]
|
|
|
+
|
|
|
+ ngtcp2: compile with the latest ngtcp2 and nghttp3
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/7259
|
|
|
+ Closes #7541
|
|
|
|
|
|
-- http2: Clarify 'Using HTTP2' verbose message
|
|
|
+Marc Hoersken (31 Jul 2021)
|
|
|
+- CI/cirrus: reduce compile time with increased parallism
|
|
|
|
|
|
- - Change phrasing from multi-use to multiplexing since the former may
|
|
|
- not be as well understood.
|
|
|
+ Cirrus CI VMs have 2 CPUs, let's use them also for Windows builds.
|
|
|
|
|
|
- Before: * Using HTTP2, server supports multi-use
|
|
|
+ Reviewed-by: Daniel Stenberg
|
|
|
+ Closes #7505
|
|
|
+
|
|
|
+Daniel Stenberg (30 Jul 2021)
|
|
|
+- [Bin Lan brought this change]
|
|
|
+
|
|
|
+ tool/tests: fix potential year 2038 issues
|
|
|
|
|
|
- After: * Using HTTP2, server supports multiplexing
|
|
|
+ The length of 'long' in a 32-bit system is 32 bits, which cannot be used
|
|
|
+ to save timestamps after 2038. Most operating systems have extended
|
|
|
+ time_t to 64 bits.
|
|
|
|
|
|
- Bug: https://github.com/curl/curl/discussions/7255
|
|
|
- Reported-by: David Hu
|
|
|
+ Remove the castings to long.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/7258
|
|
|
+ Closes #7466
|
|
|
|
|
|
-Daniel Stenberg (14 Jun 2021)
|
|
|
-- winbuild/README: VC should be set to 6 'or larger'
|
|
|
+- compressed.d: it's a request, not an order
|
|
|
|
|
|
- Previously it listed all versions up to 15 (missing 16) but this new
|
|
|
- phrasing is more open ended.
|
|
|
+ Clarified
|
|
|
|
|
|
- Reported-by: Hugh Macdonald
|
|
|
- Fixes #7253
|
|
|
- Closes #7254
|
|
|
+ Reported-by: Dan Jacobson
|
|
|
+ Reviewed-by: Daniel Gustafsson
|
|
|
+ Fixes #7516
|
|
|
+ Closes #7517
|
|
|
|
|
|
-- [Jacob Hoffman-Andrews brought this change]
|
|
|
+- [Bernhard M. Wiedemann brought this change]
|
|
|
|
|
|
- rustls: remove native_roots fallback
|
|
|
+ tests: make three tests pass until 2037
|
|
|
|
|
|
- For the commandline tool, we expect to be passed
|
|
|
- SSL_CONN_CONFIG(CAfile); for library use, the use should pass a set of
|
|
|
- trusted roots (like in other TLS backends).
|
|
|
+ after 2038 something in test1915 fails on 32-bit OSes
|
|
|
|
|
|
- This also removes a dependency on Security.framework when building on
|
|
|
- macOS.
|
|
|
+ Closes #7512
|
|
|
+
|
|
|
+Daniel Gustafsson (30 Jul 2021)
|
|
|
+- connect: remove superfluous conditional
|
|
|
|
|
|
- Closes #7250
|
|
|
+ Commit dbd16c3e2 cleaned up the logic for traversing the addrinfos,
|
|
|
+ but the move left a conditional on ai which no longer is needed as
|
|
|
+ the while loop reevaluation will cover it.
|
|
|
+
|
|
|
+ Closes #7511
|
|
|
+ Reviewed-by: Carlo Marcelo Arenas Belón
|
|
|
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
|
|
|
-- [Albin Vass brought this change]
|
|
|
+Daniel Stenberg (29 Jul 2021)
|
|
|
+- RELEASE-NOTES: synced
|
|
|
+
|
|
|
+ and bump curlver to 7.79.0 for next release
|
|
|
|
|
|
- travis: remove jobs that have migrated to zuul
|
|
|
+Marc Hoersken (29 Jul 2021)
|
|
|
+- tests/*server.py: remove pidfile on server termination
|
|
|
|
|
|
- Closes #7245
|
|
|
+ Avoid pidfile leaking/laying around after server already exited.
|
|
|
+
|
|
|
+ Reviewed-by: Daniel Stenberg
|
|
|
+ Closes #7506
|
|
|
|
|
|
-- [Mohammed Naser brought this change]
|
|
|
+Daniel Gustafsson (27 Jul 2021)
|
|
|
+- tool_main: fix typo in comment
|
|
|
+
|
|
|
+ The referred to library is NSPR, so fix the switched around characters.
|
|
|
|
|
|
- CI: add jobs using Zuul
|
|
|
+Daniel Stenberg (28 Jul 2021)
|
|
|
+- [Aleksandr Krotov brought this change]
|
|
|
+
|
|
|
+ bearssl: support CURLOPT_CAINFO_BLOB
|
|
|
|
|
|
- It also includes a few changes to get the builds going:
|
|
|
- - Added autoconf to common dependencies
|
|
|
- - Added automake to common dependencies
|
|
|
- - Added libtool to common dependencies
|
|
|
- - Added libssl-dev to common dependencies
|
|
|
+ Closes #7468
|
|
|
+
|
|
|
+- curl.1: mention "global" flags
|
|
|
|
|
|
- Co-authored-by: Albin Vass
|
|
|
+ Mention options that are "global". A global command line option is one
|
|
|
+ that doesn't get reset at --next uses and therefore don't need to be
|
|
|
+ used again.
|
|
|
|
|
|
- Closes #7245
|
|
|
+ Reported-by: Josh Soref
|
|
|
+
|
|
|
+ Fixes #7457
|
|
|
+ Closes #7510
|
|
|
|
|
|
-- netrc: skip 'macdef' definitions
|
|
|
+- CURLOPT_DOH_URL.3: CURLOPT_OPENSOCKETFUNCTION is not inherited
|
|
|
|
|
|
- Add test 494 to verify
|
|
|
+ Reported-by: Daniel Woelfel
|
|
|
+ Fixes #7441
|
|
|
+ Closes #7509
|
|
|
+
|
|
|
+- KNOWN_BUGS: add more HTTP/3 problems
|
|
|
|
|
|
- Reported-by: Harry Sintonen
|
|
|
- Fixes #7238
|
|
|
- Closes #7244
|
|
|
+ Closes #7351
|
|
|
+ Closes #7339
|
|
|
+ Closes #7125
|
|
|
|
|
|
-- multi: add scan-build-6 work-around in curl_multi_fdset
|
|
|
+Marc Hoersken (27 Jul 2021)
|
|
|
+- CI/azure: reduce compile time with increased parallism
|
|
|
|
|
|
- scan-build-6 otherwise warns, saying: warning: The left operand of '>='
|
|
|
- is a garbage value otherwise, which is false.
|
|
|
+ Azure Pipelines CI VMs have 2 CPUs, let's use them.
|
|
|
|
|
|
- Later scan-builds don't claim this on the same code.
|
|
|
+ Closes #7489
|
|
|
+
|
|
|
+Jay Satiro (27 Jul 2021)
|
|
|
+- [Josh Soref brought this change]
|
|
|
+
|
|
|
+ docs: fix grammar
|
|
|
|
|
|
- Closes #7248
|
|
|
+ Fixes https://github.com/curl/curl/issues/7444
|
|
|
+ Fixes https://github.com/curl/curl/issues/7451
|
|
|
+ Fixes https://github.com/curl/curl/issues/7465
|
|
|
+ Closes https://github.com/curl/curl/pull/7495
|
|
|
|
|
|
-- asyn-ares: remove check for 'data' in Curl_resolver_cancel
|
|
|
+- mail-rcpt.d: fix grammar
|
|
|
|
|
|
- It implied it would survive a NULL in there which it won't. Instead do
|
|
|
- an assert.
|
|
|
+ Remove confusing sentence that says to specify an e-mail address for
|
|
|
+ mail transfer, since that's implied.
|
|
|
|
|
|
- Pointed out by scan-build.
|
|
|
+ Reported-by: Josh Soref
|
|
|
|
|
|
- Closes #7248
|
|
|
+ Fixes https://github.com/curl/curl/issues/7452
|
|
|
+ Closes https://github.com/curl/curl/pull/7495
|
|
|
|
|
|
-- url.c: remove two variable assigns that are never read
|
|
|
+Daniel Stenberg (27 Jul 2021)
|
|
|
+- c-hyper: remove the hyper_executor_poll() loop from Curl_http
|
|
|
|
|
|
- Pointed out by scan-build
|
|
|
+ 1. it's superfluous
|
|
|
+ 2. it didn't work identically to the Curl_hyper_stream one which could
|
|
|
+ cause problems like #7486
|
|
|
|
|
|
- Closes #7248
|
|
|
-
|
|
|
-- [Gealber Morales brought this change]
|
|
|
+ Pointed-out-by: David Cook
|
|
|
+ Closes #7499
|
|
|
|
|
|
- mqtt: add support for username and password
|
|
|
+- curl-openssl.m4: check lib64 for the pkg-config file
|
|
|
|
|
|
- Minor-edits-by: Daniel Stenberg
|
|
|
- Added test 2200 to 2205
|
|
|
+ OpenSSL recently started putting the libs in $prefix/lib64 on 'make
|
|
|
+ install', so we check that directory for pkg-config data if the 'lib'
|
|
|
+ check fails.
|
|
|
|
|
|
- Closes #7243
|
|
|
+ Closes #7503
|
|
|
|
|
|
-- travis: remove the arm job
|
|
|
+- CURLOPT_SSL_CTX_*.3: tidy up the example
|
|
|
|
|
|
- We do it on circle CI instead
|
|
|
+ Use the proper code style. Don't store return codes that aren't read.
|
|
|
+ Copy the same example into CURLOPT_SSL_CTX_FUNCTION.3 as well.
|
|
|
+
|
|
|
+ Closes #7500
|
|
|
|
|
|
-- CI: add .circleci/config.yml
|
|
|
+- example/cookie_interface: fix scan-build printf warning
|
|
|
|
|
|
- Assisted-by: Gabriel Simmer
|
|
|
+ Follow-up to 4b79c4fb565
|
|
|
|
|
|
- Closes #7239
|
|
|
+ Fixes #7497
|
|
|
+ Closes #7498
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+- [Josh Soref brought this change]
|
|
|
|
|
|
-- runtests: init $VERSION to avoid warnings when using -l
|
|
|
+ limit-rate.d: clarify base unit
|
|
|
+
|
|
|
+ Fixes #7439
|
|
|
+ Closes #7494
|
|
|
|
|
|
-- openssl: don't remove session id entry in disassociate
|
|
|
+- [Carlo Marcelo Arenas Belón brought this change]
|
|
|
+
|
|
|
+ examples/cookie_interface: avoid printfing time_t directly
|
|
|
|
|
|
- When a connection is disassociated from a transfer, the Session ID entry
|
|
|
- should remain.
|
|
|
+ time_t representation is undefined and varies on bitsize and signedness,
|
|
|
+ and as of C11 could be even non integer.
|
|
|
|
|
|
- Regression since 7f4a9a9 (shipped in libcurl 7.77.0)
|
|
|
- Reported-by: Gergely Nagy
|
|
|
- Reported-by: Paul Groke
|
|
|
+ instead of casting to unsigned long (which would truncate in systems
|
|
|
+ with a 32bit long after 2106) use difftime to get the elapsed time as a
|
|
|
+ double and print that (without decimals) instead.
|
|
|
|
|
|
- Fixes #7222
|
|
|
- Closes #7230
|
|
|
+ alternatively a cast to curl_off_t and its corresponding print
|
|
|
+ formatting could have been used (at least in POSIX) but portability and
|
|
|
+ curl agnostic code was prioritized.
|
|
|
+
|
|
|
+ Closes #7490
|
|
|
|
|
|
-- single_transfer: ignore blank --output-dir
|
|
|
+Marc Hoersken (25 Jul 2021)
|
|
|
+- tests/servers: remove obsolete pid variable
|
|
|
|
|
|
- ... as otherwise it creates a rather unexpected target directory with a
|
|
|
- leading slash.
|
|
|
+ Variable is not used since pidfile handling moved to util.[ch]
|
|
|
|
|
|
- Reported-by: Harry Sintonen
|
|
|
- Fixes #7218
|
|
|
- Closes #7233
|
|
|
+ Reviewed-by: Jay Satiro
|
|
|
+ Closes #7482
|
|
|
|
|
|
-- tests: update README about servers and port numbers
|
|
|
+- tests/servers: use our platform-aware pid for server verification
|
|
|
|
|
|
- Closes #7242
|
|
|
-
|
|
|
-- conn_shutdown: if closed during CONNECT cleanup properly
|
|
|
+ The pid used for server verification is later stored as pid2 in
|
|
|
+ the hash of running test servers and therefore used for shutdown.
|
|
|
|
|
|
- Reported-by: Alex Xu
|
|
|
- Reported-by: Phil E. Taylor
|
|
|
+ The pid used for shutdown must be the platform-aware (Win32) pid
|
|
|
+ to avoid leaking test servers while running them using Cygwin/msys.
|
|
|
|
|
|
- Fixes #7236
|
|
|
- Closes #7237
|
|
|
+ Reviewed-by: Jay Satiro
|
|
|
+ Closes #7481
|
|
|
|
|
|
-- [Christian Weisgerber brought this change]
|
|
|
+- tests/runtests.pl: cleanup copy&paste mistakes and unused code
|
|
|
+
|
|
|
+ Reviewed-by: Jay Satiro
|
|
|
+ Part of #7481
|
|
|
|
|
|
- sws: malloc request struct instead of using stack
|
|
|
+Daniel Stenberg (25 Jul 2021)
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- ... 2MB requests is otherwise just too big for some systems.
|
|
|
+ bumped to 7.78.1 for next release
|
|
|
+
|
|
|
+- http_proxy: clear 'sending' when the outgoing request is sent
|
|
|
|
|
|
- (The allocations are not freed properly.)
|
|
|
+ ... so that Curl_connect_getsock() will know how to wait for the socket
|
|
|
+ to become readable and not writable after the entire CONNECT request has
|
|
|
+ been issued.
|
|
|
|
|
|
- Bug: https://curl.se/mail/lib-2021-06/0018.html
|
|
|
+ Regression added in 7.77.0
|
|
|
|
|
|
- Closes #7235
|
|
|
+ Reported-by: zloi-user on github
|
|
|
+ Assisted-by: Jay Satiro
|
|
|
+ Fixes #7155
|
|
|
+ Closes #7484
|
|
|
|
|
|
-- [Mark Swaanenburg brought this change]
|
|
|
+Jay Satiro (25 Jul 2021)
|
|
|
+- [Josh Soref brought this change]
|
|
|
|
|
|
- lib: don't compare fd to FD_SETSIZE when using poll
|
|
|
-
|
|
|
- FD_SETSIZE is irrelevant when using poll. So ensuring that the file
|
|
|
- descriptor is smaller than FD_SETSIZE in VALID_SOCK, can cause
|
|
|
- multi_wait to ignore perfectly valid file descriptors and simply wait
|
|
|
- for 1s to avoid hammering the CPU in a busy loop.
|
|
|
+ openssl: fix grammar
|
|
|
|
|
|
- Fixes #7240
|
|
|
- Closes #7241
|
|
|
+ Closes https://github.com/curl/curl/pull/7480
|
|
|
|
|
|
-- [zhangxiuhua brought this change]
|
|
|
-
|
|
|
- doh: fix wrong DEBUGASSERT for doh private_data
|
|
|
+- configure.ac: tweak nghttp2 library name fix again
|
|
|
|
|
|
- Closes #7227
|
|
|
-
|
|
|
-- [yb999 brought this change]
|
|
|
+ - Change extraction to handle multiple library names returned by
|
|
|
+ pkg-config (eg a possible scenario with pkg-config --static).
|
|
|
+
|
|
|
+ Ref: https://github.com/curl/curl/pull/7472
|
|
|
+
|
|
|
+ Closes https://github.com/curl/curl/pull/7485
|
|
|
|
|
|
- tests: update README.md with a missing single quote
|
|
|
+Dan Fandrich (23 Jul 2021)
|
|
|
+- Get rid of the unused HAVE_SIG_ATOMIC_T et. al.
|
|
|
|
|
|
- Closes #7231
|
|
|
+ It was added in 2006 but I see no evidence it was ever used.
|
|
|
|
|
|
-- GHA: run all tests for hyper too
|
|
|
+Jay Satiro (23 Jul 2021)
|
|
|
+- docs: change max-filesize caveat again
|
|
|
|
|
|
- As it lists disabled ones in DISABLED now
|
|
|
+ - Add protocols field to max-filesize.d.
|
|
|
|
|
|
- Closes #7209
|
|
|
-
|
|
|
-- tests/data/DISABLED: add tests not working with hyper
|
|
|
+ - Revert wording on unknown file size caveat and do not discuss specific
|
|
|
+ protocols in that section.
|
|
|
|
|
|
- The goal is to remove them all from here over time.
|
|
|
+ Partial revert of ecf0225. All max-filesize options now have the list of
|
|
|
+ protocols and it's clearer just to have that list without discussing
|
|
|
+ specific protocols in the caveat.
|
|
|
|
|
|
- Closes #7209
|
|
|
-
|
|
|
-- runtests: also find the last test in Makefile.inc
|
|
|
+ Reported-by: Josh Soref
|
|
|
|
|
|
- Closes #7209
|
|
|
+ Ref: https://github.com/curl/curl/issues/7453#issuecomment-884128762
|
|
|
|
|
|
-- test3010: work with hyper mode
|
|
|
-
|
|
|
- Closes #7209
|
|
|
+Daniel Stenberg (22 Jul 2021)
|
|
|
+- [Christian Weisgerber brought this change]
|
|
|
|
|
|
-- configure: disable RTSP when hyper is selected
|
|
|
+ configure: tweak nghttp2 library name fix
|
|
|
|
|
|
- Makes test 1013 work
|
|
|
+ commit 29c7cf79e8b44cf (shipped in 7.78.0) introduced a problem by
|
|
|
+ assuming that LIB_H2 does not have any leading whitespace. At least
|
|
|
+ OpenBSD's native pkg-config can produce such whitespace, though:
|
|
|
|
|
|
- Closes #7209
|
|
|
-
|
|
|
-- test1594/1595/1596: fix to work in hyper mode
|
|
|
+ $ pkg-config --libs-only-l libnghttp2
|
|
|
+ -lnghttp2
|
|
|
|
|
|
- Closes #7209
|
|
|
-
|
|
|
-- test1438/1457: add HTTP keyword to make hyper mode work
|
|
|
+ As a result, the configure check for libnghttp2 will erroneously fail.
|
|
|
|
|
|
- Closes #7209
|
|
|
+ Bug: https://curl.se/mail/lib-2021-07/0050.html
|
|
|
+ Closes #7472
|
|
|
|
|
|
-- test1340/1341: adjusted for hyper mode
|
|
|
-
|
|
|
- Closes #7209
|
|
|
+- [Bastian Krause brought this change]
|
|
|
|
|
|
-- test1218: adjusted for hyper mode
|
|
|
+ docs/MQTT: update state of username/password support
|
|
|
|
|
|
- Closes #7209
|
|
|
-
|
|
|
-- test1216: adjusted for hyper mode
|
|
|
+ PR #7243 implemented username/password support for MQTT, so let's drop
|
|
|
+ these items from the caveats.
|
|
|
|
|
|
- Closes #7209
|
|
|
-
|
|
|
-- test1230: adjust to work in hyper mode
|
|
|
+ Signed-off-by: Bastian Krause <bst@pengutronix.de>
|
|
|
|
|
|
- Closes #7209
|
|
|
+ Closes #7474
|
|
|
|
|
|
-- c-hyper: abort CONNECT response reading early on non 2xx responses
|
|
|
-
|
|
|
- Fixes test 493
|
|
|
-
|
|
|
- Closes #7209
|
|
|
+- [Oleg Pudeyev brought this change]
|
|
|
|
|
|
-- test434: add HTTP keyword
|
|
|
+ CURLMOPT_TIMERFUNCTION.3: remove misplaced "time"
|
|
|
|
|
|
- Closes #7209
|
|
|
+ Closes #7470
|
|
|
|
|
|
-- test599: adjusted to work in hyper mode
|
|
|
+Version 7.78.0 (21 Jul 2021)
|
|
|
+
|
|
|
+Daniel Stenberg (21 Jul 2021)
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- Closes #7209
|
|
|
+ curl 7.78.0 release
|
|
|
|
|
|
-- c-hyper: fix the uploaded field in progress callbacks
|
|
|
+- winbuild/MakefileBuild.vc: bump copyright year
|
|
|
+
|
|
|
+Jay Satiro (21 Jul 2021)
|
|
|
+- docs: mention max-filesize options also apply to MQTT transfers
|
|
|
|
|
|
- Makes test 578 work
|
|
|
+ Also make it clearer that the caveat 'if the file size is unknown it
|
|
|
+ the option will have no effect' may apply to protocols other than FTP
|
|
|
+ and HTTP.
|
|
|
|
|
|
- Closes #7209
|
|
|
-
|
|
|
-- test566: adjust to work with hyper mode
|
|
|
+ Reported-by: Josh Soref
|
|
|
|
|
|
- Closes #7209
|
|
|
+ Fixes https://github.com/curl/curl/issues/7453
|
|
|
|
|
|
-- [Fawad Mirza brought this change]
|
|
|
+- [Josh Soref brought this change]
|
|
|
|
|
|
- CURLOPT_WRITEFUNCTION.3: minor update of the example
|
|
|
+ docs/cmdline: fix grammar and typos
|
|
|
+
|
|
|
+- [Josh Soref brought this change]
|
|
|
+
|
|
|
+ dump-header.d: Drop suggestion to use for cookie storage
|
|
|
|
|
|
- Safely avoid chunk.size garbage value if declared non globally.
|
|
|
+ Since --cookie-jar is the preferred way to store cookies, no longer
|
|
|
+ suggest using --dump-header to do so.
|
|
|
|
|
|
- Closes #7219
|
|
|
+ Co-authored-by: Daniel Stenberg
|
|
|
+
|
|
|
+ Closes https://github.com/curl/curl/issues/7414
|
|
|
|
|
|
-- [Bastian Krause brought this change]
|
|
|
+- [Josh Soref brought this change]
|
|
|
|
|
|
- configure: rename get-easy-option configure option to get-easy-options
|
|
|
+ doc/cmdline: fix grammar and typos
|
|
|
|
|
|
- "get-easy-options" is the configure option advertised by the help text
|
|
|
- anyway, so use that.
|
|
|
+ Closes https://github.com/curl/curl/pull/7454
|
|
|
+ Closes https://github.com/curl/curl/pull/7455
|
|
|
+ Closes https://github.com/curl/curl/pull/7456
|
|
|
+ Closes https://github.com/curl/curl/pull/7459
|
|
|
+ Closes https://github.com/curl/curl/pull/7460
|
|
|
+ Closes https://github.com/curl/curl/pull/7461
|
|
|
+ Closes https://github.com/curl/curl/pull/7462
|
|
|
+ Closes https://github.com/curl/curl/pull/7463
|
|
|
+
|
|
|
+Daniel Stenberg (20 Jul 2021)
|
|
|
+- vtls: fix connection reuse checks for issuer cert and case sensitivity
|
|
|
|
|
|
- Fixes #7211
|
|
|
- Closes #7213
|
|
|
+ CVE-2021-22924
|
|
|
|
|
|
- Follow-up to ad691b191 ("configure: added --disable-get-easy-options")
|
|
|
- Suggested-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
- Signed-off-by: Bastian Krause <bst@pengutronix.de>
|
|
|
+ Reported-by: Harry Sintonen
|
|
|
+ Bug: https://curl.se/docs/CVE-2021-22924.html
|
|
|
|
|
|
-- runtests: skip disabled tests unless -f is used
|
|
|
+- sectransp: check for client certs by name first, then file
|
|
|
|
|
|
- To make it easier to write ranges like '115 to 229' without that
|
|
|
- explicitly enabling tests that are listed in DISABLED, this makes
|
|
|
- runtests always skip disabled tests unless the -f command line option is
|
|
|
- used.
|
|
|
+ CVE-2021-22926
|
|
|
|
|
|
- Previously the code attempted to not run such tests, but didn't do it
|
|
|
- correctly.
|
|
|
+ Bug: https://curl.se/docs/CVE-2021-22926.html
|
|
|
|
|
|
- Closes #7212
|
|
|
-
|
|
|
-- [Jun-ya Kato brought this change]
|
|
|
+ Assisted-by: Daniel Gustafsson
|
|
|
+ Reported-by: Harry Sintonen
|
|
|
|
|
|
- ngtcp2: disable TLSv1.3 compatible mode when using GnuTLS
|
|
|
+- telnet: fix option parser to not send uninitialized contents
|
|
|
|
|
|
- The latest GnuTLS-3.7.2 implements disable switch for TLSv1.3 compatible
|
|
|
- mode for middle box but it is enabled by default, which is unnecessary
|
|
|
- for QUIC.
|
|
|
+ CVS-2021-22925
|
|
|
|
|
|
- Fixes #6896
|
|
|
- Closes #7202
|
|
|
+ Reported-by: Red Hat Product Security
|
|
|
+ Bug: https://curl.se/docs/CVE-2021-22925.html
|
|
|
|
|
|
-- test644: remove as duplicate of test 587
|
|
|
+Jay Satiro (20 Jul 2021)
|
|
|
+- connect: fix wrong format specifier in connect error string
|
|
|
|
|
|
- Closes #7208
|
|
|
-
|
|
|
-Daniel Gustafsson (8 Jun 2021)
|
|
|
-- RELEASE-NOTES: synced
|
|
|
-
|
|
|
-- cookies: track expiration in jar to optimize removals
|
|
|
+ 0842175 (not in any release) used the wrong format specifier (long int)
|
|
|
+ for timediff_t. On an OS such as Windows libcurl's timediff_t (usually
|
|
|
+ 64-bit) is bigger than long int (32-bit). In 32-bit Windows builds the
|
|
|
+ upper 32-bits of the timediff_t were erroneously then used by the next
|
|
|
+ format specifier. Usually since the timeout isn't larger than 32-bits
|
|
|
+ this would result in null as a pointer to the string with the reason for
|
|
|
+ the connection failing. On other OSes or maybe other compilers it could
|
|
|
+ probably result in garbage values (ie crash on deref).
|
|
|
|
|
|
- Removing expired cookies needs to be a fast operation since we want to
|
|
|
- be able to perform it often and speculatively. By tracking the timestamp
|
|
|
- of the next known expiration we can exit early in case the timestamp is
|
|
|
- in the future.
|
|
|
+ Before:
|
|
|
+ Failed to connect to localhost port 12345 after 1201 ms: (nil)
|
|
|
|
|
|
- Closes: #7172
|
|
|
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
-
|
|
|
-Daniel Stenberg (7 Jun 2021)
|
|
|
-- GHA: add several libcurl tests to the hyper job
|
|
|
+ After:
|
|
|
+ Failed to connect to localhost port 12345 after 1203 ms: Connection refused
|
|
|
|
|
|
- 500 to 512
|
|
|
-
|
|
|
-- test500: adjust to work with hyper mode
|
|
|
+ Closes https://github.com/curl/curl/pull/7449
|
|
|
|
|
|
-- c-hyper: support CURLINFO_STARTTRANSFER_TIME
|
|
|
+- winbuild: support alternate nghttp2 static lib name
|
|
|
|
|
|
- Closes #7204
|
|
|
-
|
|
|
-- c-hyper: support CURLOPT_HEADER
|
|
|
+ - Support both nghttp2.lib and nghttp2_static.lib for static nghttp2.
|
|
|
|
|
|
- When enabled, the headers are passed to the body write callback as well.
|
|
|
+ nghttp2 briefly changed its static lib name to nghttp2_static, but then
|
|
|
+ made the _static suffix optional.
|
|
|
|
|
|
- Like in test 500
|
|
|
+ Ref: https://github.com/nghttp2/nghttp2/pull/1394
|
|
|
+ Ref: https://github.com/nghttp2/nghttp2/pull/1418
|
|
|
+ Ref: https://github.com/nghttp2/nghttp2/issues/1466
|
|
|
|
|
|
- Closes #7204
|
|
|
-
|
|
|
-- GHA: run the newly fixed tests with hyper
|
|
|
+ Reported-by: Pierre Yager
|
|
|
|
|
|
- Closes #7205
|
|
|
+ Fixes https://github.com/curl/curl/issues/7446
|
|
|
+ Closes https://github.com/curl/curl/pull/7447
|
|
|
|
|
|
-- test433: adjust for hyper mode
|
|
|
-
|
|
|
- Closes #7205
|
|
|
+- [Josh Soref brought this change]
|
|
|
|
|
|
-- test395: hyper cannot work around > 64 bit content-lengths like built-in
|
|
|
+ docs/cmdline: fix grammar and typos
|
|
|
|
|
|
- Closes #7205
|
|
|
+ Closes https://github.com/curl/curl/pull/7432
|
|
|
+ Closes https://github.com/curl/curl/pull/7436
|
|
|
+ Closes https://github.com/curl/curl/pull/7438
|
|
|
+ Closes https://github.com/curl/curl/pull/7440
|
|
|
+ Closes https://github.com/curl/curl/pull/7445
|
|
|
|
|
|
-- test394: hyper returns a different error
|
|
|
-
|
|
|
- Closes #7205
|
|
|
+- [Josh Soref brought this change]
|
|
|
|
|
|
-- test393: make Content-Length fit within 64 bit for hyper
|
|
|
+ delegation.d: mention what happens when used multiple times
|
|
|
|
|
|
- Closes #7205
|
|
|
+ Closes https://github.com/curl/curl/pull/7408
|
|
|
|
|
|
-- test347: CRLFify to work in hyper mode
|
|
|
-
|
|
|
- Closes #7205
|
|
|
+- [Josh Soref brought this change]
|
|
|
|
|
|
-- test339: CRLFify better to work in hyper mode
|
|
|
+ create-file-mode.d: mention what happens when used multiple times
|
|
|
|
|
|
- Closes #7205
|
|
|
+ Closes https://github.com/curl/curl/pull/7407
|
|
|
|
|
|
-- travis: remove the hyper build
|
|
|
+- [Josh Soref brought this change]
|
|
|
|
|
|
-- GHA: add a linux-hyper job
|
|
|
+ config.d: split comments and option-per line
|
|
|
|
|
|
- Closes #7206
|
|
|
+ Closes https://github.com/curl/curl/pull/7405
|
|
|
|
|
|
-- test328: avoid a header-looking body to make hyper mode work
|
|
|
-
|
|
|
- The test still works the same, just modified two bytes in the content.
|
|
|
-
|
|
|
- Closes #7203
|
|
|
+Daniel Stenberg (19 Jul 2021)
|
|
|
+- misc: copyright year range updates
|
|
|
|
|
|
-- release-notes.pl: also spot common 'closes' typo
|
|
|
+- mailmap: add Tobias and Timur
|
|
|
|
|
|
-- metalink: remove
|
|
|
+Daniel Gustafsson (18 Jul 2021)
|
|
|
+- [Josh Soref brought this change]
|
|
|
+
|
|
|
+ docs: spell out directories instead of dirs in create-dirs
|
|
|
|
|
|
- Warning: this will make existing curl command lines that use metalink to
|
|
|
- stop working.
|
|
|
+ Write out directories rather than using the dirs abbrevation. Also
|
|
|
+ use plural form consistently, even if the code in the end might just
|
|
|
+ create a single directory.
|
|
|
|
|
|
- Reasons for removal:
|
|
|
+ Closes #7406
|
|
|
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+ Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
|
|
|
+
|
|
|
+- [Tobias Nyholm brought this change]
|
|
|
+
|
|
|
+ docs: correct spelling errors and a broken link
|
|
|
|
|
|
- 1. We've found several security problems and issues involving the
|
|
|
- metalink support in curl. The issues are not detailed here. When
|
|
|
- working on those, it become apparent to the team that several of the
|
|
|
- problems are due to the system design, metalink library API and what
|
|
|
- the metalink RFC says. They are very hard to fix on the curl side
|
|
|
- only.
|
|
|
+ Update grammar and spelling in docs and source code comments.
|
|
|
|
|
|
- 2. The metalink usage with curl was only very briefly documented and was
|
|
|
- not following the "normal" curl usage pattern in several ways, making
|
|
|
- it surprising and non-intuitive which could lead to further security
|
|
|
- issues.
|
|
|
+ Closes: #7427
|
|
|
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+
|
|
|
+Marc Hoersken (18 Jul 2021)
|
|
|
+- CI/cirrus: install impacket from PyPI instead of FreeBSD packages
|
|
|
|
|
|
- 3. The metalink library was last updated 6 years ago and wasn't so
|
|
|
- active the years before that either. An unmaintained library means
|
|
|
- there's a security problem waiting to happen. This is probably reason
|
|
|
- enough.
|
|
|
+ Availability of impacket as FreeBSD package is too flaky.
|
|
|
|
|
|
- 4. Metalink requires an XML parsing library, which is complex code (even
|
|
|
- the smaller alternatives) and to this day often gets security
|
|
|
- updates.
|
|
|
+ Stick to legacy version of cryptography which still
|
|
|
+ supports OpenSSL version 1.0.2 due to FreeBSD 11.
|
|
|
|
|
|
- 5. Metalink is not a widely used curl feature. In the 2020 curl user
|
|
|
- survey, only 1.4% of the responders said that they'd are using it. In
|
|
|
- 2021 that number was 1.2%. Searching the web also show very few
|
|
|
- traces of it being used, even with other tools.
|
|
|
+ Reviewed-by: Daniel Stenberg
|
|
|
|
|
|
- 6. The torrent format and associated technology clearly won for
|
|
|
- downloading large files from multiple sources in parallel.
|
|
|
+ Closes #7418
|
|
|
+
|
|
|
+Daniel Stenberg (18 Jul 2021)
|
|
|
+- [Josh Soref brought this change]
|
|
|
+
|
|
|
+ docs/cmdline: mention what happens when used multiple times
|
|
|
|
|
|
- Cloes #7176
|
|
|
+ For --dns-ipv4-addr, --dns-ipv6-addr and --dns-servers
|
|
|
+
|
|
|
+ Closes #7410
|
|
|
+ Closes #7411
|
|
|
+ Closes #7412
|
|
|
|
|
|
-- docs/INSTALL: remove mentions of configure --with-darwin-ssl
|
|
|
+- [Michał Antoniak brought this change]
|
|
|
+
|
|
|
+ lib: fix compiler warnings with CURL_DISABLE_NETRC
|
|
|
|
|
|
- ... as it isn't supported since a while back.
|
|
|
+ warning C4189: 'netrc_user_changed': local variable is initialized but
|
|
|
+ not referenced
|
|
|
|
|
|
- Make configure fail with a warning if used.
|
|
|
+ warning C4189: 'netrc_passwd_changed': local variable is initialized but
|
|
|
+ not referenced
|
|
|
|
|
|
- Reported-by: Vadim Grinshpun
|
|
|
- Bug: https://curl.se/mail/lib-2021-06/0008.html
|
|
|
- Closes #7200
|
|
|
+ Closes #7423
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+- disable-epsv.d: remove duplicate "(FTP)"
|
|
|
+
|
|
|
+ ... since the tooling adds that to the output based on the "Protocols:"
|
|
|
+ tag.
|
|
|
|
|
|
-- [Gregor Jasny brought this change]
|
|
|
+- [Max Zettlmeißl brought this change]
|
|
|
|
|
|
- cmake: Avoid leaking absolute paths into exported config
|
|
|
-
|
|
|
- The `find_libarary` command resolves the library or framework
|
|
|
- into an absolute path. In case of system frameworks which are
|
|
|
- located within an Xcode-provided SDK this results in the Xcode
|
|
|
- path and SDK version being part of the library path.
|
|
|
+ docs: make the documentation for --etag-save match the program behaviour
|
|
|
|
|
|
- Because those library paths end up in the exported CMake config
|
|
|
- importing curl will fail once the Xcode location or SDK version
|
|
|
- changes:
|
|
|
+ When using curl with the option `--etag-save` I expected it to save the
|
|
|
+ ETag without its surrounding quotes, as stated by the documentation in
|
|
|
+ the repository and by the generated man pages.
|
|
|
|
|
|
- ```cmake
|
|
|
- set_target_properties(CURL::libcurl PROPERTIES
|
|
|
- INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
|
|
|
- INTERFACE_LINK_LIBRARIES "lber;ldap;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/SystemConfiguration.framework;OpenSSL::SSL;OpenSSL::Crypto;ZLIB::ZLIB"
|
|
|
- )
|
|
|
- ```
|
|
|
+ My first endeavour was to fix the program, but while investigating the
|
|
|
+ history of the relevant parts, I discovered that curl once saved the
|
|
|
+ ETag without the quotes. This was undone by Daniel Stenberg in commit
|
|
|
+ `98c94596f5928840177b6bd3c7b0f0dd03a431af`, therefore I decided that in
|
|
|
+ this case the documentation should be adjusted to match the behaviour of
|
|
|
+ curl.
|
|
|
|
|
|
- A work-around is to link against system-level frameworks with
|
|
|
- `-framework XYZ`. In case of `SystemConfiguration` we might be able
|
|
|
- to omit the lookup-check because we could assume the framework is
|
|
|
- always present.
|
|
|
+ The changed save behaviour also made parts of the `--etag-compare`
|
|
|
+ documentation wrong or superfluous, so I adjusted those accordingly.
|
|
|
|
|
|
- Closes #7152
|
|
|
+ Closes #7429
|
|
|
|
|
|
-- [Shikha Sharma brought this change]
|
|
|
+- [Josh Soref brought this change]
|
|
|
|
|
|
- http2_connisdead: handle trailing GOAWAY better
|
|
|
-
|
|
|
- When checking the connection the input processing returns error
|
|
|
- immediately, we now consider that a dead connnection.
|
|
|
+ write-out.d: add missing periods
|
|
|
|
|
|
- Bug: https://curl.se/mail/lib-2021-06/0001.html
|
|
|
- Closes #7192
|
|
|
+ Closes #7404
|
|
|
|
|
|
-- [Dmitry Karpov brought this change]
|
|
|
+- [Josie Huddleston brought this change]
|
|
|
|
|
|
- ares: always store IPv6 addresses first
|
|
|
+ easy: during upkeep, attach Curl_easy to connections in the cache
|
|
|
|
|
|
- Trying dual-stack on some embedded platform, I noticed that quite
|
|
|
- frequently (20%) libCurl starts from IPv4 regardless the Happy Eyeballs
|
|
|
- timeout value. After debugging this issue, I noticed that this happens
|
|
|
- if c-ares resolver response for IPv6 family comes before IPv4 (which was
|
|
|
- randomly happening in my tests).
|
|
|
+ During the protocol-specific parts of connection upkeep, some code
|
|
|
+ assumes that the data->conn pointer already is set correctly. However,
|
|
|
+ there's currently no guarantee of that in the code.
|
|
|
|
|
|
- In such cases, because libCurl puts the last resolver response on top of
|
|
|
- the address list, when IPv4 resolver response comes after IPv6 one - the
|
|
|
- IPv4 family starts the connection phase instead of IPv6 family.
|
|
|
+ This fix temporarily attaches each connection to the Curl_easy object
|
|
|
+ before performing the protocol-specific connection check on it, in a
|
|
|
+ similar manner to the connection checking in extract_if_dead().
|
|
|
|
|
|
- The solution for this issue is to always put IPv6 addresses on top of
|
|
|
- the address list, regardless the order of resolver responses.
|
|
|
+ Fixes #7386
|
|
|
+ Closes #7387
|
|
|
+ Reported-by: Josie Huddleston
|
|
|
+
|
|
|
+- [Josh Soref brought this change]
|
|
|
+
|
|
|
+ cleanup: spell DoH with a lowercase o
|
|
|
|
|
|
- Bug: https://curl.se/mail/lib-2021-06/0003.html
|
|
|
+ Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
|
|
|
|
|
|
- Closes #7188
|
|
|
+ Closes #7413
|
|
|
|
|
|
-- Revert "Revert "socketpair: fix potential hangs""
|
|
|
+- [Josh Soref brought this change]
|
|
|
+
|
|
|
+ TheArtOfHttpScripting: polish
|
|
|
|
|
|
- This reverts commit 3e70c3430a370a31eff2c1d8fea29edaca8f1127.
|
|
|
+ - add missing backticks and comma
|
|
|
|
|
|
- Thus brings back the change from #7144 as was originally landed in
|
|
|
- c769d1eab4de8b
|
|
|
+ - fix proxy description:
|
|
|
|
|
|
- Closes #7144 (again)
|
|
|
+ * example proxy isn't local
|
|
|
+ * locally doesn't really make sense
|
|
|
+
|
|
|
+ Closes #7416
|
|
|
|
|
|
-- [Ebe Janchivdorj brought this change]
|
|
|
+- [Josh Soref brought this change]
|
|
|
|
|
|
- schannel: move code out of SChannel_connect_step1
|
|
|
+ form.d: add examples of `,`/`;` for file[name]
|
|
|
|
|
|
- Reviewed-by: Marc Hoersken
|
|
|
- Closes #7168
|
|
|
+ Fixes #7415
|
|
|
+ Closes #7417
|
|
|
|
|
|
-- tests/data/Makefile.inc: error: trailing backslash on last line
|
|
|
+- [Michał Antoniak brought this change]
|
|
|
+
|
|
|
+ mbedtls: Remove unnecessary include
|
|
|
|
|
|
- Follow-up to d8dcb399b8009d
|
|
|
+ - curl_setup.h: all references to mbedtls_md4* functions and structures
|
|
|
+ are in the md4.c. This file already includes the <mbedtls/md4.h> file
|
|
|
+ along with the file existence control (defined (MBEDTLS_MD4_C))
|
|
|
+
|
|
|
+ - curl_ntlm_core.c: unnecessary include - repeated below
|
|
|
+
|
|
|
+ Closes #7419
|
|
|
|
|
|
-- TODO: Support rate-limiting for MQTT
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
-- [Dmitry Kostjuchenko brought this change]
|
|
|
+Jay Satiro (16 Jul 2021)
|
|
|
+- [User Sg brought this change]
|
|
|
|
|
|
- warnless: simplify type size handling
|
|
|
+ multi: fix crash in curl_multi_wait / curl_multi_poll
|
|
|
|
|
|
- By using sizeof(T), existing defines and relying on the compiler to
|
|
|
- define the required signed/unsigned mask.
|
|
|
+ Appears to have been caused by 51c0ebc (precedes 7.77.0) which added a
|
|
|
+ VALID_SOCK check to one of the loops through the sockets but not the
|
|
|
+ other.
|
|
|
|
|
|
- Closes #7181
|
|
|
-
|
|
|
-Gisle Vanem (4 Jun 2021)
|
|
|
-- [Win32] Fix for USE_WATT32
|
|
|
+ Reported-by: sylgal@users.noreply.github.com
|
|
|
+ Authored-by: sylgal@users.noreply.github.com
|
|
|
|
|
|
- My Watt-32 tcp/ip stack works on Windows but it does not have `WSAIoctl()`
|
|
|
+ Fixes https://github.com/curl/curl/issues/7379
|
|
|
+ Closes https://github.com/curl/curl/pull/7389
|
|
|
|
|
|
-Daniel Stenberg (4 Jun 2021)
|
|
|
-- [Alexis Vachette brought this change]
|
|
|
+- [Daniel Gustafsson brought this change]
|
|
|
|
|
|
- url: bad CURLOPT_CONNECT_TO syntax now returns error
|
|
|
+ tool_help: remove unused define
|
|
|
|
|
|
- Added test 3020 to verify
|
|
|
+ The PRINT_LINES_PAUSE macro is no longer used, and has been mostly
|
|
|
+ cleaned out but one occurrence remained.
|
|
|
|
|
|
- Closes #7183
|
|
|
+ Closes https://github.com/curl/curl/pull/7380
|
|
|
|
|
|
-- github: remove the cmake macOS gcc-8 jobs
|
|
|
+- [Sergey Markelov brought this change]
|
|
|
+
|
|
|
+ build: fix compiler warnings when CURL_DISABLE_VERBOSE_STRINGS
|
|
|
|
|
|
- They're too similar to the gcc-9 ones to be useful (and seems to not
|
|
|
- work anymore).
|
|
|
+ fix compiler warnings about unused variables and parameters when
|
|
|
+ built with --disable-verbose.
|
|
|
|
|
|
- Closes #7187
|
|
|
+ Closes https://github.com/curl/curl/pull/7377
|
|
|
|
|
|
-- test269: disable for hyper
|
|
|
+- [Andrea Pappacoda brought this change]
|
|
|
+
|
|
|
+ build: fix IoctlSocket FIONBIO check
|
|
|
|
|
|
- --ignore-content-length / CURLOPT_IGNORE_CONTENT_LENGTH doesn't work
|
|
|
- with hyper.
|
|
|
+ Prior to this change HAVE_IOCTLSOCKET_CAMEL_FIONBIO mistakenly checked
|
|
|
+ for (lowercase) ioctlsocket when it should have checked for IoctlSocket.
|
|
|
|
|
|
- Closes #7184
|
|
|
+ Closes https://github.com/curl/curl/pull/7375
|
|
|
|
|
|
-- runtests: enable 'hyper mode' only for HTTP tests
|
|
|
-
|
|
|
- The 'hyper mode' makes line-ending checks work in the test suite for
|
|
|
- when hyper is used. Now it also requires that HTTP or HTTPS are
|
|
|
- mentioned as keywords to be enabled so that it doesn't wrongly adjusts
|
|
|
- tests for other protocols.
|
|
|
+- [Timur Artikov brought this change]
|
|
|
+
|
|
|
+ configure: fix nghttp2 library name for static builds
|
|
|
|
|
|
- This makes test 271 (TFTP) work again in hyper enabled builds.
|
|
|
+ Don't hardcode the nghttp2 library name,
|
|
|
+ because it can vary, be "nghttp2_static" for example.
|
|
|
|
|
|
- Closes #7185
|
|
|
+ Fixes https://github.com/curl/curl/issues/7367
|
|
|
+ Closes https://github.com/curl/curl/pull/7368
|
|
|
|
|
|
-- [Alexis Vachette brought this change]
|
|
|
+Gisle Vanem (16 Jul 2021)
|
|
|
+- [PellesC] fix _lseeki64() macro
|
|
|
|
|
|
- hostip: bad CURLOPT_RESOLVE syntax now returns error
|
|
|
+- [SChannel] Use '_tcsncmp()' instead
|
|
|
|
|
|
- Added test 3019
|
|
|
- Fixes #7170
|
|
|
- Closes #7174
|
|
|
-
|
|
|
-Daniel Gustafsson (3 Jun 2021)
|
|
|
-- cookies: fix typo and expand comment
|
|
|
+ Revert previous change for PellesC.
|
|
|
|
|
|
- Fix a typo in the sorting comment, and while in there elaborate slightly
|
|
|
- on why creationtime can be used as a tiebreaker.
|
|
|
+ Instead replace all use of `_tcsnccmp()` with `_tcsncmp()`.
|
|
|
|
|
|
-- cookies: remove unused header
|
|
|
-
|
|
|
- Commit 1c1d9f1affbd3367bcb24062e261d0ea5d185e3a removed the last use
|
|
|
- for the inet_pton.h headerfile, this removes the inclusion of the
|
|
|
- header.
|
|
|
+- [PellesC] missing '_tcsnccmp'
|
|
|
|
|
|
- Closes: #7182
|
|
|
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+ PellesC compiler does not have this macro in it's `<tchar.h>`
|
|
|
|
|
|
-Daniel Stenberg (3 Jun 2021)
|
|
|
-- Revert "socketpair: fix potential hangs"
|
|
|
+Daniel Gustafsson (14 Jul 2021)
|
|
|
+- TODO: add mention of mbedTLS 3 incompatibilities
|
|
|
|
|
|
- This reverts commit c769d1eab4de8b9f1bd84d992c63692fdc43c5be.
|
|
|
+ Wyatt OʼDay reported in #7385 that mbedTLS isn't backwards compatible
|
|
|
+ and curl no longer builds with it. Document the need to fix our support
|
|
|
+ until so has been done.
|
|
|
|
|
|
- See #7144 for details
|
|
|
-
|
|
|
-- [Paul Groke brought this change]
|
|
|
+ Closes #7390
|
|
|
+ Fixes #7385
|
|
|
+ Reported-by: Wyatt OʼDay
|
|
|
+ Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
|
|
|
|
|
|
- socketpair: fix potential hangs
|
|
|
-
|
|
|
- Fixes potential hang in accept by using select + non-blocking accept.
|
|
|
-
|
|
|
- Fixes potential hang in peer check by replacing the send/recv check with
|
|
|
- a getsockname/getpeername check.
|
|
|
+- docs: fix inconsistencies in EGDSOCKET documentation
|
|
|
|
|
|
- Adds length check for returned sockaddr data.
|
|
|
+ Only the OpenSSL backend actually use the EGDSOCKET, and also use
|
|
|
+ TLS consistently rather than mixing SSL and TLS. While there, also
|
|
|
+ fix a minor spelling nit.
|
|
|
|
|
|
- Closes #7144
|
|
|
+ Closes: #7391
|
|
|
+ Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
|
|
|
|
|
|
-- runtests: parse data/Makefile.inc instead of using make
|
|
|
-
|
|
|
- The warning about missing entries in that file then doesn't require that
|
|
|
- the Makefile has been regenerated which was confusing.
|
|
|
+- [Борис Верховский brought this change]
|
|
|
+
|
|
|
+ docs: document missing arguments to commands
|
|
|
|
|
|
- The scan for the test num is a little more error prone than before
|
|
|
- (since now it doesn't actually verify that it is legitimate Makefile
|
|
|
- syntax), but I think it is good enough.
|
|
|
+ This is a followup to commit f410b9e538129e77607fef1 fixing a few
|
|
|
+ more commands which takes arguments.
|
|
|
|
|
|
- Closes #7177
|
|
|
-
|
|
|
-- [Harry Sintonen brought this change]
|
|
|
+ Closes #7382
|
|
|
+ Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
|
|
|
|
|
|
- filecheck: quietly remove test-place/*~
|
|
|
-
|
|
|
- Closes #7179
|
|
|
+- [Randolf J brought this change]
|
|
|
|
|
|
-- CURLE_SETOPT_OPTION_SYNTAX: new error name for wrong setopt syntax
|
|
|
+ docs: fix incorrect argument name reference
|
|
|
|
|
|
- For options that pass in lists or strings that are subsequently parsed
|
|
|
- and must be correct. This broadens the scope for the option previously
|
|
|
- known as CURLE_TELNET_OPTION_SYNTAX but the old name is of course still
|
|
|
- provided as a #define for existing applications.
|
|
|
+ The documentation for the read callback was erroneously referencing
|
|
|
+ the nitems argument by nmemb. The error was introduced in commit
|
|
|
+ ce0881edee3c7.
|
|
|
|
|
|
- Closes #7175
|
|
|
+ Closes #7383
|
|
|
+ Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
|
|
|
|
|
|
-- tests: fix Accept-Encoding strips to work with Hyper builds
|
|
|
-
|
|
|
- The previous strip also removed the CR which turned problematic.
|
|
|
-
|
|
|
- valgrind.supp: add zstd suppression using hyper
|
|
|
-
|
|
|
- Reported-and-analyzed-by: Kevin Burke
|
|
|
- Fixes #7169
|
|
|
- Closes #7171
|
|
|
+- [Борис Верховский brought this change]
|
|
|
|
|
|
-- github: timeout jobs on macOS after 90 minutes
|
|
|
+ tool_help: Document that --tlspassword takes a password
|
|
|
|
|
|
- Assisted-by: Marc Hoersken
|
|
|
- Closes #7173
|
|
|
-
|
|
|
-- [Harry Sintonen brought this change]
|
|
|
+ Closes #7378
|
|
|
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
|
|
|
- mqtt: detect illegal and too large file size
|
|
|
+- scripts: Fix typo in release-notes instructions
|
|
|
|
|
|
- Add test 3017 and 3018 to verify.
|
|
|
- Closes #7166
|
|
|
+ The command to run had a typo in the pathname which prevented copy
|
|
|
+ pasting it to work, which has annoyed me enough to fix this now.
|
|
|
|
|
|
-- [theawless brought this change]
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- cmake: add CURL_DISABLE_NTLM option
|
|
|
+Jay Satiro (10 Jul 2021)
|
|
|
+- write-out.d: Clarify urlnum is not unique for de-globbed URLs
|
|
|
|
|
|
- Closes #7028
|
|
|
+ Reported-by: Коваленко Анатолий Викторович
|
|
|
+
|
|
|
+ Fixes https://github.com/curl/curl/issues/7342
|
|
|
+ Closes https://github.com/curl/curl/pull/7369
|
|
|
|
|
|
-- [theawless brought this change]
|
|
|
+Daniel Gustafsson (3 Jul 2021)
|
|
|
+- [William Desportes brought this change]
|
|
|
|
|
|
- configure: add --disable-ntlm option
|
|
|
+ docs: Fix typos
|
|
|
|
|
|
- Closes #7028
|
|
|
+ Closes: #7370
|
|
|
+ Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
|
|
|
|
|
|
-- [theawless brought this change]
|
|
|
+Daniel Stenberg (8 Jul 2021)
|
|
|
+- [Jonathan Wernberg brought this change]
|
|
|
|
|
|
- define: re-add CURL_DISABLE_NTLM and corresponding ifdefs
|
|
|
+ Revert "ftp: Expression 'ftpc->wait_data_conn' is always false"
|
|
|
|
|
|
- This flag will be further exposed by adding build options.
|
|
|
+ The reverted commit introduced a logic error in code that was
|
|
|
+ correct.
|
|
|
|
|
|
- Reverts #6809
|
|
|
- Closes #7028
|
|
|
-
|
|
|
-- RELEASE-NOTES: synced
|
|
|
-
|
|
|
-Viktor Szakats (1 Jun 2021)
|
|
|
-- travis: delete --enable-hsts option (it is the default now) [ci skip]
|
|
|
+ The client using libcurl would notice the error since FTP file
|
|
|
+ uploads in active transfer mode would somtimes complete with
|
|
|
+ success despite no transfer having been performed and the
|
|
|
+ "uploaded" file thus not being on the remote server afterwards.
|
|
|
|
|
|
- Reviewed-by: Daniel Stenberg
|
|
|
- Closes #7167
|
|
|
-
|
|
|
-Daniel Stenberg (1 Jun 2021)
|
|
|
-- hostip: fix 3 coverity complaints
|
|
|
+ The FTP server would notice the error because it receives a
|
|
|
+ RST on the data connection it has established with the client
|
|
|
+ before any data was transferred at all.
|
|
|
|
|
|
- Follow-up to 1a0ebf6632f889eed
|
|
|
+ The logic error happens if the STOR response from the server have
|
|
|
+ arrived by the time ftp_multi_statemach() in the affected code path
|
|
|
+ is called, but the incoming data connection have not arrived yet.
|
|
|
+ In that case, the processing of the STOR response will cause
|
|
|
+ 'ftpc->wait_data_conn' to be set to TRUE, contradicting the comment
|
|
|
+ in the code. Since 'complete' will also be set, later logic would
|
|
|
+ believe the transfer was done.
|
|
|
|
|
|
- - Check the return code to Curl_inet_pton() in two instances, even
|
|
|
- though we know the input is valid so the functions won't fail.
|
|
|
+ In most cases, the STOR response will not have arrived yet when
|
|
|
+ the affected code path is executed, or the incoming connection will
|
|
|
+ also have arrived, and thus the error would not express itself.
|
|
|
+ But if the speed difference of the device using libcurl and the
|
|
|
+ FTP server is exactly right, the error may happen as often as in
|
|
|
+ one out of hundred file transfers.
|
|
|
|
|
|
- - Clear the 'struct sockaddr_in' struct before use so that the
|
|
|
- 'sin_zero' field isn't left uninitialized.
|
|
|
+ This reverts commit 49f3117a238b6eac0e22a32f50699a9eddcb66ab.
|
|
|
|
|
|
- Detected by Coverity.
|
|
|
- Assisted-by: Harry Sintonen
|
|
|
- Closes #7163
|
|
|
+ Bug: https://curl.se/mail/lib-2021-07/0025.html
|
|
|
+ Closes #7362
|
|
|
|
|
|
-- c-hyper: fix NTLM on closed connection tested with test159
|
|
|
+- msnprintf: return number of printed characters excluding null byte
|
|
|
|
|
|
- Closes #7154
|
|
|
-
|
|
|
-- conncache: lowercase the hash key for better match
|
|
|
+ ... even when the output is "capped" by the maximum length argument.
|
|
|
|
|
|
- As host names are case insensitive, the use of case sensitive hashing
|
|
|
- caused unnecesary cache misses and therefore lost performance. This
|
|
|
- lowercases the hash key.
|
|
|
+ Clarified in the docs.
|
|
|
|
|
|
- Reported-by: Harry Sintonen
|
|
|
- Fixes #7159
|
|
|
- Closes #7161
|
|
|
+ Closes #7361
|
|
|
|
|
|
-- mbedtls: make mbedtls_strerror always work
|
|
|
+- infof: remove newline from format strings, always append it
|
|
|
|
|
|
- If the function doesn't exist, provide a macro that just clears the
|
|
|
- error message. Removes #ifdef uses from the code.
|
|
|
+ - the data needs to be "line-based" anyway since it's also passed to the
|
|
|
+ debug callback/application
|
|
|
|
|
|
- Closes #7162
|
|
|
-
|
|
|
-- vtls: exit addsessionid if no cache is inited
|
|
|
+ - it makes infof() work like failf() and consistency is good
|
|
|
|
|
|
- Follow-up to b249592d29ae0
|
|
|
+ - there's an assert that triggers on newlines in the format string
|
|
|
|
|
|
- Avoids NULL pointer derefs.
|
|
|
+ - Also removes a few instances of "..."
|
|
|
|
|
|
- Closes #7165
|
|
|
-
|
|
|
-- [Harry Sintonen brought this change]
|
|
|
-
|
|
|
- Curl_ntlm_core_mk_nt_hash: fix OOM in error path
|
|
|
+ - Removes the code that would append "..." to the end of the data *iff*
|
|
|
+ it was truncated in infof()
|
|
|
|
|
|
- Closes #7164
|
|
|
+ Closes #7357
|
|
|
|
|
|
-Michael Kaufmann (1 Jun 2021)
|
|
|
-- ssl: read pending close notify alert before closing the connection
|
|
|
+- examples/multi-single: fix scan-build warning
|
|
|
|
|
|
- This avoids a TCP reset (RST) if the server initiates a connection
|
|
|
- shutdown by sending an SSL close notify alert and then closes the TCP
|
|
|
- connection.
|
|
|
+ warning: Value stored to 'mc' during its initialization is never read
|
|
|
|
|
|
- For SSL connections, usually the server announces that it will close the
|
|
|
- connection with an SSL close notify alert. curl should read this alert.
|
|
|
- If curl does not read this alert and just closes the connection, some
|
|
|
- operating systems close the TCP connection with an RST flag.
|
|
|
+ Follow-up to ae8e11ed5fd2ce
|
|
|
|
|
|
- See RFC 1122, section 4.2.2.13
|
|
|
+ Closes #7360
|
|
|
+
|
|
|
+- wolfssl: failing to set a session id is not reason to error out
|
|
|
|
|
|
- If curl reads the close notify alert, the TCP connection is closed
|
|
|
- normally with a FIN flag.
|
|
|
+ ... as it is *probably* just timed out.
|
|
|
|
|
|
- The new code is similar to existing code in the "SSL shutdown" function:
|
|
|
- try to read an alert (non-blocking), and ignore any read errors.
|
|
|
+ Reported-by: Francisco Munoz
|
|
|
|
|
|
- Closes #7095
|
|
|
+ Closes #7358
|
|
|
|
|
|
-Daniel Stenberg (1 Jun 2021)
|
|
|
-- [Laurent Dufresne brought this change]
|
|
|
+- docs/examples: use curl_multi_poll() in multi examples
|
|
|
+
|
|
|
+ The API is soon two years old and deserves being shown as the primary
|
|
|
+ way to drive multi code as it makes it much easier to write code.
|
|
|
+
|
|
|
+ multi-poll: removed
|
|
|
+
|
|
|
+ multi-legacy: add to show how we did multi API use before
|
|
|
+ curl_multi_wait/poll.
|
|
|
+
|
|
|
+ Closes #7352
|
|
|
|
|
|
- setopt: fix incorrect comments
|
|
|
+- KNOWN_BUGS: flaky Windows CI builds
|
|
|
|
|
|
- Closes #7157
|
|
|
+ Closes #6972
|
|
|
|
|
|
-- [Laurent Dufresne brought this change]
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- mbedtls: add support for cert and key blob options
|
|
|
+- test1147: hyper doesn't allow "crazy" request headers like built-in
|
|
|
|
|
|
- CURLOPT_SSLCERT_BLOB and CURLOPT_SSLKEY_BLOB weren't usable with
|
|
|
- mbedtls backend, so the support was added.
|
|
|
+ ... so strip that from the test.
|
|
|
|
|
|
- Closes #7157
|
|
|
-
|
|
|
-- [Gregor Jasny brought this change]
|
|
|
+ Closes #7349
|
|
|
|
|
|
- cmake: try well-known send/recv signature for Apple
|
|
|
-
|
|
|
- The CMake `try_compile` command is especially slow for
|
|
|
- the Xcode generator. With this patch applied it first tests
|
|
|
- for the currently used (and Open Group specified) send/recv
|
|
|
- signature. In case this fails testing falls-back to the
|
|
|
- permutations.
|
|
|
+- c-hyper: bail on too long response headers
|
|
|
|
|
|
- speed-up:
|
|
|
+ To match with built-in behaviors. Makes test 1154 work.
|
|
|
|
|
|
- ```
|
|
|
- time cmake .. -GNinja -DCMAKE_USE_SECTRANSP=ON -DHTTP_ONLY=ON -DCMAKE_USE_LIBSSH2=OFF
|
|
|
- before: 11.64s user 11.09s system 55% cpu 40.754 total
|
|
|
- after: 7.84s user 6.57s system 51% cpu 28.074 total
|
|
|
- ```
|
|
|
+ Closes #7350
|
|
|
+
|
|
|
+- test1151: added missing CRLF to work with hyper
|
|
|
|
|
|
- ```
|
|
|
- time cmake .. -GXcode -DCMAKE_USE_SECTRANSP=ON -DHTTP_ONLY=ON -DCMAKE_USE_LIBSSH2=OFF
|
|
|
- before: 217.07s user 104.15s system 60% cpu 8:51.79 total
|
|
|
- after: 108.76s user 51.80s system 58% cpu 4:32.58 total
|
|
|
- ```
|
|
|
+ Closes #7350
|
|
|
+
|
|
|
+- c-hyper: add support for transfer-encoding in the request
|
|
|
|
|
|
- Closes #7158
|
|
|
+ Closes #7348
|
|
|
|
|
|
-- http2: init recvbuf struct for pushed streams
|
|
|
+- [Andrea Pappacoda brought this change]
|
|
|
+
|
|
|
+ cmake: remove libssh2 feature checks
|
|
|
|
|
|
- Debug builds would warn that these structs were not initialized properly
|
|
|
- for pushed streams.
|
|
|
+ libssh2 features are detected based on version since commit
|
|
|
+ 9dbbba997608f7c3c5de1c627c77c8cd2aa85b73
|
|
|
|
|
|
- Ref: #7148
|
|
|
- Closes #7153
|
|
|
+ Closes #7343
|
|
|
|
|
|
-- Curl_ssl_getsessionid: fail if no session cache exists
|
|
|
-
|
|
|
- This function might get called for an easy handle for which the session
|
|
|
- cache hasn't been setup. It now just returns a "miss" in that case.
|
|
|
+- test1116: hyper doesn't pass through "surprise-trailers"
|
|
|
|
|
|
- Reported-by: Christoph M. Becker
|
|
|
- Fixes #7148
|
|
|
- Closes #7153
|
|
|
+ Closes #7344
|
|
|
|
|
|
-- GOVERNANCE: add 'user', 'committer' and 'contributor'
|
|
|
+- socks4: scan for the IPv4 address in resolve results
|
|
|
|
|
|
- As those are commonly used terms in the project.
|
|
|
+ Follow-up to 84d2839740 which changed the resolving to always resolve
|
|
|
+ both address families, but since SOCKS4 only supports IPv4 it should
|
|
|
+ scan for and use the first available IPv4 address.
|
|
|
|
|
|
- Closes #7151
|
|
|
-
|
|
|
-- URL-SYNTAX.md: document the new 'localhost' treatment
|
|
|
+ Reported-by: shithappens2016 on github
|
|
|
+ Fixes #7345
|
|
|
+ Closes #7346
|
|
|
|
|
|
-- hostip: make 'localhost' return fixed values
|
|
|
-
|
|
|
- Resolving the case insensitive host name 'localhost' now returns the
|
|
|
- addresses 127.0.0.1 and (if IPv6 is enabled) ::1 without using any
|
|
|
- resolver.
|
|
|
+Jay Satiro (5 Jul 2021)
|
|
|
+- proto.d: fix formatting for paragraphs after margin changes
|
|
|
|
|
|
- This removes the risk that users accidentally resolves 'localhost' to
|
|
|
- something else. By making sure 'localhost' is always local, we can
|
|
|
- assume a "secure context" for such transfers (for cookies etc).
|
|
|
+ Closes https://github.com/curl/curl/pull/7341
|
|
|
+
|
|
|
+- pinnedpubkey.d: fix formatting for version support lists
|
|
|
|
|
|
- Closes #7039
|
|
|
+ Closes https://github.com/curl/curl/pull/7340
|
|
|
|
|
|
-Daniel Gustafsson (31 May 2021)
|
|
|
-- docs: fix typos
|
|
|
+Daniel Stenberg (2 Jul 2021)
|
|
|
+- TODO: "Support in-memory certs/ca certs/keys" done
|
|
|
+
|
|
|
+ Has been suppored for a while now with the *BLOB options.
|
|
|
|
|
|
-Daniel Stenberg (30 May 2021)
|
|
|
-- hsts: ignore numberical IP address hosts
|
|
|
+- examples: safer and more proper read callback logic
|
|
|
|
|
|
- Also, use a single function library-wide for detecting if a given hostname is
|
|
|
- a numerical IP address.
|
|
|
+ The same callback code is used in:
|
|
|
|
|
|
- Reported-by: Harry Sintonen
|
|
|
- Fixes #7146
|
|
|
- Closes #7149
|
|
|
-
|
|
|
-- test178: adjust for hyper
|
|
|
+ imap-append.c
|
|
|
+ smtp-authzid.c
|
|
|
+ smtp-mail.c
|
|
|
+ smtp-multi.c
|
|
|
+ smtp-ssl.c
|
|
|
+ smtp-tls.c
|
|
|
|
|
|
- Hyper returns the same error for wrong HTTP version as for negative
|
|
|
- content-length. Test 178 verifies that negative content-length is
|
|
|
- rejected but the hyper backend will return a different error for it (and
|
|
|
- without any helpful message telling why the message was bad). It will
|
|
|
- also not return any headers at all for the response, not even the ones
|
|
|
- that arrived before the error.
|
|
|
+ It should not assume that it can copy full lines into the buffer as it
|
|
|
+ will encourage sloppy coding practices. Instead use byte-wise logic and
|
|
|
+ check/acknowledge the buffer size appropriately.
|
|
|
|
|
|
- Closes #7147
|
|
|
-
|
|
|
-- HYPER: remove mentions of deprecated development branch
|
|
|
+ Reported-by: Harry Sintonen
|
|
|
+ Fixes #7330
|
|
|
+ Closes #7331
|
|
|
|
|
|
-- c-hyper: handle NULL from hyper_buf_copy()
|
|
|
+- test1519: adjusted to work with hyper
|
|
|
|
|
|
- Closes #7143
|
|
|
-
|
|
|
-- HSTS: not experimental anymore
|
|
|
-
|
|
|
-- [Douglas R. Reno brought this change]
|
|
|
+ Closes #7333
|
|
|
|
|
|
- INSTALL: use correct extension for CURL-DISABLE.md
|
|
|
+- test1518: adjusted to work with hyper
|
|
|
|
|
|
- In INSTALL.MD, it's currently set to CURL-DISABLE-md instead of
|
|
|
- CURL-DISABLE.md. This generates a 404 on the cURL website as well as
|
|
|
- when viewing the docs through Github.
|
|
|
+ ... by making sure the stdout output doesn't look like HTTP headers.
|
|
|
|
|
|
- Closes #7142
|
|
|
-
|
|
|
-- travis: run tests 1 - 153 with hyper
|
|
|
+ Closes #7333
|
|
|
|
|
|
-- c-hyper: convert HYPERE_INVALID_PEER_MESSAGE to CURLE_UNSUPPORTED_PROTOCOL
|
|
|
+- test1514: add a CRLF to the response to make it correct
|
|
|
|
|
|
- Makes test 129 work (HTTP/1.2 response).
|
|
|
+ Makes hyper accept it fine instead returning HYPERE_UNEXPECTED_EOF on
|
|
|
+ us.
|
|
|
|
|
|
- Closes #7141
|
|
|
+ Closes #7334
|
|
|
|
|
|
-- http_proxy: deal with non-200 CONNECT response with Hyper
|
|
|
+- formdata: avoid "Argument cannot be negative" warning
|
|
|
|
|
|
- Makes test 94 and 95 work
|
|
|
+ ... when converting a curl_off_t to size_t, by using
|
|
|
+ CURL_ZERO_TERMINATED before passing the argument to the function.
|
|
|
|
|
|
- Closes #7141
|
|
|
-
|
|
|
-- c-hyper: clear NTLM auth buffer when request is issued
|
|
|
+ Detected by Coverity CID 1486590.
|
|
|
|
|
|
- To prevent previous ones to get reused on subsequent requests. Matches
|
|
|
- how the built-in HTTP code works. Makes test 90 to 93 work.
|
|
|
+ Closes #7328
|
|
|
+ Assisted-by: Daniel Gustafsson
|
|
|
+
|
|
|
+- lib: more %u for port and int for %*s fixes
|
|
|
|
|
|
- Add test 90 to 93 in travis.
|
|
|
+ Detected by Coverity
|
|
|
|
|
|
- Closes #7139
|
|
|
+ Closes #7329
|
|
|
|
|
|
-- [Joel Depooter brought this change]
|
|
|
+- doh: (void)-prefix call to curl_easy_setopt
|
|
|
|
|
|
- schannel: set ALPN length correctly for HTTP/2
|
|
|
+- lib: fix type of len passed to *printf's %*s
|
|
|
|
|
|
- In a3268eca792f1 this code was changed to use the ALPN_H2 constant
|
|
|
- instead of the NGHTTP2_PROTO_ALPN constant. However, these constants are
|
|
|
- not the same. The nghttp2 constant included the length of the string,
|
|
|
- like this: "\x2h2". The ALPN_H2 constant is just "h2". Therefore we need
|
|
|
- to re-add the length of the string to the ALPN buffer.
|
|
|
+ ... it needs to be 'int'. Detected by Coverity CID 1486611 (etc)
|
|
|
|
|
|
- Closes #7138
|
|
|
+ Closes #7326
|
|
|
|
|
|
-- travis: run tests 1-89 in the hyper build
|
|
|
+- lib: use %u instead of %ld for port number printf
|
|
|
|
|
|
- Closes #7137
|
|
|
+ Follow-up to 764c6bd3bf which changed the type of some port number
|
|
|
+ fields. Detected by Coverity (CID 1486624) etc.
|
|
|
+
|
|
|
+ Closes #7325
|
|
|
|
|
|
-- Revert "c-hyper: handle body on HYPER_TASK_EMPTY"
|
|
|
+- version: turn version number functions into returning void
|
|
|
|
|
|
- This reverts commit c3eefa95c31f55657f0af422e8268d738f689066.
|
|
|
+ ... as we never use the return codes from them.
|
|
|
|
|
|
- Reported-by: Kevin Burke
|
|
|
- Fixes #7122
|
|
|
- Closes #7136
|
|
|
-
|
|
|
-- [Jon Rumsey brought this change]
|
|
|
+ Reviewed-by: Daniel Gustafsson
|
|
|
+ Closes #7319
|
|
|
|
|
|
- ccsidcurl: fix the compile errors
|
|
|
+- mqtt: extend the error message for no topic
|
|
|
|
|
|
- Looks like the declaration of cpp shoule be const char ** and return
|
|
|
- null if convert_version_info_string fails.
|
|
|
+ ... and mention that it needs URL encoding.
|
|
|
|
|
|
- Fixes #7134
|
|
|
- Closes #7135
|
|
|
-
|
|
|
-- [Viktor Szakats brought this change]
|
|
|
+ Reported-by: Peter Körner
|
|
|
+ Fixes #7316
|
|
|
+ Closes #7317
|
|
|
|
|
|
- docs: use --max-redirs instead of --max-redir
|
|
|
+- formdata: correct typecast in curl_mime_data call
|
|
|
|
|
|
- For consistency.
|
|
|
+ Coverity pointed out it the mismatch. CID 1486590
|
|
|
|
|
|
- Closes #7130
|
|
|
+ Closes #7327
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+- url: (void)-prefix a curl_url_get() call
|
|
|
|
|
|
- ... and bump to 7.77.1
|
|
|
-
|
|
|
-- [Michael Forney brought this change]
|
|
|
-
|
|
|
- travis: add bearssl build
|
|
|
+ Coverity (CID 1486645) pointed out a use of curl_url_get() in the
|
|
|
+ parse_proxy function where the return code wasn't checked. A
|
|
|
+ (void)-prefix makes the intention obvious.
|
|
|
|
|
|
- Closes #7133
|
|
|
-
|
|
|
-- [Michael Forney brought this change]
|
|
|
+ Closes #7320
|
|
|
|
|
|
- bearssl: explicitly initialize all fields of Curl_ssl
|
|
|
+- glob: pass an 'int' as len when using printf's %*s
|
|
|
|
|
|
- Also, add comments like the other vtls backends.
|
|
|
+ Detected by Coverity CID 1486629.
|
|
|
|
|
|
- Closes #7133
|
|
|
-
|
|
|
-- [Michael Forney brought this change]
|
|
|
+ Closes #7324
|
|
|
|
|
|
- bearssl: remove incorrect const on variable that is modified
|
|
|
+- vtls: use free() not curl_free()
|
|
|
|
|
|
- hostname may be set to NULL later on in this function if it is an
|
|
|
- IP address.
|
|
|
+ curl_free() is provided for users of the API to free returned data,
|
|
|
+ there's no need to use it internally.
|
|
|
|
|
|
- Closes #7133
|
|
|
-
|
|
|
-Version 7.77.0 (26 May 2021)
|
|
|
-
|
|
|
-Daniel Stenberg (26 May 2021)
|
|
|
-- RELEASE-NOTES: synced
|
|
|
-
|
|
|
-- THANKS: added contributors from 7.77.0 cycle
|
|
|
-
|
|
|
-- copyright: update copyright year ranges to 2021
|
|
|
-
|
|
|
-- [Radek Zajic brought this change]
|
|
|
+ Closes #7318
|
|
|
|
|
|
- hostip: fix broken macOS/CMake/GCC builds
|
|
|
+- zuul: use the new rustls directory name
|
|
|
|
|
|
- Follow-up to 31f631a142d855f06
|
|
|
+ Follow-up to 6d972c8b1cbb3 which missed updating this directory name.
|
|
|
|
|
|
- Fixes #7128
|
|
|
- Closes #7129
|
|
|
-
|
|
|
-- TODO: netrc caching and sharing
|
|
|
+ Also no longer call it crustls in the docs and bump to rusttls-ffi 0.7.1
|
|
|
|
|
|
- URL: https://curl.se/mail/archive-2021-05/0018.html
|
|
|
-
|
|
|
-- [Orgad Shaneh brought this change]
|
|
|
+ Closes #7311
|
|
|
|
|
|
- setopt: streamline ssl option code
|
|
|
+Jay Satiro (29 Jun 2021)
|
|
|
+- http: fix crash in rate-limited upload
|
|
|
|
|
|
- Make it use the same style as the code next to it
|
|
|
+ - Don't set the size of the piece of data to send to the rate limit if
|
|
|
+ that limit is larger than the buffer size that will hold the piece.
|
|
|
|
|
|
- Closes #7123
|
|
|
-
|
|
|
-- [Radek Zajic brought this change]
|
|
|
-
|
|
|
- lib/hostip6.c: make NAT64 address synthesis on macOS work
|
|
|
+ Prior to this change if CURLOPT_MAX_SEND_SPEED_LARGE
|
|
|
+ (curl tool: --limit-rate) was set then it was possible that a temporary
|
|
|
+ buffer used for uploading could be written to out of bounds. A likely
|
|
|
+ scenario for this would be a non-trivial amount of post data combined
|
|
|
+ with a rate limit larger than CURLOPT_UPLOAD_BUFFERSIZE (default 64k).
|
|
|
|
|
|
- Closes #7121
|
|
|
-
|
|
|
-- [ejanchivdorj brought this change]
|
|
|
-
|
|
|
- sectransp: fix EXC_BAD_ACCESS caused by uninitialized buffer
|
|
|
+ The bug was introduced in 24e469f which is in releases since 7.76.0.
|
|
|
|
|
|
- When the SecCertificateCopyCommonName function fails, it leaves
|
|
|
- common_name in a invalid state so CFStringCompare uses the invalid
|
|
|
- result, causing EXC_BAD_ACCESS.
|
|
|
+ perl -e "print '0' x 200000" > tmp
|
|
|
+ curl --limit-rate 128k -d @tmp httpbin.org/post
|
|
|
|
|
|
- The fix is to check the return value of the function before using the
|
|
|
- name.
|
|
|
+ Reported-by: Richard Marion
|
|
|
|
|
|
- Closes #7126
|
|
|
+ Fixes https://github.com/curl/curl/issues/7308
|
|
|
+ Closes https://github.com/curl/curl/pull/7315
|
|
|
|
|
|
-- [Paweł Wegner brought this change]
|
|
|
+Daniel Stenberg (29 Jun 2021)
|
|
|
+- copyright: add boiler-plate headers to CI config files
|
|
|
+
|
|
|
+ And whitelist .zuul.ignore
|
|
|
+
|
|
|
+ Closes #7314
|
|
|
|
|
|
- CMake: add CURL_ENABLE_EXPORT_TARGET option
|
|
|
+- CI: remove travis details
|
|
|
|
|
|
- install(EXPORT ...) causes trouble when embedding curl dependencies
|
|
|
- which don't provide install(EXPORT ...) targets (e.g libressl and
|
|
|
- nghttp2) with cmake's add_subdirectory.
|
|
|
+ Rename still used leftovers to "zuul" as that's now the CI using them.
|
|
|
|
|
|
- Reviewed-by: Jakub Zakrzewski
|
|
|
- Closes #7060
|
|
|
+ Closes #7313
|
|
|
|
|
|
-- [Alessandro Ghedini brought this change]
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- quiche: update for network path aware API
|
|
|
+- openssl: avoid static variable for seed flag
|
|
|
|
|
|
- Latest version of quiche requires the application to pass the peer
|
|
|
- address of received packets, and it provides the address for outgoing
|
|
|
- packets back.
|
|
|
+ Avoid the race condition risk by instead storing the "seeded" flag in
|
|
|
+ the multi handle. Modern OpenSSL versions handle the seeding itself so
|
|
|
+ doing the seeding once per multi-handle instead of once per process is
|
|
|
+ less of an issue.
|
|
|
|
|
|
- Closes #7120
|
|
|
-
|
|
|
-- [Jacob Hoffman-Andrews brought this change]
|
|
|
+ Reported-by: Gerrit Renker
|
|
|
+ Fixes #7296
|
|
|
+ Closes #7306
|
|
|
|
|
|
- rustls: switch read_tls and write_tls to callbacks
|
|
|
+- configure: inhibit the implicit-fallthrough warning on gcc-12
|
|
|
|
|
|
- And update to 0.6.0, including a rename from session to connection for
|
|
|
- many fields.
|
|
|
+ ... since it no longer acknowledges the comment markup we use for that
|
|
|
+ purpose.
|
|
|
|
|
|
- Closes #7071
|
|
|
+ Reported-by: Younes El-karama
|
|
|
+ Fixes #7295
|
|
|
+ Closes #7307
|
|
|
|
|
|
-- [Koichi Shiraishi brought this change]
|
|
|
+Daniel Gustafsson (28 Jun 2021)
|
|
|
+- [Andrei Rybak brought this change]
|
|
|
|
|
|
- sectransp: fix 7f4a9a9b2a49 commit about missing comma
|
|
|
+ misc: fix typos in comments which repeat a word
|
|
|
|
|
|
- Follow-up to 7f4a9a9b2a495
|
|
|
+ Fix typos in code comments which repeat various words. In trivial
|
|
|
+ cases, just delete the repeated word. Reword the affected sentence in
|
|
|
+ "lib/url.c" for it to make sense.
|
|
|
|
|
|
- Closes #7119
|
|
|
-
|
|
|
-- [Harry Sintonen brought this change]
|
|
|
+ Closes #7303
|
|
|
+ Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
|
|
|
|
|
|
- openssl: associate/detach the transfer from connection
|
|
|
+Daniel Stenberg (27 Jun 2021)
|
|
|
+- lib677: make it survive torture testing
|
|
|
|
|
|
- CVE-2021-22901
|
|
|
+ Follow-up to a5ab72d5edd7
|
|
|
|
|
|
- Bug: https://curl.se/docs/CVE-2021-22901.html
|
|
|
+ Closes #7300
|
|
|
|
|
|
-- [Harry Sintonen brought this change]
|
|
|
+- [Tommy Chiang brought this change]
|
|
|
|
|
|
- telnet: check sscanf() for correct number of matches
|
|
|
+ docs/BINDINGS: fix outdated links
|
|
|
|
|
|
- CVE-2021-22898
|
|
|
+ * luacurl page is now not accessible, fix it with wayback machine page
|
|
|
+ * Scheme one seems not providing https now, change it back to http one
|
|
|
|
|
|
- Bug: https://curl.se/docs/CVE-2021-22898.html
|
|
|
+ Closes #7301
|
|
|
|
|
|
-- schannel: don't use static to store selected ciphers
|
|
|
+- [Jacob Hoffman-Andrews brought this change]
|
|
|
+
|
|
|
+ curstls: bump crustls version and use new URL
|
|
|
|
|
|
- CVE-2021-22897
|
|
|
+ crustls moved to https://github.com/rustls/rustls-ffi. This also bumps
|
|
|
+ the expected version to 0.7.0.
|
|
|
|
|
|
- Bug: https://curl.se/docs/CVE-2021-22897.html
|
|
|
-
|
|
|
-- docs/tests: remove freenode references
|
|
|
+ Closes #7297
|
|
|
|
|
|
- RELEASE-NOTES: synced
|
|
|
|
|
|
-- [Sergey Markelov brought this change]
|
|
|
-
|
|
|
- NSS: make colons, commas and spaces valid separators in cipher list
|
|
|
-
|
|
|
- Fixes #7110
|
|
|
- Closes #7115
|
|
|
-
|
|
|
-- curl: include libmetalink version in --version output
|
|
|
+- examples: length-limit two sscanf() uses of %s
|
|
|
|
|
|
- Closes #7112
|
|
|
+ Reported-by: Jishan Shaikh
|
|
|
+ Fixes #7293
|
|
|
+ Closes #7294
|
|
|
|
|
|
-Jay Satiro (21 May 2021)
|
|
|
-- [Matias N. Goldberg brought this change]
|
|
|
+- [Richard Whitehouse brought this change]
|
|
|
|
|
|
- cmake: Use multithreaded compilation on VS 2008+
|
|
|
+ multi: alter transfer timeout ordering
|
|
|
|
|
|
- Multithreaded compilation has been supported since at least VS 2005 and
|
|
|
- been robustly stable since at least VS 2008
|
|
|
+ - Check whether a connection has succeded before checking whether it's
|
|
|
+ timed out.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/7109
|
|
|
-
|
|
|
-Daniel Stenberg (21 May 2021)
|
|
|
-- [Matias N. Goldberg brought this change]
|
|
|
-
|
|
|
- cmake: fix two invokes result in different curl_config.h
|
|
|
+ This means if we've connected quickly, but subsequently been
|
|
|
+ descheduled, we allow the connection to succeed. Note, if we timeout,
|
|
|
+ but between checking the timeout, and connecting to the server the
|
|
|
+ connection succeeds, we will allow it to go ahead. This is viewed as
|
|
|
+ an acceptable trade off.
|
|
|
|
|
|
- Fixes #7100
|
|
|
- Closes #7101
|
|
|
+ - Add additional failf logging around failed connection attempts to
|
|
|
+ propogate the cause up to the caller.
|
|
|
|
|
|
- Reviewed-by: Jakub Zakrzewski
|
|
|
- Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
|
|
|
-
|
|
|
-- [Peng-Yu Chen brought this change]
|
|
|
+ Co-Authored-by: Martin Howarth
|
|
|
+ Closes #7178
|
|
|
|
|
|
- cmake: detect CURL_SA_FAMILY_T
|
|
|
+- test677: IMAP CONNECT_ONLY, custom command and then exit
|
|
|
|
|
|
- Fixes #7049
|
|
|
- Closes #7065
|
|
|
-
|
|
|
-- [Lucas Clemente Vella brought this change]
|
|
|
+ Adjusted ftpserver.pl to add support for the IMAP IDLE command
|
|
|
+
|
|
|
+ Adjusted test 660 to sync with the fix
|
|
|
|
|
|
- CURLOPT_IPRESOLVE: preventing wrong IP version from being used
|
|
|
+- multi: do not switch off connect_only flag when closing
|
|
|
|
|
|
- In some situations, it was possible that a transfer was setup to
|
|
|
- use an specific IP version, but due do DNS caching or connection
|
|
|
- reuse, it ended up using a different IP version from requested.
|
|
|
+ ... as it made protocol specific disconnect commands wrongly get used.
|
|
|
|
|
|
- This commit changes the effect of CURLOPT_IPRESOLVE from simply
|
|
|
- restricting address resolution to preventing the wrong connection
|
|
|
- type being used, when choosing a connection from the pool, and
|
|
|
- to restricting what addresses could be used when establishing
|
|
|
- a new connection.
|
|
|
+ Bug: https://curl.se/mail/lib-2021-06/0024.html
|
|
|
+ Reported-by: Aleksander Mazur
|
|
|
+ Closes #7288
|
|
|
+
|
|
|
+- http: make the haproxy support work with unix domain sockets
|
|
|
|
|
|
- It is important that all addresses versions are resolved, even if
|
|
|
- not used in that transfer in particular, because the result is
|
|
|
- cached, and could be useful for a different transfer with a
|
|
|
- different CURLOPT_IPRESOLVE setting.
|
|
|
+ ... it should then pass on "PROXY UNKNOWN" since it doesn't know the
|
|
|
+ involved IP addresses.
|
|
|
|
|
|
- Closes #6853
|
|
|
+ Reported-by: Valentín Gutiérrez
|
|
|
+ Fixes #7290
|
|
|
+ Closes #7291
|
|
|
|
|
|
-- [Oliver Urbann brought this change]
|
|
|
+- [Xiang Xiao brought this change]
|
|
|
|
|
|
- AmigaOS: add functions definitions for SHA256
|
|
|
+ curl.h: include sys/select.h for NuttX RTOS
|
|
|
|
|
|
- AmiSSL replaces many functions with macros. Curl requires pointer
|
|
|
- to some of these functions. Thus, we have to encapsulate these macros:
|
|
|
- SHA256_Init, SHA256_Update, SHA256_Final, X509_INFO_free.
|
|
|
+ Closes #7287
|
|
|
+
|
|
|
+- [Bin Meng brought this change]
|
|
|
+
|
|
|
+ curl.h: remove the execution bit
|
|
|
|
|
|
- Bug: https://github.com/jens-maus/amissl/issues/15
|
|
|
- Co-authored-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+ The execution bit of curl.h file was wrongly added:
|
|
|
|
|
|
- Closes #7099
|
|
|
-
|
|
|
-- test2100: make it run with and require IPv6
|
|
|
+ commit 2621025d6f96 ("curl.h: <sys/select.h> is supported by VxWorks7")
|
|
|
|
|
|
- Closes #7083
|
|
|
-
|
|
|
-- tests/getpart: generate output URL encoded for better diffs
|
|
|
+ and should be removed.
|
|
|
|
|
|
- Closes #7083
|
|
|
+ Follow-up to 2621025d6f96 ("curl.h: <sys/select.h> is supported by VxWorks7")
|
|
|
+ Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
|
|
|
+ Closes #7286
|
|
|
|
|
|
-- [Ryan Beck-Buysse brought this change]
|
|
|
+- [Bin Lan brought this change]
|
|
|
|
|
|
- docs/TheArtOfHttpScripting: fix markdown links
|
|
|
-
|
|
|
- extra parens cause the links to be incorrectly formatted
|
|
|
- and inconsistent with the rest of the document.
|
|
|
+ curl.h: <sys/select.h> is supported by VxWorks7
|
|
|
|
|
|
- Signed-off-by: Ryan Beck-Buysse <rbuysse@gmail.com>
|
|
|
- Closes #7097
|
|
|
-
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+ Closes #7285
|
|
|
|
|
|
-- [Emil Engler brought this change]
|
|
|
+- [Bachue Zhou brought this change]
|
|
|
|
|
|
- docs: replace dots with dashes in markdown enums
|
|
|
+ quiche: use send() instead of sendto() to avoid macOS issue
|
|
|
|
|
|
- We use dashes instead of dots nearly everywhere except for those few
|
|
|
- cases. This commit addresses this issues and brings more coherency into
|
|
|
- it.
|
|
|
+ sendto() always returns "Socket is already connected" error on macos
|
|
|
|
|
|
- Closes #7093
|
|
|
+ Closes #7260
|
|
|
|
|
|
-- [Emil Engler brought this change]
|
|
|
+- [Li Xinwei brought this change]
|
|
|
|
|
|
- docs: improve INTERNALS.md regarding getsock cb
|
|
|
+ cmake: fix support for UnixSockets feature on Win32
|
|
|
|
|
|
- This adds the I/O prefix to indicate that those "actions" are kind-of
|
|
|
- related to those found in select(2) or poll(2) (reading/writing).
|
|
|
+ Move the definition of sockaddr_un struct from config-win32.h to
|
|
|
+ curl_setup.h, so that it could be shared by all build systems.
|
|
|
|
|
|
- It also adds a note where the prototypes of those functions can be found
|
|
|
- in the source code.
|
|
|
+ Add ADDRESS_FAMILY typedef for old mingw, now old mingw can also use
|
|
|
+ unix sockets.
|
|
|
|
|
|
- Closes #7092
|
|
|
+ Also fix the build of tests/server/sws.c on Win32 when USE_UNIX_SOCKETS
|
|
|
+ is defined.
|
|
|
+
|
|
|
+ Closes #7034
|
|
|
|
|
|
-- [Emil Engler brought this change]
|
|
|
+- [Gregory Muchka brought this change]
|
|
|
|
|
|
- docs: document attach in INTERNALS.md
|
|
|
+ hostip: (macOS) free returned memory of SCDynamicStoreCopyProxies
|
|
|
|
|
|
- The new field in the Curl_handler struct still lacks documentation. This
|
|
|
- adds it it from the information extracted from lib/urldata.h:797
|
|
|
+ From Apples documentation on SCDynamicStoreCopyProxies, "Return Value: A
|
|
|
+ dictionary of key-value pairs that represent the current internet proxy
|
|
|
+ settings, or NULL if no proxy settings have been defined or if an error
|
|
|
+ occurred. You must release the returned value."
|
|
|
|
|
|
- Closes #7091
|
|
|
-
|
|
|
-- [Marc Aldorasi brought this change]
|
|
|
-
|
|
|
- config: remove now-unused macros
|
|
|
+ Failure to release the returned value of SCDynamicStoreCopyProxies can
|
|
|
+ result in a memory leak.
|
|
|
|
|
|
- Closes #7094
|
|
|
+ Source: https://developer.apple.com/documentation/systemconfiguration/1517088-scdynamicstorecopyproxies
|
|
|
+
|
|
|
+ Closes #7265
|
|
|
|
|
|
-- [Marc Aldorasi brought this change]
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- hostip.h: remove declaration of unimplemented function
|
|
|
+Jay Satiro (21 Jun 2021)
|
|
|
+- vtls: fix warning due to function prototype mismatch
|
|
|
|
|
|
- Closes #7094
|
|
|
+ b09c8ee changed the function prototype. Caught by Visual Studio.
|
|
|
|
|
|
-- h3: add 'attach' callback to protocol handlers
|
|
|
-
|
|
|
- Follow-up to 0c55fbab45be
|
|
|
+- curl_multibyte: Remove local encoding fallbacks
|
|
|
|
|
|
- Reviewed-by: Emil Engler
|
|
|
- Closes #7090
|
|
|
-
|
|
|
-- wolfssl: remove SSLv3 support leftovers
|
|
|
+ - If the UTF-8 to UTF-16 conversion fails in Windows Unicode builds then
|
|
|
+ no longer fall back to assuming the string is in a local encoding.
|
|
|
|
|
|
- Closes #7088
|
|
|
-
|
|
|
-- curl-wolfssl.m4: without custom include path, assume /usr/include
|
|
|
+ Background:
|
|
|
|
|
|
- ... so that we can point out the root of the OpenSSL emulation headers.
|
|
|
- Previously this used the '$includedir' variable which is wrong since
|
|
|
- that defaults to the dir where the current configure invoke will install
|
|
|
- the built libcurl headers: /usr/local by default.
|
|
|
+ Some functions in Windows Unicode builds must convert UTF-8 to UTF-16 to
|
|
|
+ pass to the Windows CRT API wide-character functions since in Windows
|
|
|
+ UTF-8 is not a valid locale (or at least 99% of the time right now).
|
|
|
|
|
|
- Fixes #7085
|
|
|
- Reported-by: Joel Jakobsson
|
|
|
- Closes #7087
|
|
|
-
|
|
|
-- [Joel Depooter brought this change]
|
|
|
-
|
|
|
- data_pending: check only SECONDARY socket for FTP(S) transfers
|
|
|
+ Prior to this change if the Unicode encoding conversion failed then
|
|
|
+ libcurl would assume, for backwards compatibility with applications that
|
|
|
+ may have written their code for non-Unicode builds, attempt to convert
|
|
|
+ the string from local encoding to UTF-16.
|
|
|
|
|
|
- Check the FIRST for all other protocols.
|
|
|
+ That type of "best effort" could theoretically cause some type of
|
|
|
+ security or other problem if a string that was locally encoded was also
|
|
|
+ valid UTF-8, and therefore an unexpected UTF-8 to UTF-16 conversion
|
|
|
+ could occur.
|
|
|
|
|
|
- This fixes a timeout in an ftps download. The server sends a TLS
|
|
|
- close_notify message in the same packet as the file data. The
|
|
|
- close_notify seems to not be handled in the schannel_recv function, so
|
|
|
- libcurl is not aware that the server has closed the connection. Thus
|
|
|
- libcurl ends up waiting for action on the socket until a timeout is
|
|
|
- reached. With the secondary socket check added to the data_pending
|
|
|
- function, the close_notify is properly handled, and the ftps transfer
|
|
|
- terminates as expected.
|
|
|
+ Ref: https://github.com/curl/curl/pull/7246
|
|
|
|
|
|
- Fixes #7068
|
|
|
- Closes #7069
|
|
|
+ Closes https://github.com/curl/curl/pull/7257
|
|
|
|
|
|
-- github: inhibit deprecated declarations for clang on macOS
|
|
|
+Daniel Stenberg (20 Jun 2021)
|
|
|
+- curl_endian: remove the unused Curl_write64_le function
|
|
|
|
|
|
- ... as they otherwise cause ldap build errors in the CI.
|
|
|
+ The last usage was removed in cca455a36
|
|
|
|
|
|
- Fixes #7081
|
|
|
- Closes #7082
|
|
|
+ Closes #7280
|
|
|
|
|
|
-- conn: add 'attach' to protocol handler, make libssh2 use it
|
|
|
+- vtls: only store TIMER_APPCONNECT for non-proxy connect
|
|
|
|
|
|
- The libssh2 backend has SSH session associated with the connection but
|
|
|
- the callback context is the easy handle, so when a connection gets
|
|
|
- attached to a transfer, the protocol handler now allows for a custom
|
|
|
- function to get used to set things up correctly.
|
|
|
+ Introducing a 'isproxy' argument to the connect function so that it
|
|
|
+ knows wether to store the time stamp or not.
|
|
|
|
|
|
- Reported-by: Michael O'Farrell
|
|
|
- Fixes #6898
|
|
|
- Closes #7078
|
|
|
+ Reported-by: Yongkang Huang
|
|
|
+ Fixes #7274
|
|
|
+ Closes #7274
|
|
|
|
|
|
-- http2: make sure pause is done on HTTP
|
|
|
+- gnutls: set the preferred TLS versions in correct order
|
|
|
|
|
|
- Since the function is called for any protocol, we can't assume that the
|
|
|
- HTTP struct is there without first making sure it is HTTP.
|
|
|
+ Regression since 781864bedbc57 (curl 7.77.0)
|
|
|
|
|
|
- Reported-by: Denis Goleshchikhin
|
|
|
- Fixes #7079
|
|
|
- Closes #7080
|
|
|
+ Reported-by: civodul on github
|
|
|
+ Assisted-by: Nikos Mavrogiannopoulos
|
|
|
+ Fixes #7277
|
|
|
+ Closes #7278
|
|
|
|
|
|
-- docs: cookies from HTTP headers need domain set
|
|
|
-
|
|
|
- ... or the cookies won't get sent. Push users to using the "Netscape"
|
|
|
- format instead, which curl uses when saving a cookie "jar".
|
|
|
+- [Gergely Nagy brought this change]
|
|
|
+
|
|
|
+ configure/cmake: remove checks for unused gethostbyaddr and gethostbyaddr_r
|
|
|
|
|
|
- Reported-by: Martin Dorey
|
|
|
- Reviewed-by: Daniel Gustafsson
|
|
|
- Fixes #6723
|
|
|
- Closes #7077
|
|
|
+ Closes #7276
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+- [Gergely Nagy brought this change]
|
|
|
|
|
|
-- github: add a workflow with libssh2 on macOS using cmake
|
|
|
+ configure/cmake: remove checks for unused inet_ntoa and inet_ntoa_r
|
|
|
|
|
|
- Closes #7047
|
|
|
+ Closes #7276
|
|
|
|
|
|
-- sws: allow HTTP requests up to 2MB in size
|
|
|
+- [Gergely Nagy brought this change]
|
|
|
+
|
|
|
+ configure/cmake: remove unused define HAVE_PERROR
|
|
|
|
|
|
- To allow tests with slightly larger payloads. Like #7071 ...
|
|
|
+ Closes #7276
|
|
|
+
|
|
|
+- [Gergely Nagy brought this change]
|
|
|
+
|
|
|
+ configure: remove unused check for gai_strerror
|
|
|
|
|
|
- Closes #7075
|
|
|
+ Closes #7276
|
|
|
|
|
|
-Marc Hoersken (16 May 2021)
|
|
|
-- CI/azure: increase verbosity and fix outdated task names
|
|
|
+- [Gergely Nagy brought this change]
|
|
|
+
|
|
|
+ configure/cmake: remove unused define HAVE_FREEIFADDRS
|
|
|
|
|
|
- Closes #7063
|
|
|
+ Closes #7276
|
|
|
|
|
|
-- CI/cirrus: add shared and static Windows release builds
|
|
|
+- [Gergely Nagy brought this change]
|
|
|
+
|
|
|
+ configure/cmake: remove unused define HAVE_FORK
|
|
|
|
|
|
- Azure Pipelines is currently being used for debug builds,
|
|
|
- let's also run some non-debug (release) Windows builds and
|
|
|
- make use of previously underutilized Cirrus CI for that.
|
|
|
+ Closes #7276
|
|
|
+
|
|
|
+- [Gergely Nagy brought this change]
|
|
|
+
|
|
|
+ configure/cmake: remove unused define HAVE_FDOPEN
|
|
|
|
|
|
- Reviewed-by: Marcel Raad
|
|
|
+ Closes #7276
|
|
|
+
|
|
|
+- [Gergely Nagy brought this change]
|
|
|
+
|
|
|
+ configure/cmake: remove checks for unused sgtty.h
|
|
|
|
|
|
- Closes #6991
|
|
|
+ Closes #7276
|
|
|
|
|
|
-Daniel Stenberg (16 May 2021)
|
|
|
-- CURLOPT_CAPATH.3: defaults to a path, not NULL
|
|
|
+- [Gergely Nagy brought this change]
|
|
|
+
|
|
|
+ configure/cmake: remove remaining checks for rsa.h
|
|
|
|
|
|
- Reported-by: Andrew Barnert
|
|
|
+ Closes #7276
|
|
|
+
|
|
|
+- [Gergely Nagy brought this change]
|
|
|
+
|
|
|
+ configure/cmake: remove remaining checks for err.h
|
|
|
|
|
|
- Closes #7062
|
|
|
+ Closes #7276
|
|
|
|
|
|
-- [Jacob Hoffman-Andrews brought this change]
|
|
|
+- [Gergely Nagy brought this change]
|
|
|
|
|
|
- c-hyper: handle body on HYPER_TASK_EMPTY
|
|
|
+ configure/cmake: remove remaining checks for crypto.h
|
|
|
|
|
|
- Some of the time, we get a HYPER_TASK_EMPTY response before the status
|
|
|
- line, headers, and body have been read. Previously, that would cause us
|
|
|
- to poll again, leading to a 1 second timeout.
|
|
|
+ Closes #7276
|
|
|
+
|
|
|
+- [Gergely Nagy brought this change]
|
|
|
+
|
|
|
+ configure/cmake: remove checks for unused getservbyport_r
|
|
|
|
|
|
- The HYPER_TASK_EMPTY docs say:
|
|
|
+ Closes #7276
|
|
|
+
|
|
|
+- --socks4[a]: clarify where the host name is resolved
|
|
|
|
|
|
- The value of this task is null (does not imply an error).
|
|
|
+ Closes #7273
|
|
|
+
|
|
|
+- libcurl-security.3: mention file descriptors and forks
|
|
|
|
|
|
- So, if we receive a HYPER_TASK_EMPTY, continue on with processing the
|
|
|
- response.
|
|
|
+ ... and move the security report section last.
|
|
|
|
|
|
- Reported-by: Kevin Burke
|
|
|
- Fixes #7064
|
|
|
- Closes #7070
|
|
|
+ Reported-by: Harry Sintonen
|
|
|
+ Closes #7270
|
|
|
|
|
|
-- [Ikko Ashimine brought this change]
|
|
|
+- [Alex Xu (Hello71) brought this change]
|
|
|
|
|
|
- tool_getparam: fix comment typo in tool_getparam.c
|
|
|
+ configure.ac: make non-executable
|
|
|
|
|
|
- enfore -> enforce
|
|
|
+ it needs to be processed by autoconf or autoreconf, and doesn't have a
|
|
|
+ suitable shebang to be directly executed. other projects normally set
|
|
|
+ configure.ac -x.
|
|
|
|
|
|
- Closes #7074
|
|
|
+ Closes #7272
|
|
|
|
|
|
-- mem-include-scan.pl: require a non-word letter before memory funcs
|
|
|
+- configure: do not strip out debug flags
|
|
|
|
|
|
- ... so that ldap_memfree() for example doesn't match the scan for free.
|
|
|
+ To allow users to set them when invoking configure without using
|
|
|
+ --with-debug.
|
|
|
|
|
|
- Closes #7061
|
|
|
+ Reported-by: Alex Xu
|
|
|
+ Fixes #7216
|
|
|
+ Closes #7267
|
|
|
|
|
|
-- version: free the openldap info correctly
|
|
|
-
|
|
|
- ... to avoid memory leaks.
|
|
|
+- libssh2: limit time a disconnect can take to 1 second
|
|
|
|
|
|
- Follow-up to: bf0feae7768d9
|
|
|
- Closes #7061
|
|
|
+ Closes #7271
|
|
|
|
|
|
-- dupset: remove totally off comment
|
|
|
+- TLS: prevent shutdown loops to get stuck
|
|
|
|
|
|
- Closes #7067
|
|
|
-
|
|
|
-- configure: if asked for, fail if ldap is not found
|
|
|
+ ... by making sure the loops are only allowed to read the shutdown
|
|
|
+ traffic a limited number of times.
|
|
|
|
|
|
- Reported-by: Jakub Zakrzewski
|
|
|
- Fixes #7053
|
|
|
- Closes #7055
|
|
|
+ Reported-by: Harry Sintonen
|
|
|
+ Closes #7271
|
|
|
|
|
|
-- version: add OpenLDAP version in the output
|
|
|
+- hyper: propagate errors back up from read callbacks
|
|
|
|
|
|
- Assisted-by: Howard Chu
|
|
|
- Closes #7054
|
|
|
-
|
|
|
-Jay Satiro (13 May 2021)
|
|
|
-- [Joel Depooter brought this change]
|
|
|
-
|
|
|
- schannel: Ensure the security context request flags are always set
|
|
|
+ Makes test 513 work with hyper
|
|
|
|
|
|
- As of commit 54e7475, these flags would only be set when using a new
|
|
|
- credential handle. When re-using an existing credential handle, the
|
|
|
- flags would not be set.
|
|
|
+ Closes #7266
|
|
|
+
|
|
|
+- KNOWN_BUGS: Negotiate on Windows fails
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/7051
|
|
|
+ Closes #5881
|
|
|
|
|
|
-Dan Fandrich (12 May 2021)
|
|
|
-- tests: Fix some tag matching issues in a number of tests
|
|
|
+- KNOWN_BUGS: renames instead of locking for atomic operations
|
|
|
+
|
|
|
+ Closes #6882
|
|
|
+ Closes #6884
|
|
|
|
|
|
-Daniel Stenberg (12 May 2021)
|
|
|
-- sasl: use 'unsigned short' to store mechanism
|
|
|
+- zuul: add two missing CI jobs
|
|
|
|
|
|
- ... saves a few bytes of struct size in memory and it only uses
|
|
|
- 10 bits anyway.
|
|
|
+ ... that were configured, just not run
|
|
|
|
|
|
- Closes #7045
|
|
|
+ Closes #7261
|
|
|
|
|
|
-- hostip: remove the debug code for LocalHost
|
|
|
-
|
|
|
- The Curl_resolv() had special code (when built in debug mode) for when
|
|
|
- resolving the host name "LocalHost" (using that exact casing). It would
|
|
|
- then get the host name from the --interface option instead.
|
|
|
+Viktor Szakats (15 Jun 2021)
|
|
|
+- idn: fix libidn2 with windows unicode builds
|
|
|
|
|
|
- This development-only feature was not used by anything (anymore) and we
|
|
|
- have the --resolve feature if we want to play similar tricks properly
|
|
|
- going forward.
|
|
|
+ Unicode Windows builds use UTF-8 strings internally in libcurl,
|
|
|
+ so make sure to call the UTF-8 flavour of the libidn2 API. Also
|
|
|
+ document that Windows builds with libidn2 and UNICODE do expect
|
|
|
+ CURLOPT_URL as an UTF-8 string.
|
|
|
|
|
|
- Closes #7044
|
|
|
+ Reported-by: dEajL3kA on github
|
|
|
+ Assisted-by: Jay Satiro
|
|
|
+ Reviewed-by: Marcel Raad
|
|
|
+ Closes #7246
|
|
|
+ Fixes #7228
|
|
|
|
|
|
-- progress: reset limit_size variables at transfer start
|
|
|
+Daniel Stenberg (15 Jun 2021)
|
|
|
+- curl_url_set: reject spaces in URLs w/o CURLU_ALLOW_SPACE
|
|
|
|
|
|
- Otherwise the old value would linger from a previous use and would mess
|
|
|
- up the network speed cap logic.
|
|
|
+ They were never officially allowed and slipped in only due to sloppy
|
|
|
+ parsing. Spaces (ascii 32) should be correctly encoded (to %20) before
|
|
|
+ being part of a URL.
|
|
|
|
|
|
- Reported-by: Ymir1711 on github
|
|
|
+ The new flag bit CURLU_ALLOW_SPACE when a full URL is set, makes libcurl
|
|
|
+ allow spaces.
|
|
|
|
|
|
- Fixes #7042
|
|
|
- Closes #7043
|
|
|
+ Updated test 1560 to verify.
|
|
|
+
|
|
|
+ Closes #7073
|
|
|
|
|
|
- RELEASE-NOTES: synced
|
|
|
+
|
|
|
+ ... and bump to version 7.78.0 for the next planned release.
|
|
|
|
|
|
-- [Daniel Gustafsson brought this change]
|
|
|
-
|
|
|
- cookies: use CURLcode for cookie_output reporting
|
|
|
+Jay Satiro (15 Jun 2021)
|
|
|
+- docs: Remove outdated curl tool limitation
|
|
|
|
|
|
- Writing the cookie file has multiple error conditions, and was using an
|
|
|
- int with magic numbers to report the different error (which in turn were
|
|
|
- disregarded anyways). This moves reporting to use a CURLcode value.
|
|
|
+ - Document that HTTP/2 multiplexing is supported by the curl tool when
|
|
|
+ parallel transfers are used.
|
|
|
|
|
|
- Lightly-touched-by: Daniel Stenberg
|
|
|
+ Supported since 7.66.0 via --parallel, but the doc wasn't updated.
|
|
|
|
|
|
- Closes #7037
|
|
|
- Closes #6749
|
|
|
-
|
|
|
-- [Daniel Gustafsson brought this change]
|
|
|
+ Closes https://github.com/curl/curl/pull/7259
|
|
|
|
|
|
- cookies: make use of string duplication function
|
|
|
+- http2: Clarify 'Using HTTP2' verbose message
|
|
|
|
|
|
- strstore() is defined as a strdup which ensures to free the target
|
|
|
- pointer before duping the source char * into it. Make use of it in
|
|
|
- two more cases where it can simplify the code.
|
|
|
-
|
|
|
-- [Daniel Gustafsson brought this change]
|
|
|
-
|
|
|
- cookies: refactor comments
|
|
|
+ - Change phrasing from multi-use to multiplexing since the former may
|
|
|
+ not be as well understood.
|
|
|
|
|
|
- Comments in the cookie code were a bit all over the place in terms of
|
|
|
- style and wording. This takes a stab at cleaning them up by keeping to
|
|
|
- a single style and overall shape. Some comments are moved a little and
|
|
|
- some removed alltogether due to being redundant. No functional changes
|
|
|
- have been made,
|
|
|
-
|
|
|
-- [Peng-Yu Chen brought this change]
|
|
|
-
|
|
|
- http2: skip immediate parsing of payload following protocol switch
|
|
|
+ Before: * Using HTTP2, server supports multi-use
|
|
|
|
|
|
- This is considered not harmful as a following http2_recv shall be
|
|
|
- called very soon.
|
|
|
+ After: * Using HTTP2, server supports multiplexing
|
|
|
|
|
|
- This is considered helpful in the specific situation where some
|
|
|
- servers (e.g. nghttpx v1.43.0) may fulfill stream 1 immediately
|
|
|
- following the return of HTTP status 101, other than waiting for
|
|
|
- the client-side connection preface to arrive.
|
|
|
+ Bug: https://github.com/curl/curl/discussions/7255
|
|
|
+ Reported-by: David Hu
|
|
|
|
|
|
- Fixes #7036
|
|
|
- Closes #7040
|
|
|
-
|
|
|
-- [Peng-Yu Chen brought this change]
|
|
|
+ Closes https://github.com/curl/curl/pull/7258
|
|
|
|
|
|
- http2: use nghttp2_session_upgrade2 instead of nghttp2_session_upgrade
|
|
|
-
|
|
|
- Following the upstream deprecation of nghttp2_session_upgrade.
|
|
|
-
|
|
|
- Also provides further checks for requests with the HEAD method.
|
|
|
+Daniel Stenberg (14 Jun 2021)
|
|
|
+- winbuild/README: VC should be set to 6 'or larger'
|
|
|
|
|
|
- Closes #7041
|
|
|
-
|
|
|
-- progress/trspeed: use a local convenient pointer to beautify code
|
|
|
+ Previously it listed all versions up to 15 (missing 16) but this new
|
|
|
+ phrasing is more open ended.
|
|
|
|
|
|
- The function becomes easier to read and understand with less repetition.
|
|
|
+ Reported-by: Hugh Macdonald
|
|
|
+ Fixes #7253
|
|
|
+ Closes #7254
|
|
|
|
|
|
-- trspeed: use long double for transfer speed calculation
|
|
|
+- [Jacob Hoffman-Andrews brought this change]
|
|
|
|
|
|
-- progress: move transfer speed calc into function
|
|
|
+ rustls: remove native_roots fallback
|
|
|
|
|
|
- This silences two scan-build-11 warnings: "The result of the '/'
|
|
|
- expression is undefined"
|
|
|
+ For the commandline tool, we expect to be passed
|
|
|
+ SSL_CONN_CONFIG(CAfile); for library use, the use should pass a set of
|
|
|
+ trusted roots (like in other TLS backends).
|
|
|
|
|
|
- Bug: https://curl.se/mail/lib-2021-05/0022.html
|
|
|
- Closes #7035
|
|
|
+ This also removes a dependency on Security.framework when building on
|
|
|
+ macOS.
|
|
|
+
|
|
|
+ Closes #7250
|
|
|
|
|
|
-- [Cameron Cawley brought this change]
|
|
|
+- [Albin Vass brought this change]
|
|
|
|
|
|
- openssl: remove unneeded cast for CertOpenSystemStore()
|
|
|
+ travis: remove jobs that have migrated to zuul
|
|
|
|
|
|
- Closes #7025
|
|
|
+ Closes #7245
|
|
|
|
|
|
-- travis: disable the libssh build
|
|
|
+- [Mohammed Naser brought this change]
|
|
|
+
|
|
|
+ CI: add jobs using Zuul
|
|
|
|
|
|
- It can't run on focal and causes warnings on bionic. Since the focal
|
|
|
- failure started rather suddenly a while ago, we can suspect it might be
|
|
|
- temporary.
|
|
|
+ It also includes a few changes to get the builds going:
|
|
|
+ - Added autoconf to common dependencies
|
|
|
+ - Added automake to common dependencies
|
|
|
+ - Added libtool to common dependencies
|
|
|
+ - Added libssl-dev to common dependencies
|
|
|
|
|
|
- Added "bring back the build" to the TODO document.
|
|
|
+ Co-authored-by: Albin Vass
|
|
|
|
|
|
- Fixes #7011
|
|
|
- Closes #7012
|
|
|
-
|
|
|
-- [Peng-Yu Chen brought this change]
|
|
|
+ Closes #7245
|
|
|
|
|
|
- http: use calculated offsets inst of integer literals for header parsing
|
|
|
-
|
|
|
- Assumed to be a minor coding style improvement with no behavior change.
|
|
|
+- netrc: skip 'macdef' definitions
|
|
|
|
|
|
- A modern compiler is expected to have the calculation optimized during
|
|
|
- compilation. It may be deemed okay even if that's not the case, since
|
|
|
- the added overhead is considered very low.
|
|
|
+ Add test 494 to verify
|
|
|
|
|
|
- Closes #7032
|
|
|
-
|
|
|
-- [Peng-Yu Chen brought this change]
|
|
|
+ Reported-by: Harry Sintonen
|
|
|
+ Fixes #7238
|
|
|
+ Closes #7244
|
|
|
|
|
|
- GIT-INFO: suggest using autoreconf instead of buildconf
|
|
|
+- multi: add scan-build-6 work-around in curl_multi_fdset
|
|
|
|
|
|
- Follow-up to 85868537d
|
|
|
+ scan-build-6 otherwise warns, saying: warning: The left operand of '>='
|
|
|
+ is a garbage value otherwise, which is false.
|
|
|
|
|
|
- Closes #7033
|
|
|
+ Later scan-builds don't claim this on the same code.
|
|
|
+
|
|
|
+ Closes #7248
|
|
|
|
|
|
-- http: deal with partial CONNECT sends
|
|
|
+- asyn-ares: remove check for 'data' in Curl_resolver_cancel
|
|
|
|
|
|
- Also added 'CURL_SMALLSENDS' to make Curl_write() send short packets,
|
|
|
- which helped verifying this even more.
|
|
|
+ It implied it would survive a NULL in there which it won't. Instead do
|
|
|
+ an assert.
|
|
|
|
|
|
- Add test 363 to verify.
|
|
|
+ Pointed out by scan-build.
|
|
|
|
|
|
- Reported-by: ustcqidi on github
|
|
|
- Fixes #6950
|
|
|
- Closes #7024
|
|
|
+ Closes #7248
|
|
|
|
|
|
-- HTTP3: make the ngtcp2 build use the quictls fork
|
|
|
+- url.c: remove two variable assigns that are never read
|
|
|
|
|
|
- ... as ngtcp2 itself documents the build this way.
|
|
|
+ Pointed out by scan-build
|
|
|
|
|
|
- Closes #7031
|
|
|
+ Closes #7248
|
|
|
|
|
|
-- http: limit the initial send amount to used upload buffer size
|
|
|
+- [Gealber Morales brought this change]
|
|
|
+
|
|
|
+ mqtt: add support for username and password
|
|
|
|
|
|
- Previously this logic would cap the send to CURL_MAX_WRITE_SIZE bytes,
|
|
|
- but for the situations where a larger upload buffer has been set, this
|
|
|
- function can benefit from sending more bytes. With default size used,
|
|
|
- this does the same as before.
|
|
|
+ Minor-edits-by: Daniel Stenberg
|
|
|
+ Added test 2200 to 2205
|
|
|
|
|
|
- Also changed the storage of the size to an 'unsigned int' as it is not
|
|
|
- allowed to be set larger than 2M.
|
|
|
+ Closes #7243
|
|
|
+
|
|
|
+- travis: remove the arm job
|
|
|
|
|
|
- Also added cautions to the man pages about changing buffer sizes in
|
|
|
- run-time.
|
|
|
+ We do it on circle CI instead
|
|
|
+
|
|
|
+- CI: add .circleci/config.yml
|
|
|
|
|
|
- Closes #7022
|
|
|
+ Assisted-by: Gabriel Simmer
|
|
|
+
|
|
|
+ Closes #7239
|
|
|
|
|
|
- RELEASE-NOTES: synced
|
|
|
|
|
|
-- ngtcp2: fix the cb_acked_stream_data_offset proto
|
|
|
-
|
|
|
- The 'datalen' value should be 64 bit, not size_t!
|
|
|
-
|
|
|
- Reported-by: Dmitry Karpov
|
|
|
- Bug: https://curl.se/mail/lib-2021-05/0019.html
|
|
|
- Closes #7027
|
|
|
+- runtests: init $VERSION to avoid warnings when using -l
|
|
|
|
|
|
-- progress: when possible, calculate transfer speeds with microseconds
|
|
|
+- openssl: don't remove session id entry in disassociate
|
|
|
|
|
|
- ... this improves precision, especially for transfers in the few or even
|
|
|
- sub millisecond range.
|
|
|
+ When a connection is disassociated from a transfer, the Session ID entry
|
|
|
+ should remain.
|
|
|
|
|
|
- Reported-by: J. Bromley
|
|
|
- Fixes #7017
|
|
|
- Closes #7020
|
|
|
+ Regression since 7f4a9a9 (shipped in libcurl 7.77.0)
|
|
|
+ Reported-by: Gergely Nagy
|
|
|
+ Reported-by: Paul Groke
|
|
|
+
|
|
|
+ Fixes #7222
|
|
|
+ Closes #7230
|
|
|
|
|
|
-- http: reset the header buffer when sending the request
|
|
|
+- single_transfer: ignore blank --output-dir
|
|
|
|
|
|
- A reused transfer handle could otherwise reuse the previous leftover
|
|
|
- buffer and havoc would ensue.
|
|
|
+ ... as otherwise it creates a rather unexpected target directory with a
|
|
|
+ leading slash.
|
|
|
|
|
|
- Reported-by: sergio-nsk on github
|
|
|
- Fixes #7018
|
|
|
- Closes #7021
|
|
|
+ Reported-by: Harry Sintonen
|
|
|
+ Fixes #7218
|
|
|
+ Closes #7233
|
|
|
|
|
|
-- curl_mprintf.3: add description
|
|
|
+- tests: update README about servers and port numbers
|
|
|
|
|
|
- These functions have existed in the API since the dawn of time. It is
|
|
|
- about time we describe how they work, even if we discourage users from
|
|
|
- using them.
|
|
|
+ Closes #7242
|
|
|
+
|
|
|
+- conn_shutdown: if closed during CONNECT cleanup properly
|
|
|
|
|
|
- Closes #7010
|
|
|
+ Reported-by: Alex Xu
|
|
|
+ Reported-by: Phil E. Taylor
|
|
|
+
|
|
|
+ Fixes #7236
|
|
|
+ Closes #7237
|
|
|
|
|
|
-- [Timothy Gu brought this change]
|
|
|
+- [Christian Weisgerber brought this change]
|
|
|
|
|
|
- URL-SYNTAX: update IDNA section for WHATWG spec changes
|
|
|
+ sws: malloc request struct instead of using stack
|
|
|
|
|
|
- WHATWG URL has dictated the use of Nontransitional Processing (IDNA
|
|
|
- 2008) for several years now. Chrome (and derivatives) still use
|
|
|
- Transitional Processing, but Firefox and Safari have both switched.
|
|
|
+ ... 2MB requests is otherwise just too big for some systems.
|
|
|
|
|
|
- Also document the fact that winidn functions differently from libidn2
|
|
|
- here.
|
|
|
+ (The allocations are not freed properly.)
|
|
|
|
|
|
- Closes #7026
|
|
|
+ Bug: https://curl.se/mail/lib-2021-06/0018.html
|
|
|
+
|
|
|
+ Closes #7235
|
|
|
|
|
|
-- [Calvin Buckley brought this change]
|
|
|
+- [Mark Swaanenburg brought this change]
|
|
|
|
|
|
- INSTALL: add IBM i specific quirks
|
|
|
+ lib: don't compare fd to FD_SETSIZE when using poll
|
|
|
|
|
|
- Fixes #6830
|
|
|
- Closes #7013
|
|
|
-
|
|
|
-- libcurl.3: mention the URL API
|
|
|
+ FD_SETSIZE is irrelevant when using poll. So ensuring that the file
|
|
|
+ descriptor is smaller than FD_SETSIZE in VALID_SOCK, can cause
|
|
|
+ multi_wait to ignore perfectly valid file descriptors and simply wait
|
|
|
+ for 1s to avoid hammering the CPU in a busy loop.
|
|
|
|
|
|
- To make it easier to find. Also a minor polish of libcurl-url.3
|
|
|
+ Fixes #7240
|
|
|
+ Closes #7241
|
|
|
+
|
|
|
+- [zhangxiuhua brought this change]
|
|
|
+
|
|
|
+ doh: fix wrong DEBUGASSERT for doh private_data
|
|
|
|
|
|
- Closes #7009
|
|
|
+ Closes #7227
|
|
|
|
|
|
-- GnuTLS: don't allow TLS 1.3 for versions that don't support it
|
|
|
+- [yb999 brought this change]
|
|
|
+
|
|
|
+ tests: update README.md with a missing single quote
|
|
|
|
|
|
- Follow-up to 781864bedbc5
|
|
|
+ Closes #7231
|
|
|
+
|
|
|
+- GHA: run all tests for hyper too
|
|
|
|
|
|
- ... as they don't understand it and will return error at us!
|
|
|
+ As it lists disabled ones in DISABLED now
|
|
|
|
|
|
- Closes #7014
|
|
|
+ Closes #7209
|
|
|
|
|
|
-Kamil Dudka (6 May 2021)
|
|
|
-- tool_getparam: handle failure of curlx_convert_tchar_to_UTF8()
|
|
|
+- tests/data/DISABLED: add tests not working with hyper
|
|
|
|
|
|
- Reported by GCC analyzer:
|
|
|
+ The goal is to remove them all from here over time.
|
|
|
|
|
|
- Error: GCC_ANALYZER_WARNING (CWE-476):
|
|
|
- src/tool_getparam.c: scope_hint: In function 'parse_args'
|
|
|
- src/tool_getparam.c:2318:38: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'orig_opt'
|
|
|
- lib/curlx.h:56: included_from: Included from here.
|
|
|
- src/tool_getparam.c:28: included_from: Included from here.
|
|
|
- lib/curl_multibyte.h:70:51: note: in definition of macro 'curlx_convert_tchar_to_UTF8'
|
|
|
- src/tool_getparam.c:2316:16: note: in expansion of macro 'curlx_convert_tchar_to_UTF8'
|
|
|
+ Closes #7209
|
|
|
+
|
|
|
+- runtests: also find the last test in Makefile.inc
|
|
|
|
|
|
- Reviewed-by: Marcel Raad
|
|
|
- Reviewed-by: Daniel Stenberg
|
|
|
- Closes #7023
|
|
|
+ Closes #7209
|
|
|
|
|
|
-Daniel Stenberg (6 May 2021)
|
|
|
-- scripts/delta: also show total number of days
|
|
|
+- test3010: work with hyper mode
|
|
|
+
|
|
|
+ Closes #7209
|
|
|
|
|
|
-Marc Hoersken (5 May 2021)
|
|
|
-- sockfilt: fix invalid increment of handles index variable nfd
|
|
|
+- configure: disable RTSP when hyper is selected
|
|
|
|
|
|
- Only increment the array index if we actually stored a handle.
|
|
|
+ Makes test 1013 work
|
|
|
|
|
|
- Follow up to e917492048f4b85a0fd58a033d10072fc7666c3b
|
|
|
- Closes #6992
|
|
|
+ Closes #7209
|
|
|
|
|
|
-- sockfilt: avoid getting stuck waiting for writable socket
|
|
|
-
|
|
|
- Reset FD_WRITE event using the same approach as in multi.c
|
|
|
+- test1594/1595/1596: fix to work in hyper mode
|
|
|
|
|
|
- Follow up to b36442b24305f3cda7c13cc64b46838995a4985b
|
|
|
- Closes #6992
|
|
|
+ Closes #7209
|
|
|
|
|
|
-Jay Satiro (5 May 2021)
|
|
|
-- test678: Fix for Windows multibyte builds
|
|
|
+- test1438/1457: add HTTP keyword to make hyper mode work
|
|
|
|
|
|
- Follow-up to 77fc385 from yesterday.
|
|
|
+ Closes #7209
|
|
|
+
|
|
|
+- test1340/1341: adjusted for hyper mode
|
|
|
|
|
|
- Bug: https://github.com/curl/curl/pull/6662#issuecomment-832966557
|
|
|
- Reported-by: Marc Hörsken
|
|
|
+ Closes #7209
|
|
|
|
|
|
-- [Dmitry Kostjuchenko brought this change]
|
|
|
+- test1218: adjusted for hyper mode
|
|
|
+
|
|
|
+ Closes #7209
|
|
|
|
|
|
- build: fix compilation for Windows UWP platform
|
|
|
+- test1216: adjusted for hyper mode
|
|
|
|
|
|
- - Include afunix.h which is necessary for sockaddr_un when
|
|
|
- USE_UNIX_SOCKETS is defined on Windows.
|
|
|
+ Closes #7209
|
|
|
+
|
|
|
+- test1230: adjust to work in hyper mode
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/7006
|
|
|
+ Closes #7209
|
|
|
|
|
|
-Daniel Stenberg (5 May 2021)
|
|
|
-- gnutls: make setting only the MAX TLS allowed version work
|
|
|
+- c-hyper: abort CONNECT response reading early on non 2xx responses
|
|
|
|
|
|
- Previously, settting only the max allowed TLS version, leaving the
|
|
|
- minimum one at default, didn't actually set it and left it to default
|
|
|
- (TLS 1.3) too!
|
|
|
+ Fixes test 493
|
|
|
|
|
|
- As a bonus, this change also removes the dead code handling of SSLv3
|
|
|
- since that version can't be set anymore (since eff614fb0242cb).
|
|
|
+ Closes #7209
|
|
|
+
|
|
|
+- test434: add HTTP keyword
|
|
|
|
|
|
- Reported-by: Daniel Carpenter
|
|
|
- Fixes #6998
|
|
|
- Closes #7000
|
|
|
+ Closes #7209
|
|
|
|
|
|
-- openldap: replace ldap_ prefix on private functions
|
|
|
+- test599: adjusted to work in hyper mode
|
|
|
|
|
|
- Since openldap itself uses that prefix and with OpenĹDAP 2.5.4 (at
|
|
|
- least) there's a symbol collision because of that.
|
|
|
+ Closes #7209
|
|
|
+
|
|
|
+- c-hyper: fix the uploaded field in progress callbacks
|
|
|
|
|
|
- The private functions now use the 'oldap_' prefix where it previously
|
|
|
- used 'ldap_'.
|
|
|
+ Makes test 578 work
|
|
|
|
|
|
- Reported-by: 3eka on github
|
|
|
- Fixes #7004
|
|
|
- Closes #7005
|
|
|
+ Closes #7209
|
|
|
|
|
|
-Jay Satiro (5 May 2021)
|
|
|
-- http2: fix potentially uninitialized variable
|
|
|
+- test566: adjust to work with hyper mode
|
|
|
|
|
|
- introduced several days ago in 3193170. caught by visual studio linker.
|
|
|
+ Closes #7209
|
|
|
|
|
|
-- [Gilles Vollant brought this change]
|
|
|
+- [Fawad Mirza brought this change]
|
|
|
|
|
|
- SSL: support in-memory CA certs for some backends
|
|
|
-
|
|
|
- - New options CURLOPT_CAINFO_BLOB and CURLOPT_PROXY_CAINFO_BLOB to
|
|
|
- specify in-memory PEM certificates for OpenSSL, Schannel (Windows)
|
|
|
- and Secure Transport (Apple) SSL backends.
|
|
|
-
|
|
|
- Prior to this change PEM certificates could only be imported from a file
|
|
|
- and not from memory.
|
|
|
-
|
|
|
- Co-authored-by: moparisthebest@users.noreply.github.com
|
|
|
+ CURLOPT_WRITEFUNCTION.3: minor update of the example
|
|
|
|
|
|
- Ref: https://github.com/curl/curl/pull/4679
|
|
|
- Ref: https://github.com/curl/curl/pull/5677
|
|
|
- Ref: https://github.com/curl/curl/pull/6109
|
|
|
+ Safely avoid chunk.size garbage value if declared non globally.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6662
|
|
|
+ Closes #7219
|
|
|
|
|
|
-Daniel Stenberg (4 May 2021)
|
|
|
-- [David Cook brought this change]
|
|
|
+- [Bastian Krause brought this change]
|
|
|
|
|
|
- tests: ignore case of chunked hex numbers in tests
|
|
|
+ configure: rename get-easy-option configure option to get-easy-options
|
|
|
|
|
|
- When hyper is used, it emits uppercase hexadecimal numbers for chunked
|
|
|
- encoding lengths. Without hyper, lowercase hexadecimal numbers are used.
|
|
|
- This change adds preprocessor statements to tests where this is an
|
|
|
- issue, and adapts the fixtures to match.
|
|
|
+ "get-easy-options" is the configure option advertised by the help text
|
|
|
+ anyway, so use that.
|
|
|
|
|
|
- Closes #6987
|
|
|
-
|
|
|
-- cmake: check for getppid and utimes
|
|
|
+ Fixes #7211
|
|
|
+ Closes #7213
|
|
|
|
|
|
- ... as they're checked for in the configure script and are used by
|
|
|
- source code.
|
|
|
+ Follow-up to ad691b191 ("configure: added --disable-get-easy-options")
|
|
|
+ Suggested-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+ Signed-off-by: Bastian Krause <bst@pengutronix.de>
|
|
|
+
|
|
|
+- runtests: skip disabled tests unless -f is used
|
|
|
|
|
|
- Removed checks for perror, setvbuf and strlcat since those defines are
|
|
|
- not checked for in source code.
|
|
|
+ To make it easier to write ranges like '115 to 229' without that
|
|
|
+ explicitly enabling tests that are listed in DISABLED, this makes
|
|
|
+ runtests always skip disabled tests unless the -f command line option is
|
|
|
+ used.
|
|
|
|
|
|
- Bonus: removed HAVE_STRLCPY from a few config-*.h files since that
|
|
|
- symbol is not used in source code.
|
|
|
+ Previously the code attempted to not run such tests, but didn't do it
|
|
|
+ correctly.
|
|
|
|
|
|
- Closes #6997
|
|
|
+ Closes #7212
|
|
|
|
|
|
-- libtest: remove lib530.c
|
|
|
+- [Jun-ya Kato brought this change]
|
|
|
+
|
|
|
+ ngtcp2: disable TLSv1.3 compatible mode when using GnuTLS
|
|
|
|
|
|
- Follow up from e50a877df when test 530 was removed. Since then this
|
|
|
- source file has not been used/needed.
|
|
|
+ The latest GnuTLS-3.7.2 implements disable switch for TLSv1.3 compatible
|
|
|
+ mode for middle box but it is enabled by default, which is unnecessary
|
|
|
+ for QUIC.
|
|
|
|
|
|
- Closes #6999
|
|
|
+ Fixes #6896
|
|
|
+ Closes #7202
|
|
|
|
|
|
-- FILEFORMAT: mention sectransp as a feature
|
|
|
-
|
|
|
- Been supported since at least 40259ca65
|
|
|
+- test644: remove as duplicate of test 587
|
|
|
|
|
|
- Closes #7001
|
|
|
+ Closes #7208
|
|
|
|
|
|
+Daniel Gustafsson (8 Jun 2021)
|
|
|
- RELEASE-NOTES: synced
|
|
|
|
|
|
-- libssh2: ignore timeout during disconnect
|
|
|
+- cookies: track expiration in jar to optimize removals
|
|
|
|
|
|
- ... to avoid memory leaks!
|
|
|
+ Removing expired cookies needs to be a fast operation since we want to
|
|
|
+ be able to perform it often and speculatively. By tracking the timestamp
|
|
|
+ of the next known expiration we can exit early in case the timestamp is
|
|
|
+ in the future.
|
|
|
|
|
|
- libssh2 is tricky as we have to deal with the non-blockiness even in
|
|
|
- close and shutdown cases. In the cases when we shutdown after a timeout
|
|
|
- already expired, it is crucial that curl doen't let the timeout abort
|
|
|
- the shutdown process as that then leaks memory!
|
|
|
+ Closes: #7172
|
|
|
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+
|
|
|
+Daniel Stenberg (7 Jun 2021)
|
|
|
+- GHA: add several libcurl tests to the hyper job
|
|
|
|
|
|
- Reported-by: Benjamin Riefenstahl
|
|
|
- Fixes #6990
|
|
|
+ 500 to 512
|
|
|
|
|
|
-- KNOWN_BUGS: add two HTTP/2 bugs
|
|
|
+- test500: adjust to work with hyper mode
|
|
|
|
|
|
-- KNOWN_BUGS: add three HTTP/3 issues
|
|
|
-
|
|
|
- ... and moved the HTTP/2 issues to its own section
|
|
|
+- c-hyper: support CURLINFO_STARTTRANSFER_TIME
|
|
|
|
|
|
- Closes #6606
|
|
|
- Closes #6510
|
|
|
- Closes #6494
|
|
|
-
|
|
|
-- [ejanchivdorj brought this change]
|
|
|
+ Closes #7204
|
|
|
|
|
|
- CURLcode: add CURLE_SSL_CLIENTCERT
|
|
|
+- c-hyper: support CURLOPT_HEADER
|
|
|
|
|
|
- When a TLS server requests a client certificate during handshake and
|
|
|
- none can be provided, libcurl now returns this new error code
|
|
|
- CURLE_SSL_CLIENTCERT
|
|
|
+ When enabled, the headers are passed to the body write callback as well.
|
|
|
|
|
|
- Only supported by Secure Transport and OpenSSL for TLS 1.3 so far.
|
|
|
+ Like in test 500
|
|
|
|
|
|
- Closes #6721
|
|
|
-
|
|
|
-- [Tobias Gabriel brought this change]
|
|
|
+ Closes #7204
|
|
|
|
|
|
- .github/FUNDING: add link to GitHub sponsors
|
|
|
+- GHA: run the newly fixed tests with hyper
|
|
|
|
|
|
- Closes #6985
|
|
|
+ Closes #7205
|
|
|
|
|
|
-- [Harry Sintonen brought this change]
|
|
|
+- test433: adjust for hyper mode
|
|
|
+
|
|
|
+ Closes #7205
|
|
|
|
|
|
- krb5/name_to_level: replace checkprefix with curl_strequal
|
|
|
+- test395: hyper cannot work around > 64 bit content-lengths like built-in
|
|
|
|
|
|
- Closes #6993
|
|
|
+ Closes #7205
|
|
|
|
|
|
-- [Harry Sintonen brought this change]
|
|
|
+- test394: hyper returns a different error
|
|
|
+
|
|
|
+ Closes #7205
|
|
|
|
|
|
- Curl_input_digest: require space after Digest
|
|
|
+- test393: make Content-Length fit within 64 bit for hyper
|
|
|
|
|
|
- Closes #6993
|
|
|
+ Closes #7205
|
|
|
|
|
|
-- [Harry Sintonen brought this change]
|
|
|
+- test347: CRLFify to work in hyper mode
|
|
|
+
|
|
|
+ Closes #7205
|
|
|
|
|
|
- Curl_http_header: check for colon when matching Persistent-Auth
|
|
|
+- test339: CRLFify better to work in hyper mode
|
|
|
|
|
|
- Closes #6993
|
|
|
+ Closes #7205
|
|
|
|
|
|
-- [Harry Sintonen brought this change]
|
|
|
+- travis: remove the hyper build
|
|
|
|
|
|
- Curl_http_input_auth: require valid separator after negotiation type
|
|
|
+- GHA: add a linux-hyper job
|
|
|
|
|
|
- Closes #6993
|
|
|
+ Closes #7206
|
|
|
|
|
|
-- http: fix the check for 'Authorization' with Bearer
|
|
|
+- test328: avoid a header-looking body to make hyper mode work
|
|
|
|
|
|
- The code would wrongly check for it using an additional colon.
|
|
|
+ The test still works the same, just modified two bytes in the content.
|
|
|
|
|
|
- Reported-by: Blake Burkhart
|
|
|
- Closes #6988
|
|
|
+ Closes #7203
|
|
|
|
|
|
-- [Kamil Dudka brought this change]
|
|
|
+- release-notes.pl: also spot common 'closes' typo
|
|
|
|
|
|
- http2: fix a resource leak in push_promise()
|
|
|
+- metalink: remove
|
|
|
|
|
|
- ... detected by Coverity:
|
|
|
+ Warning: this will make existing curl command lines that use metalink to
|
|
|
+ stop working.
|
|
|
|
|
|
- Error: RESOURCE_LEAK (CWE-772):
|
|
|
- lib/http2.c:532: alloc_fn: Storage is returned from allocation function "duphandle".
|
|
|
- lib/http2.c:532: var_assign: Assigning: "newhandle" = storage returned from "duphandle(data)".
|
|
|
- lib/http2.c:552: noescape: Resource "newhandle" is not freed or pointed-to in "set_transfer_url".
|
|
|
- lib/http2.c:555: leaked_storage: Variable "newhandle" going out of scope leaks the storage it points to.
|
|
|
+ Reasons for removal:
|
|
|
|
|
|
- Closes #6986
|
|
|
-
|
|
|
-- [Kamil Dudka brought this change]
|
|
|
-
|
|
|
- http2: fix resource leaks in set_transfer_url()
|
|
|
+ 1. We've found several security problems and issues involving the
|
|
|
+ metalink support in curl. The issues are not detailed here. When
|
|
|
+ working on those, it become apparent to the team that several of the
|
|
|
+ problems are due to the system design, metalink library API and what
|
|
|
+ the metalink RFC says. They are very hard to fix on the curl side
|
|
|
+ only.
|
|
|
|
|
|
- ... detected by Coverity:
|
|
|
+ 2. The metalink usage with curl was only very briefly documented and was
|
|
|
+ not following the "normal" curl usage pattern in several ways, making
|
|
|
+ it surprising and non-intuitive which could lead to further security
|
|
|
+ issues.
|
|
|
|
|
|
- Error: RESOURCE_LEAK (CWE-772):
|
|
|
- lib/http2.c:480: alloc_fn: Storage is returned from allocation function "curl_url". [Note: The source code implementation of the function has been overridden by a builtin model.]
|
|
|
- lib/http2.c:480: var_assign: Assigning: "u" = storage returned from "curl_url()".
|
|
|
- lib/http2.c:486: noescape: Resource "u" is not freed or pointed-to in "curl_url_set". [Note: The source code implementation of the function has been overridden by a builtin model.]
|
|
|
- lib/http2.c:488: leaked_storage: Variable "u" going out of scope leaks the storage it points to.
|
|
|
+ 3. The metalink library was last updated 6 years ago and wasn't so
|
|
|
+ active the years before that either. An unmaintained library means
|
|
|
+ there's a security problem waiting to happen. This is probably reason
|
|
|
+ enough.
|
|
|
|
|
|
- Error: RESOURCE_LEAK (CWE-772):
|
|
|
- lib/http2.c:480: alloc_fn: Storage is returned from allocation function "curl_url". [Note: The source code implementation of the function has been overridden by a builtin model.]
|
|
|
- lib/http2.c:480: var_assign: Assigning: "u" = storage returned from "curl_url()".
|
|
|
- lib/http2.c:493: noescape: Resource "u" is not freed or pointed-to in "curl_url_set". [Note: The source code implementation of the function has been overridden by a builtin model.]
|
|
|
- lib/http2.c:495: leaked_storage: Variable "u" going out of scope leaks the storage it points to.
|
|
|
+ 4. Metalink requires an XML parsing library, which is complex code (even
|
|
|
+ the smaller alternatives) and to this day often gets security
|
|
|
+ updates.
|
|
|
|
|
|
- Error: RESOURCE_LEAK (CWE-772):
|
|
|
- lib/http2.c:480: alloc_fn: Storage is returned from allocation function "curl_url". [Note: The source code implementation of the function has been overridden by a builtin model.]
|
|
|
- lib/http2.c:480: var_assign: Assigning: "u" = storage returned from "curl_url()".
|
|
|
- lib/http2.c:500: noescape: Resource "u" is not freed or pointed-to in "curl_url_set". [Note: The source code implementation of the function has been overridden by a builtin model.]
|
|
|
- lib/http2.c:502: leaked_storage: Variable "u" going out of scope leaks the storage it points to.
|
|
|
+ 5. Metalink is not a widely used curl feature. In the 2020 curl user
|
|
|
+ survey, only 1.4% of the responders said that they'd are using it. In
|
|
|
+ 2021 that number was 1.2%. Searching the web also show very few
|
|
|
+ traces of it being used, even with other tools.
|
|
|
|
|
|
- Error: RESOURCE_LEAK (CWE-772):
|
|
|
- lib/http2.c:480: alloc_fn: Storage is returned from allocation function "curl_url". [Note: The source code implementation of the function has been overridden by a builtin model.]
|
|
|
- lib/http2.c:480: var_assign: Assigning: "u" = storage returned from "curl_url()".
|
|
|
- lib/http2.c:505: noescape: Resource "u" is not freed or pointed-to in "curl_url_get". [Note: The source code implementation of the function has been overridden by a builtin model.]
|
|
|
- lib/http2.c:507: leaked_storage: Variable "u" going out of scope leaks the storage it points to.
|
|
|
+ 6. The torrent format and associated technology clearly won for
|
|
|
+ downloading large files from multiple sources in parallel.
|
|
|
|
|
|
- Closes #6986
|
|
|
-
|
|
|
-- [Jacob Hoffman-Andrews brought this change]
|
|
|
+ Cloes #7176
|
|
|
|
|
|
- rustls: use ALPN
|
|
|
+- docs/INSTALL: remove mentions of configure --with-darwin-ssl
|
|
|
|
|
|
- Update required rustls to 0.5.0
|
|
|
+ ... as it isn't supported since a while back.
|
|
|
|
|
|
- Closes #6960
|
|
|
+ Make configure fail with a warning if used.
|
|
|
+
|
|
|
+ Reported-by: Vadim Grinshpun
|
|
|
+ Bug: https://curl.se/mail/lib-2021-06/0008.html
|
|
|
+ Closes #7200
|
|
|
|
|
|
-- [MAntoniak brought this change]
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- gskit: fix CURL_DISABLE_PROXY build
|
|
|
+- [Gregor Jasny brought this change]
|
|
|
+
|
|
|
+ cmake: Avoid leaking absolute paths into exported config
|
|
|
|
|
|
- Removed localfd and remotefd from ssl_backend_data (ued only with proxy
|
|
|
- connection). Function pipe_ssloverssl return always 0, when proxy is not
|
|
|
- used.
|
|
|
+ The `find_libarary` command resolves the library or framework
|
|
|
+ into an absolute path. In case of system frameworks which are
|
|
|
+ located within an Xcode-provided SDK this results in the Xcode
|
|
|
+ path and SDK version being part of the library path.
|
|
|
|
|
|
- Closes #6981
|
|
|
+ Because those library paths end up in the exported CMake config
|
|
|
+ importing curl will fail once the Xcode location or SDK version
|
|
|
+ changes:
|
|
|
+
|
|
|
+ ```cmake
|
|
|
+ set_target_properties(CURL::libcurl PROPERTIES
|
|
|
+ INTERFACE_INCLUDE_DIRECTORIES "${_IMPORT_PREFIX}/include"
|
|
|
+ INTERFACE_LINK_LIBRARIES "lber;ldap;/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX11.3.sdk/System/Library/Frameworks/SystemConfiguration.framework;OpenSSL::SSL;OpenSSL::Crypto;ZLIB::ZLIB"
|
|
|
+ )
|
|
|
+ ```
|
|
|
+
|
|
|
+ A work-around is to link against system-level frameworks with
|
|
|
+ `-framework XYZ`. In case of `SystemConfiguration` we might be able
|
|
|
+ to omit the lookup-check because we could assume the framework is
|
|
|
+ always present.
|
|
|
+
|
|
|
+ Closes #7152
|
|
|
|
|
|
-- [MAntoniak brought this change]
|
|
|
+- [Shikha Sharma brought this change]
|
|
|
|
|
|
- gskit: fix undefined reference to 'conn'
|
|
|
+ http2_connisdead: handle trailing GOAWAY better
|
|
|
|
|
|
- Closes #6980
|
|
|
+ When checking the connection the input processing returns error
|
|
|
+ immediately, we now consider that a dead connnection.
|
|
|
+
|
|
|
+ Bug: https://curl.se/mail/lib-2021-06/0001.html
|
|
|
+ Closes #7192
|
|
|
|
|
|
-- [Jacob Hoffman-Andrews brought this change]
|
|
|
+- [Dmitry Karpov brought this change]
|
|
|
|
|
|
- tls: add USE_HTTP2 define
|
|
|
+ ares: always store IPv6 addresses first
|
|
|
|
|
|
- This abstracts across the two HTTP/2 backends: nghttp2 and Hyper.
|
|
|
+ Trying dual-stack on some embedded platform, I noticed that quite
|
|
|
+ frequently (20%) libCurl starts from IPv4 regardless the Happy Eyeballs
|
|
|
+ timeout value. After debugging this issue, I noticed that this happens
|
|
|
+ if c-ares resolver response for IPv6 family comes before IPv4 (which was
|
|
|
+ randomly happening in my tests).
|
|
|
|
|
|
- Add our own define for the "h2" ALPN protocol, so TLS backends can use
|
|
|
- it without depending on a specific HTTP backend.
|
|
|
+ In such cases, because libCurl puts the last resolver response on top of
|
|
|
+ the address list, when IPv4 resolver response comes after IPv6 one - the
|
|
|
+ IPv4 family starts the connection phase instead of IPv6 family.
|
|
|
|
|
|
- Closes #6959
|
|
|
-
|
|
|
-- [Jacob Hoffman-Andrews brought this change]
|
|
|
-
|
|
|
- lib: fix 0-length Curl_client_write calls
|
|
|
+ The solution for this issue is to always put IPv6 addresses on top of
|
|
|
+ the address list, regardless the order of resolver responses.
|
|
|
|
|
|
- Closes #6954
|
|
|
-
|
|
|
-- [Jacob Hoffman-Andrews brought this change]
|
|
|
+ Bug: https://curl.se/mail/lib-2021-06/0003.html
|
|
|
+
|
|
|
+ Closes #7188
|
|
|
|
|
|
- lib: remove strlen call from Curl_client_write
|
|
|
+- Revert "Revert "socketpair: fix potential hangs""
|
|
|
|
|
|
- At all call sites with an explicit 0 len, pass an appropriate nonzero
|
|
|
- len.
|
|
|
+ This reverts commit 3e70c3430a370a31eff2c1d8fea29edaca8f1127.
|
|
|
|
|
|
- Closes #6954
|
|
|
-
|
|
|
-- [Ayushman Singh Chauhan brought this change]
|
|
|
-
|
|
|
- docs: camelcase it like GitHub everywhere
|
|
|
+ Thus brings back the change from #7144 as was originally landed in
|
|
|
+ c769d1eab4de8b
|
|
|
|
|
|
- Closes #6979
|
|
|
+ Closes #7144 (again)
|
|
|
|
|
|
-Jay Satiro (27 Apr 2021)
|
|
|
-- [Lucas Servén Marín brought this change]
|
|
|
+- [Ebe Janchivdorj brought this change]
|
|
|
|
|
|
- docs: fix typo in fail-with-body doc
|
|
|
-
|
|
|
- This commit fixes a small typo in the documentation for the
|
|
|
- --fail-with-body flag.
|
|
|
+ schannel: move code out of SChannel_connect_step1
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6977
|
|
|
+ Reviewed-by: Marc Hoersken
|
|
|
+ Closes #7168
|
|
|
|
|
|
-- lib: fix some misuse of curlx_convert_UTF8_to_tchar
|
|
|
+- tests/data/Makefile.inc: error: trailing backslash on last line
|
|
|
|
|
|
- curlx_convert_UTF8_to_tchar must be freed by curlx_unicodefree, but
|
|
|
- prior to this change some uses mistakenly called free.
|
|
|
-
|
|
|
- I've reviewed all other uses of curlx_convert_UTF8_to_tchar and
|
|
|
- curlx_convert_tchar_to_UTF8.
|
|
|
-
|
|
|
- Bug: https://github.com/curl/curl/pull/6602#issuecomment-825236763
|
|
|
- Reported-by: sergio-nsk@users.noreply.github.com
|
|
|
-
|
|
|
- Closes https://github.com/curl/curl/pull/6938
|
|
|
+ Follow-up to d8dcb399b8009d
|
|
|
|
|
|
-Daniel Stenberg (27 Apr 2021)
|
|
|
-- ntlm: precaution against super huge type2 offsets
|
|
|
+- TODO: Support rate-limiting for MQTT
|
|
|
+
|
|
|
+- [Dmitry Kostjuchenko brought this change]
|
|
|
+
|
|
|
+ warnless: simplify type size handling
|
|
|
|
|
|
- ... which otherwise caused an integer overflow and circumvented the if()
|
|
|
- conditional size check.
|
|
|
+ By using sizeof(T), existing defines and relying on the compiler to
|
|
|
+ define the required signed/unsigned mask.
|
|
|
|
|
|
- Detected by OSS-Fuzz
|
|
|
- Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=33720
|
|
|
- Assisted-by: Max Dymond
|
|
|
- Closes #6975
|
|
|
-
|
|
|
-- c-hyper: fix unused variable ‘wrote’
|
|
|
+ Closes #7181
|
|
|
|
|
|
-- libcurl-security.3: be careful of setuid
|
|
|
+Gisle Vanem (4 Jun 2021)
|
|
|
+- [Win32] Fix for USE_WATT32
|
|
|
|
|
|
- Reported-by: Harry Sintonen
|
|
|
- Closes #6970
|
|
|
+ My Watt-32 tcp/ip stack works on Windows but it does not have `WSAIoctl()`
|
|
|
|
|
|
-- [Kevin Burke brought this change]
|
|
|
+Daniel Stenberg (4 Jun 2021)
|
|
|
+- [Alexis Vachette brought this change]
|
|
|
|
|
|
- c-hyper: don't write to set.writeheader if null
|
|
|
-
|
|
|
- Previously if a caller set CURLOPT_WRITEFUNCTION but did not set a
|
|
|
- CURLOPT_HEADERDATA buffer, Hyper would still attempt to write headers to
|
|
|
- the data->set.writeheader header buffer, even though it is null. This
|
|
|
- led to NPE segfaults attempting to use libcurl+Hyper with Git, for
|
|
|
- example.
|
|
|
+ url: bad CURLOPT_CONNECT_TO syntax now returns error
|
|
|
|
|
|
- Instead, process the client write for the status line using the same
|
|
|
- logic we use to process the client write for the later HTTP headers,
|
|
|
- which contains the appropriate guard logic. As a side benefit,
|
|
|
- data->set.writeheader is now only read in one file instead of two.
|
|
|
+ Added test 3020 to verify
|
|
|
|
|
|
- Fixes #6619
|
|
|
- Fixes abetterinternet/crustls#49
|
|
|
- Fixes hyperium/hyper#2438
|
|
|
- Closes #6971
|
|
|
+ Closes #7183
|
|
|
|
|
|
-- wolfssl: handle SSL_write() returns 0 for error
|
|
|
+- github: remove the cmake macOS gcc-8 jobs
|
|
|
|
|
|
- Reported-by: Timo Lange
|
|
|
+ They're too similar to the gcc-9 ones to be useful (and seems to not
|
|
|
+ work anymore).
|
|
|
|
|
|
- Closes #6967
|
|
|
+ Closes #7187
|
|
|
|
|
|
-- easy: ignore sigpipe in curl_easy_send
|
|
|
+- test269: disable for hyper
|
|
|
|
|
|
- Closes #6965
|
|
|
-
|
|
|
-- sigpipe: ignore SIGPIPE when using wolfSSL as well
|
|
|
+ --ignore-content-length / CURLOPT_IGNORE_CONTENT_LENGTH doesn't work
|
|
|
+ with hyper.
|
|
|
|
|
|
- Closes #6966
|
|
|
+ Closes #7184
|
|
|
|
|
|
-- libcurl-security.3: don't try to filter IPv4 hosts based on the URL
|
|
|
+- runtests: enable 'hyper mode' only for HTTP tests
|
|
|
|
|
|
- Closes #6942
|
|
|
+ The 'hyper mode' makes line-ending checks work in the test suite for
|
|
|
+ when hyper is used. Now it also requires that HTTP or HTTPS are
|
|
|
+ mentioned as keywords to be enabled so that it doesn't wrongly adjusts
|
|
|
+ tests for other protocols.
|
|
|
+
|
|
|
+ This makes test 271 (TFTP) work again in hyper enabled builds.
|
|
|
+
|
|
|
+ Closes #7185
|
|
|
|
|
|
-- [Harry Sintonen brought this change]
|
|
|
+- [Alexis Vachette brought this change]
|
|
|
|
|
|
- nss_set_blocking: avoid static for sock_opt
|
|
|
+ hostip: bad CURLOPT_RESOLVE syntax now returns error
|
|
|
|
|
|
- Reviewed-by: Kamil Dudka
|
|
|
- Closes #6945
|
|
|
-
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+ Added test 3019
|
|
|
+ Fixes #7170
|
|
|
+ Closes #7174
|
|
|
|
|
|
-- [Yusuke Nakamura brought this change]
|
|
|
+Daniel Gustafsson (3 Jun 2021)
|
|
|
+- cookies: fix typo and expand comment
|
|
|
+
|
|
|
+ Fix a typo in the sorting comment, and while in there elaborate slightly
|
|
|
+ on why creationtime can be used as a tiebreaker.
|
|
|
|
|
|
- docs/HTTP3.md: fix nghttp2's HTTP/3 server port
|
|
|
+- cookies: remove unused header
|
|
|
|
|
|
- Port 8443 does not work now.
|
|
|
- Correct origin is in the quicwg's wiki.
|
|
|
- https://github.com/quicwg/base-drafts/wiki/Implementations#ngtcp2
|
|
|
+ Commit 1c1d9f1affbd3367bcb24062e261d0ea5d185e3a removed the last use
|
|
|
+ for the inet_pton.h headerfile, this removes the inclusion of the
|
|
|
+ header.
|
|
|
|
|
|
- Closes #6964
|
|
|
+ Closes: #7182
|
|
|
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
|
|
|
-- krb5: don't use 'static' to store PBSZ size response
|
|
|
+Daniel Stenberg (3 Jun 2021)
|
|
|
+- Revert "socketpair: fix potential hangs"
|
|
|
|
|
|
- ... because it makes the knowledge and usage cross-transfer in funny and
|
|
|
- unexpected ways.
|
|
|
+ This reverts commit c769d1eab4de8b9f1bd84d992c63692fdc43c5be.
|
|
|
|
|
|
- Reported-by: Harry Sintonen
|
|
|
- Closes #6963
|
|
|
+ See #7144 for details
|
|
|
|
|
|
-- [Kevin Burke brought this change]
|
|
|
+- [Paul Groke brought this change]
|
|
|
|
|
|
- m4: add security frameworks on Mac when compiling rustls
|
|
|
-
|
|
|
- Previously compiling rustls on Mac would only complete if you also
|
|
|
- compiled the SecureTransport TLS backend, which curl would prefer to
|
|
|
- the Rust backend.
|
|
|
+ socketpair: fix potential hangs
|
|
|
|
|
|
- Appending these flags to LDFLAGS makes it possible to compile the
|
|
|
- Rustls backend on Mac without the SecureTransport backend, which means
|
|
|
- this patch will make it possible for Mac users to use the Rustls
|
|
|
- backend for TLS.
|
|
|
+ Fixes potential hang in accept by using select + non-blocking accept.
|
|
|
|
|
|
- Reviewed-by: Jacob Hoffman-Andrews
|
|
|
+ Fixes potential hang in peer check by replacing the send/recv check with
|
|
|
+ a getsockname/getpeername check.
|
|
|
|
|
|
- Fixes #6955
|
|
|
- Cloes #6956
|
|
|
-
|
|
|
-- krb5: remove the unused 'overhead' function
|
|
|
+ Adds length check for returned sockaddr data.
|
|
|
|
|
|
- Closes #6947
|
|
|
-
|
|
|
-- [Johann150 brought this change]
|
|
|
+ Closes #7144
|
|
|
|
|
|
- curl_url_set.3: add memory management information
|
|
|
+- runtests: parse data/Makefile.inc instead of using make
|
|
|
|
|
|
- wording taken from man page for CURLOPT_URL.3
|
|
|
+ The warning about missing entries in that file then doesn't require that
|
|
|
+ the Makefile has been regenerated which was confusing.
|
|
|
|
|
|
- As far as I can see, the URL part is either malloc'ed before due to
|
|
|
- encoding or it is strdup'ed.
|
|
|
+ The scan for the test num is a little more error prone than before
|
|
|
+ (since now it doesn't actually verify that it is legitimate Makefile
|
|
|
+ syntax), but I think it is good enough.
|
|
|
|
|
|
- Closes #6953
|
|
|
+ Closes #7177
|
|
|
|
|
|
-- [Jacob Hoffman-Andrews brought this change]
|
|
|
+- [Harry Sintonen brought this change]
|
|
|
|
|
|
- c-hpyer: fix handling of zero-byte chunk from hyper
|
|
|
+ filecheck: quietly remove test-place/*~
|
|
|
|
|
|
- Closes #6951
|
|
|
+ Closes #7179
|
|
|
|
|
|
-- CURLOPT_POSTFIELDS.3: clarify how it gets the size of the data
|
|
|
+- CURLE_SETOPT_OPTION_SYNTAX: new error name for wrong setopt syntax
|
|
|
|
|
|
- Ref: https://curl.se/mail/lib-2021-04/0085.html
|
|
|
- Closes #6943
|
|
|
-
|
|
|
-- [Ralph Langendam brought this change]
|
|
|
-
|
|
|
- cmake: make libcurl output filename configurable
|
|
|
+ For options that pass in lists or strings that are subsequently parsed
|
|
|
+ and must be correct. This broadens the scope for the option previously
|
|
|
+ known as CURLE_TELNET_OPTION_SYNTAX but the old name is of course still
|
|
|
+ provided as a #define for existing applications.
|
|
|
|
|
|
- Reviewed-by: Jakub Zakrzewski
|
|
|
- Closes #6933
|
|
|
-
|
|
|
-- [Patrick Monnerat brought this change]
|
|
|
+ Closes #7175
|
|
|
|
|
|
- vtls: reset ssl use flag upon negotiation failure
|
|
|
+- tests: fix Accept-Encoding strips to work with Hyper builds
|
|
|
|
|
|
- Fixes the segfault in ldaps disconnect.
|
|
|
+ The previous strip also removed the CR which turned problematic.
|
|
|
|
|
|
- Reported-by: Illarion Taev
|
|
|
- Fixes #6934
|
|
|
- Closes #6937
|
|
|
-
|
|
|
-- configure: fix typo in TLS error message
|
|
|
+ valgrind.supp: add zstd suppression using hyper
|
|
|
|
|
|
- Reported-by: Pontus Lundkvist
|
|
|
+ Reported-and-analyzed-by: Kevin Burke
|
|
|
+ Fixes #7169
|
|
|
+ Closes #7171
|
|
|
|
|
|
-- README: link to the commercial support option
|
|
|
+- github: timeout jobs on macOS after 90 minutes
|
|
|
+
|
|
|
+ Assisted-by: Marc Hoersken
|
|
|
+ Closes #7173
|
|
|
|
|
|
-Jay Satiro (22 Apr 2021)
|
|
|
-- [Martin Halle brought this change]
|
|
|
+- [Harry Sintonen brought this change]
|
|
|
|
|
|
- version: add gsasl_version to curl_version_info_data
|
|
|
-
|
|
|
- - Add gsasl_version string and bump to CURLVERSION_TENTH.
|
|
|
-
|
|
|
- Ref: https://curl.se/mail/lib-2021-04/0003.html
|
|
|
+ mqtt: detect illegal and too large file size
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6843
|
|
|
+ Add test 3017 and 3018 to verify.
|
|
|
+ Closes #7166
|
|
|
|
|
|
-- [Morten Minde Neergaard brought this change]
|
|
|
+- [theawless brought this change]
|
|
|
|
|
|
- schannel: Support strong crypto option
|
|
|
+ cmake: add CURL_DISABLE_NTLM option
|
|
|
|
|
|
- - Support enabling strong crypto via optional user cipher list when
|
|
|
- USE_STRONG_CRYPTO or SCH_USE_STRONG_CRYPTO is in the list.
|
|
|
+ Closes #7028
|
|
|
+
|
|
|
+- [theawless brought this change]
|
|
|
+
|
|
|
+ configure: add --disable-ntlm option
|
|
|
|
|
|
- MSDN says SCH_USE_STRONG_CRYPTO "Instructs Schannel to disable known
|
|
|
- weak cryptographic algorithms, cipher suites, and SSL/TLS protocol
|
|
|
- versions that may be otherwise enabled for better interoperability."
|
|
|
+ Closes #7028
|
|
|
+
|
|
|
+- [theawless brought this change]
|
|
|
+
|
|
|
+ define: re-add CURL_DISABLE_NTLM and corresponding ifdefs
|
|
|
|
|
|
- Ref: https://curl.se/mail/lib-2021-02/0066.html
|
|
|
- Ref: https://curl.se/docs/manpage.html#--ciphers
|
|
|
- Ref: https://curl.se/libcurl/c/CURLOPT_SSL_CIPHER_LIST.html
|
|
|
- Ref: https://docs.microsoft.com/en-us/windows/win32/api/schannel/ns-schannel-schannel_cred
|
|
|
+ This flag will be further exposed by adding build options.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6734
|
|
|
+ Reverts #6809
|
|
|
+ Closes #7028
|
|
|
|
|
|
-Daniel Stenberg (22 Apr 2021)
|
|
|
- RELEASE-NOTES: synced
|
|
|
|
|
|
-- ci: adapt to configure requiring an explicit TLS choice
|
|
|
-
|
|
|
-- configure: split out each TLS library detector into its own function
|
|
|
+Viktor Szakats (1 Jun 2021)
|
|
|
+- travis: delete --enable-hsts option (it is the default now) [ci skip]
|
|
|
|
|
|
- ... and put those functions in separate m4 files per TLS library.
|
|
|
+ Reviewed-by: Daniel Stenberg
|
|
|
+ Closes #7167
|
|
|
|
|
|
-- configure: make the TLS library choice(s) explicit
|
|
|
+Daniel Stenberg (1 Jun 2021)
|
|
|
+- hostip: fix 3 coverity complaints
|
|
|
|
|
|
- configure no longer tries to find a TLS library by default, but all
|
|
|
- libraries are now equal: the user needs to explicitly ask what TLS
|
|
|
- library or libraries to use.
|
|
|
+ Follow-up to 1a0ebf6632f889eed
|
|
|
|
|
|
- If no TLS library is selected, configure will error out unless
|
|
|
- --without-ssl is explicitly used to request a built without TLS (as that
|
|
|
- is very rare these days).
|
|
|
+ - Check the return code to Curl_inet_pton() in two instances, even
|
|
|
+ though we know the input is valid so the functions won't fail.
|
|
|
|
|
|
- Removes: --with-winssl, --with-darwinssl and all --without-* options for
|
|
|
- TLS libraries.
|
|
|
+ - Clear the 'struct sockaddr_in' struct before use so that the
|
|
|
+ 'sin_zero' field isn't left uninitialized.
|
|
|
|
|
|
- Closes #6897
|
|
|
+ Detected by Coverity.
|
|
|
+ Assisted-by: Harry Sintonen
|
|
|
+ Closes #7163
|
|
|
|
|
|
-- tests/disable-scan.pl: also scan all m4 files
|
|
|
+- c-hyper: fix NTLM on closed connection tested with test159
|
|
|
|
|
|
- Fixes test 1165 when functions are moved from configure.ac to files in
|
|
|
- m4/
|
|
|
+ Closes #7154
|
|
|
|
|
|
-Jay Satiro (22 Apr 2021)
|
|
|
-- schannel: Disable auto credentials; add an option to enable it
|
|
|
+- conncache: lowercase the hash key for better match
|
|
|
|
|
|
- - Disable auto credentials by default. This is a breaking change
|
|
|
- for clients that are using it, wittingly or not.
|
|
|
+ As host names are case insensitive, the use of case sensitive hashing
|
|
|
+ caused unnecesary cache misses and therefore lost performance. This
|
|
|
+ lowercases the hash key.
|
|
|
|
|
|
- - New libcurl ssl option value CURLSSLOPT_AUTO_CLIENT_CERT tells libcurl
|
|
|
- to automatically locate and use a client certificate for
|
|
|
- authentication, when requested by the server.
|
|
|
+ Reported-by: Harry Sintonen
|
|
|
+ Fixes #7159
|
|
|
+ Closes #7161
|
|
|
+
|
|
|
+- mbedtls: make mbedtls_strerror always work
|
|
|
|
|
|
- - New curl tool options --ssl-auto-client-cert and
|
|
|
- --proxy-ssl-auto-client-cert map to CURLSSLOPT_AUTO_CLIENT_CERT.
|
|
|
+ If the function doesn't exist, provide a macro that just clears the
|
|
|
+ error message. Removes #ifdef uses from the code.
|
|
|
|
|
|
- This option is only supported for Schannel (the native Windows SSL
|
|
|
- library). Prior to this change Schannel would, with no notification to
|
|
|
- the client, attempt to locate a client certificate and send it to the
|
|
|
- server, when requested by the server. Since the server can request any
|
|
|
- certificate that supports client authentication in the OS certificate
|
|
|
- store it could be a privacy violation and unexpected.
|
|
|
+ Closes #7162
|
|
|
+
|
|
|
+- vtls: exit addsessionid if no cache is inited
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/2262
|
|
|
- Reported-by: Jeroen Ooms
|
|
|
- Assisted-by: Wes Hinsley
|
|
|
- Assisted-by: Rich FitzJohn
|
|
|
+ Follow-up to b249592d29ae0
|
|
|
|
|
|
- Ref: https://curl.se/mail/lib-2021-02/0066.html
|
|
|
- Reported-by: Morten Minde Neergaard
|
|
|
+ Avoids NULL pointer derefs.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6673
|
|
|
+ Closes #7165
|
|
|
|
|
|
-Daniel Stenberg (22 Apr 2021)
|
|
|
-- [Michał Antoniak brought this change]
|
|
|
+- [Harry Sintonen brought this change]
|
|
|
|
|
|
- vtls: deduplicate some DISABLE_PROXY ifdefs
|
|
|
+ Curl_ntlm_core_mk_nt_hash: fix OOM in error path
|
|
|
|
|
|
- continue from #5735
|
|
|
+ Closes #7164
|
|
|
+
|
|
|
+Michael Kaufmann (1 Jun 2021)
|
|
|
+- ssl: read pending close notify alert before closing the connection
|
|
|
|
|
|
- - using SSL_HOST_NAME, SSL_HOST_DISPNAME, SSL_PINNED_PUB_KEY for other
|
|
|
- tls backend
|
|
|
+ This avoids a TCP reset (RST) if the server initiates a connection
|
|
|
+ shutdown by sending an SSL close notify alert and then closes the TCP
|
|
|
+ connection.
|
|
|
|
|
|
- - create SSL_HOST_PORT
|
|
|
+ For SSL connections, usually the server announces that it will close the
|
|
|
+ connection with an SSL close notify alert. curl should read this alert.
|
|
|
+ If curl does not read this alert and just closes the connection, some
|
|
|
+ operating systems close the TCP connection with an RST flag.
|
|
|
|
|
|
- Closes #6660
|
|
|
+ See RFC 1122, section 4.2.2.13
|
|
|
+
|
|
|
+ If curl reads the close notify alert, the TCP connection is closed
|
|
|
+ normally with a FIN flag.
|
|
|
+
|
|
|
+ The new code is similar to existing code in the "SSL shutdown" function:
|
|
|
+ try to read an alert (non-blocking), and ignore any read errors.
|
|
|
+
|
|
|
+ Closes #7095
|
|
|
|
|
|
-Jay Satiro (22 Apr 2021)
|
|
|
-- OS400: fix typo
|
|
|
+Daniel Stenberg (1 Jun 2021)
|
|
|
+- [Laurent Dufresne brought this change]
|
|
|
+
|
|
|
+ setopt: fix incorrect comments
|
|
|
|
|
|
- CURLVERSION_HEIGHTH -> CURLVERSION_EIGHTH
|
|
|
+ Closes #7157
|
|
|
|
|
|
-Daniel Stenberg (22 Apr 2021)
|
|
|
-- checksrc: complain on == NULL or != 0 checks in conditions
|
|
|
+- [Laurent Dufresne brought this change]
|
|
|
+
|
|
|
+ mbedtls: add support for cert and key blob options
|
|
|
|
|
|
- ... to make them all consistenly use if(!var) and if(var)
|
|
|
+ CURLOPT_SSLCERT_BLOB and CURLOPT_SSLKEY_BLOB weren't usable with
|
|
|
+ mbedtls backend, so the support was added.
|
|
|
|
|
|
- Also added a few missing warnings to the documentation.
|
|
|
+ Closes #7157
|
|
|
+
|
|
|
+- [Gregor Jasny brought this change]
|
|
|
+
|
|
|
+ cmake: try well-known send/recv signature for Apple
|
|
|
|
|
|
- Closes #6912
|
|
|
+ The CMake `try_compile` command is especially slow for
|
|
|
+ the Xcode generator. With this patch applied it first tests
|
|
|
+ for the currently used (and Open Group specified) send/recv
|
|
|
+ signature. In case this fails testing falls-back to the
|
|
|
+ permutations.
|
|
|
+
|
|
|
+ speed-up:
|
|
|
+
|
|
|
+ ```
|
|
|
+ time cmake .. -GNinja -DCMAKE_USE_SECTRANSP=ON -DHTTP_ONLY=ON -DCMAKE_USE_LIBSSH2=OFF
|
|
|
+ before: 11.64s user 11.09s system 55% cpu 40.754 total
|
|
|
+ after: 7.84s user 6.57s system 51% cpu 28.074 total
|
|
|
+ ```
|
|
|
+
|
|
|
+ ```
|
|
|
+ time cmake .. -GXcode -DCMAKE_USE_SECTRANSP=ON -DHTTP_ONLY=ON -DCMAKE_USE_LIBSSH2=OFF
|
|
|
+ before: 217.07s user 104.15s system 60% cpu 8:51.79 total
|
|
|
+ after: 108.76s user 51.80s system 58% cpu 4:32.58 total
|
|
|
+ ```
|
|
|
+
|
|
|
+ Closes #7158
|
|
|
|
|
|
-- tidy-up: make conditional checks more consistent
|
|
|
+- http2: init recvbuf struct for pushed streams
|
|
|
|
|
|
- ... remove '== NULL' and '!= 0'
|
|
|
+ Debug builds would warn that these structs were not initialized properly
|
|
|
+ for pushed streams.
|
|
|
|
|
|
- Closes #6912
|
|
|
+ Ref: #7148
|
|
|
+ Closes #7153
|
|
|
|
|
|
-- [Patrick Monnerat brought this change]
|
|
|
+- Curl_ssl_getsessionid: fail if no session cache exists
|
|
|
+
|
|
|
+ This function might get called for an easy handle for which the session
|
|
|
+ cache hasn't been setup. It now just returns a "miss" in that case.
|
|
|
+
|
|
|
+ Reported-by: Christoph M. Becker
|
|
|
+ Fixes #7148
|
|
|
+ Closes #7153
|
|
|
|
|
|
- vauth: factor base64 conversions out of authentication procedures
|
|
|
+- GOVERNANCE: add 'user', 'committer' and 'contributor'
|
|
|
|
|
|
- Input challenges and returned messages are now in binary.
|
|
|
- Conversions from/to base64 are performed by callers (currently curl_sasl.c
|
|
|
- and http_ntlm.c).
|
|
|
+ As those are commonly used terms in the project.
|
|
|
|
|
|
- Closes #6654
|
|
|
+ Closes #7151
|
|
|
|
|
|
-- [Patrick Monnerat brought this change]
|
|
|
+- URL-SYNTAX.md: document the new 'localhost' treatment
|
|
|
|
|
|
- bufref: buffer reference support
|
|
|
+- hostip: make 'localhost' return fixed values
|
|
|
|
|
|
- A struct bufref holds a buffer pointer, a data size and a destructor.
|
|
|
- When freed or its contents are changed, the previous buffer is implicitly
|
|
|
- released by the associated destructor. The data size, although not used
|
|
|
- internally, allows binary data support.
|
|
|
+ Resolving the case insensitive host name 'localhost' now returns the
|
|
|
+ addresses 127.0.0.1 and (if IPv6 is enabled) ::1 without using any
|
|
|
+ resolver.
|
|
|
|
|
|
- A unit test checks its handling methods: test 1661
|
|
|
+ This removes the risk that users accidentally resolves 'localhost' to
|
|
|
+ something else. By making sure 'localhost' is always local, we can
|
|
|
+ assume a "secure context" for such transfers (for cookies etc).
|
|
|
|
|
|
- Closes #6654
|
|
|
+ Closes #7039
|
|
|
|
|
|
-- [Patrick Monnerat brought this change]
|
|
|
+Daniel Gustafsson (31 May 2021)
|
|
|
+- docs: fix typos
|
|
|
|
|
|
- os400: additional support for options metadata
|
|
|
+Daniel Stenberg (30 May 2021)
|
|
|
+- hsts: ignore numberical IP address hosts
|
|
|
|
|
|
- New functions curl_easy_option_by_name_ccsid() and
|
|
|
- curl_easy_option_get_name_ccsid() allows accessing metadata in alternate
|
|
|
- character encoding.
|
|
|
+ Also, use a single function library-wide for detecting if a given hostname is
|
|
|
+ a numerical IP address.
|
|
|
|
|
|
- This commit also updates curl_version_info_ccsid() to handle info version 9
|
|
|
- and adds recent definitions to the ILE/RPG include file.
|
|
|
+ Reported-by: Harry Sintonen
|
|
|
+ Fixes #7146
|
|
|
+ Closes #7149
|
|
|
+
|
|
|
+- test178: adjust for hyper
|
|
|
|
|
|
- Documentation updated accordingly.
|
|
|
+ Hyper returns the same error for wrong HTTP version as for negative
|
|
|
+ content-length. Test 178 verifies that negative content-length is
|
|
|
+ rejected but the hyper backend will return a different error for it (and
|
|
|
+ without any helpful message telling why the message was bad). It will
|
|
|
+ also not return any headers at all for the response, not even the ones
|
|
|
+ that arrived before the error.
|
|
|
|
|
|
- Reviewed-by: Jon Rumsey
|
|
|
- Closes #6574
|
|
|
+ Closes #7147
|
|
|
|
|
|
-- [Patrick Monnerat brought this change]
|
|
|
+- HYPER: remove mentions of deprecated development branch
|
|
|
|
|
|
- test server: take care of siginterrupt() deprecation
|
|
|
+- c-hyper: handle NULL from hyper_buf_copy()
|
|
|
|
|
|
- Closes #6529
|
|
|
+ Closes #7143
|
|
|
|
|
|
-Marc Hoersken (21 Apr 2021)
|
|
|
-- lib1564.c: enable last wakeup test part on Windows
|
|
|
+- HSTS: not experimental anymore
|
|
|
+
|
|
|
+- [Douglas R. Reno brought this change]
|
|
|
+
|
|
|
+ INSTALL: use correct extension for CURL-DISABLE.md
|
|
|
|
|
|
- Suggested-by: Gergely Nagy
|
|
|
- Reviewed-by: Jay Satiro
|
|
|
- Reviewed-by: Marcel Raad
|
|
|
+ In INSTALL.MD, it's currently set to CURL-DISABLE-md instead of
|
|
|
+ CURL-DISABLE.md. This generates a 404 on the cURL website as well as
|
|
|
+ when viewing the docs through Github.
|
|
|
|
|
|
- Closes #6245
|
|
|
+ Closes #7142
|
|
|
|
|
|
-- multi: fix slow write/upload performance on Windows
|
|
|
+- travis: run tests 1 - 153 with hyper
|
|
|
+
|
|
|
+- c-hyper: convert HYPERE_INVALID_PEER_MESSAGE to CURLE_UNSUPPORTED_PROTOCOL
|
|
|
|
|
|
- Reset FD_WRITE by sending zero bytes which is permissible
|
|
|
- and will be treated by implementations as successful send.
|
|
|
+ Makes test 129 work (HTTP/1.2 response).
|
|
|
|
|
|
- Without this we won't be notified in case a socket is still
|
|
|
- writable if we already received such a notification and did
|
|
|
- not send any data afterwards on the socket. This would lead
|
|
|
- to waiting forever on a writable socket being writable again.
|
|
|
+ Closes #7141
|
|
|
+
|
|
|
+- http_proxy: deal with non-200 CONNECT response with Hyper
|
|
|
|
|
|
- Assisted-by: Tommy Odom
|
|
|
- Reviewed-by: Jay Satiro
|
|
|
- Reviewed-by: Marcel Raad
|
|
|
- Tested-by: tmkk on github
|
|
|
+ Makes test 94 and 95 work
|
|
|
|
|
|
- Bug: #6146
|
|
|
- Closes #6245
|
|
|
+ Closes #7141
|
|
|
|
|
|
-- multi: reduce Win32 API calls to improve performance
|
|
|
+- c-hyper: clear NTLM auth buffer when request is issued
|
|
|
|
|
|
- 1. Consolidate pre-checks into a single Curl_poll call:
|
|
|
+ To prevent previous ones to get reused on subsequent requests. Matches
|
|
|
+ how the built-in HTTP code works. Makes test 90 to 93 work.
|
|
|
|
|
|
- This is an attempt to restructure the code in Curl_multi_wait
|
|
|
- in such a way that less syscalls are made by removing individual
|
|
|
- calls to Curl_socket_check via SOCKET_READABLE/SOCKET_WRITABLE.
|
|
|
+ Add test 90 to 93 in travis.
|
|
|
|
|
|
- 2. Avoid resetting the WinSock event multiple times:
|
|
|
+ Closes #7139
|
|
|
+
|
|
|
+- [Joel Depooter brought this change]
|
|
|
+
|
|
|
+ schannel: set ALPN length correctly for HTTP/2
|
|
|
|
|
|
- We finally call WSAResetEvent anyway, so specifying it as
|
|
|
- an optional parameter to WSAEnumNetworkEvents is redundant.
|
|
|
+ In a3268eca792f1 this code was changed to use the ALPN_H2 constant
|
|
|
+ instead of the NGHTTP2_PROTO_ALPN constant. However, these constants are
|
|
|
+ not the same. The nghttp2 constant included the length of the string,
|
|
|
+ like this: "\x2h2". The ALPN_H2 constant is just "h2". Therefore we need
|
|
|
+ to re-add the length of the string to the ALPN buffer.
|
|
|
|
|
|
- 3. Wakeup directly in case no sockets are being monitoring:
|
|
|
+ Closes #7138
|
|
|
+
|
|
|
+- travis: run tests 1-89 in the hyper build
|
|
|
|
|
|
- Fix the WinSock based implementation to skip extra waiting by
|
|
|
- not sleeping in case no sockets are to be waited on and just
|
|
|
- the WinSock event is being monitored for wakeup functionality.
|
|
|
+ Closes #7137
|
|
|
+
|
|
|
+- Revert "c-hyper: handle body on HYPER_TASK_EMPTY"
|
|
|
|
|
|
- Assisted-by: Tommy Odom
|
|
|
- Reviewed-by: Jay Satiro
|
|
|
- Reviewed-by: Marcel Raad
|
|
|
+ This reverts commit c3eefa95c31f55657f0af422e8268d738f689066.
|
|
|
|
|
|
- Bug: #6146
|
|
|
- Closes #6245
|
|
|
+ Reported-by: Kevin Burke
|
|
|
+ Fixes #7122
|
|
|
+ Closes #7136
|
|
|
|
|
|
-- Revert "Revert 'multi: implement wait using winsock events'"
|
|
|
-
|
|
|
- This reverts commit 2260e0ebe6d45529495231b3e37a0c58fb92a6a2,
|
|
|
- also restoring previous follow up changes which were reverted.
|
|
|
+- [Jon Rumsey brought this change]
|
|
|
+
|
|
|
+ ccsidcurl: fix the compile errors
|
|
|
|
|
|
- Authored-by: rcombs on github
|
|
|
- Authored-by: Marc Hörsken
|
|
|
- Reviewed-by: Jay Satiro
|
|
|
- Reviewed-by: Marcel Raad
|
|
|
+ Looks like the declaration of cpp shoule be const char ** and return
|
|
|
+ null if convert_version_info_string fails.
|
|
|
|
|
|
- Restores #5634
|
|
|
- Reverts #6281
|
|
|
- Part of #6245
|
|
|
+ Fixes #7134
|
|
|
+ Closes #7135
|
|
|
|
|
|
-Daniel Stenberg (21 Apr 2021)
|
|
|
-- Revert "cmake: make libcurl library output name configurable"
|
|
|
+- [Viktor Szakats brought this change]
|
|
|
+
|
|
|
+ docs: use --max-redirs instead of --max-redir
|
|
|
|
|
|
- This reverts commit 1cba36d2166c396f987eea587cf92671b27acb92.
|
|
|
+ For consistency.
|
|
|
|
|
|
- CMake provides properties that can be set on a target to rename the
|
|
|
- output artifact without changing the name of a target.
|
|
|
+ Closes #7130
|
|
|
+
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- Ref: #6899
|
|
|
+ ... and bump to 7.77.1
|
|
|
|
|
|
-- [Michael Kolechkin brought this change]
|
|
|
+- [Michael Forney brought this change]
|
|
|
|
|
|
- sectransp: allow cipher name to be specified
|
|
|
+ travis: add bearssl build
|
|
|
|
|
|
- Add parser for CURLOPT_SSL_CIPHER_LIST option for Secure Transport (ST)
|
|
|
- back-end. Similar to NSS and GSKit back-ends, new code parses string
|
|
|
- value and configures ST library to use those ciphers for communication.
|
|
|
- Create cipher spec data structure and initialize the array of specs with
|
|
|
- cipher number, name, alias, and 'weak' flag.
|
|
|
+ Closes #7133
|
|
|
+
|
|
|
+- [Michael Forney brought this change]
|
|
|
+
|
|
|
+ bearssl: explicitly initialize all fields of Curl_ssl
|
|
|
|
|
|
- Mark triple-DES ciphers as 'weak', and exclude them from the default
|
|
|
- ciphers list.
|
|
|
+ Also, add comments like the other vtls backends.
|
|
|
|
|
|
- Closes #6464
|
|
|
+ Closes #7133
|
|
|
|
|
|
-- [Michael Kolechkin brought this change]
|
|
|
+- [Michael Forney brought this change]
|
|
|
|
|
|
- NSS: add ciphers to map
|
|
|
+ bearssl: remove incorrect const on variable that is modified
|
|
|
|
|
|
- Add cipher names to the `cipherlist` map, based on the list of ciphers
|
|
|
- implemented by the NSS in the source code file
|
|
|
- https://github.com/nss-dev/nss/blob/master/lib/ssl/sslenum.c
|
|
|
+ hostname may be set to NULL later on in this function if it is an
|
|
|
+ IP address.
|
|
|
|
|
|
- Closes #6670
|
|
|
+ Closes #7133
|
|
|
|
|
|
-- http2: remove DEBUG_HTTP2
|
|
|
-
|
|
|
- Accidentally committed in 605e84235
|
|
|
+Version 7.77.0 (26 May 2021)
|
|
|
|
|
|
-- [Ralph Langendam brought this change]
|
|
|
+Daniel Stenberg (26 May 2021)
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- cmake: make libcurl library output name configurable
|
|
|
-
|
|
|
- Closes #6899
|
|
|
+- THANKS: added contributors from 7.77.0 cycle
|
|
|
|
|
|
-- sws: #ifdef S_IFSOCK use
|
|
|
+- copyright: update copyright year ranges to 2021
|
|
|
+
|
|
|
+- [Radek Zajic brought this change]
|
|
|
+
|
|
|
+ hostip: fix broken macOS/CMake/GCC builds
|
|
|
|
|
|
- SCO OpenServer 5.0.7 does not define S_IFSOCK.
|
|
|
+ Follow-up to 31f631a142d855f06
|
|
|
|
|
|
- Reported-by: Kevin R. Bulgrien
|
|
|
- Bug: https://curl.se/mail/lib-2021-04/0074.html
|
|
|
- Closes #6926
|
|
|
+ Fixes #7128
|
|
|
+ Closes #7129
|
|
|
|
|
|
-- curl_setup: provide the shutdown flags wider
|
|
|
-
|
|
|
- By using #ifdef on the symbol names to work on anything that don't
|
|
|
- provide them. SCO OpenServer 5.0.7, sys/socket.h does not define either
|
|
|
- SHUT_RDWR, SHUT_RD, and SHUT_WR.
|
|
|
+- TODO: netrc caching and sharing
|
|
|
|
|
|
- Reported-by: Kevin R. Bulgrien
|
|
|
- Bug: https://curl.se/mail/lib-2021-04/0073.html
|
|
|
- Closes #6925
|
|
|
+ URL: https://curl.se/mail/archive-2021-05/0018.html
|
|
|
|
|
|
-- connect: use CURL_SA_FAMILY_T for portability
|
|
|
+- [Orgad Shaneh brought this change]
|
|
|
+
|
|
|
+ setopt: streamline ssl option code
|
|
|
|
|
|
- Reported-by: Kevin R. Bulgrien
|
|
|
- Bug: https://curl.se/mail/lib-2021-04/0071.html
|
|
|
+ Make it use the same style as the code next to it
|
|
|
|
|
|
- Closes #6918
|
|
|
+ Closes #7123
|
|
|
|
|
|
-- urlapi: make sure no +/- signs are accepted in IPv4 numericals
|
|
|
-
|
|
|
- Follow-up to 56a037cc0ad1b2. Extends test 1560 to verify.
|
|
|
+- [Radek Zajic brought this change]
|
|
|
+
|
|
|
+ lib/hostip6.c: make NAT64 address synthesis on macOS work
|
|
|
|
|
|
- Reported-by: Tuomas Siipola
|
|
|
- Fixes #6916
|
|
|
- Closes #6917
|
|
|
+ Closes #7121
|
|
|
|
|
|
-- ConnectionExists: respect requests for h1 connections better
|
|
|
+- [ejanchivdorj brought this change]
|
|
|
+
|
|
|
+ sectransp: fix EXC_BAD_ACCESS caused by uninitialized buffer
|
|
|
|
|
|
- ... for situations when multiplexing isn't enabled on the h2 connection
|
|
|
- and h1 is explicitly requested for the transfer.
|
|
|
+ When the SecCertificateCopyCommonName function fails, it leaves
|
|
|
+ common_name in a invalid state so CFStringCompare uses the invalid
|
|
|
+ result, causing EXC_BAD_ACCESS.
|
|
|
|
|
|
- Assisted-by: Gergely Nagy
|
|
|
-
|
|
|
-- multi: don't close connection HTTP_1_1_REQUIRED
|
|
|
+ The fix is to check the return value of the function before using the
|
|
|
+ name.
|
|
|
|
|
|
- The ConnectionExists() function will note that the new transfer wants
|
|
|
- less then h2 and that it can't multiplex it and therefor opt to open a
|
|
|
- new connection instead.
|
|
|
+ Closes #7126
|
|
|
|
|
|
-- http2: move the stream error field to the per-transfer storage
|
|
|
+- [Paweł Wegner brought this change]
|
|
|
+
|
|
|
+ CMake: add CURL_ENABLE_EXPORT_TARGET option
|
|
|
|
|
|
- Storing a stream error in the per-connection struct was an error that lead to
|
|
|
- race conditions as subsequent stream handling could overwrite the error code
|
|
|
- before it was used for the stream with the actual problem.
|
|
|
+ install(EXPORT ...) causes trouble when embedding curl dependencies
|
|
|
+ which don't provide install(EXPORT ...) targets (e.g libressl and
|
|
|
+ nghttp2) with cmake's add_subdirectory.
|
|
|
|
|
|
- Closes #6910
|
|
|
+ Reviewed-by: Jakub Zakrzewski
|
|
|
+ Closes #7060
|
|
|
|
|
|
-- http2: call the handle-closed function correctly on closed stream
|
|
|
+- [Alessandro Ghedini brought this change]
|
|
|
+
|
|
|
+ quiche: update for network path aware API
|
|
|
|
|
|
- This was this one condition where the stream could be closed due to an
|
|
|
- error and the function would still wrongly just return 0 for it.
|
|
|
+ Latest version of quiche requires the application to pass the peer
|
|
|
+ address of received packets, and it provides the address for outgoing
|
|
|
+ packets back.
|
|
|
|
|
|
- Reported-by: Gergely Nagy
|
|
|
- Fixes #6862
|
|
|
- Closes #6910
|
|
|
+ Closes #7120
|
|
|
|
|
|
-- test1660: check the created HSTS file as text mode
|
|
|
+- [Jacob Hoffman-Andrews brought this change]
|
|
|
+
|
|
|
+ rustls: switch read_tls and write_tls to callbacks
|
|
|
|
|
|
- Closes #6922
|
|
|
+ And update to 0.6.0, including a rename from session to connection for
|
|
|
+ many fields.
|
|
|
+
|
|
|
+ Closes #7071
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+- [Koichi Shiraishi brought this change]
|
|
|
|
|
|
-- test 493: require https in curl to run
|
|
|
+ sectransp: fix 7f4a9a9b2a49 commit about missing comma
|
|
|
|
|
|
- Closes #6927
|
|
|
-
|
|
|
-Jay Satiro (20 Apr 2021)
|
|
|
-- tool_operate: don't discard failed parallel transfer result
|
|
|
+ Follow-up to 7f4a9a9b2a495
|
|
|
|
|
|
- - Save a parallel transfer's result code only when it fails and the
|
|
|
- transfer is not being retried.
|
|
|
+ Closes #7119
|
|
|
+
|
|
|
+- [Harry Sintonen brought this change]
|
|
|
+
|
|
|
+ openssl: associate/detach the transfer from connection
|
|
|
|
|
|
- Prior to this change the result code was always set which meant that a
|
|
|
- failed result could be erroneously discarded if a different transfer
|
|
|
- later had a successful result (CURLE_OK).
|
|
|
+ CVE-2021-22901
|
|
|
|
|
|
- Before:
|
|
|
+ Bug: https://curl.se/docs/CVE-2021-22901.html
|
|
|
+
|
|
|
+- [Harry Sintonen brought this change]
|
|
|
+
|
|
|
+ telnet: check sscanf() for correct number of matches
|
|
|
|
|
|
- > curl --fail -Z https://httpbin.org/status/404 https://httpbin.org/delay/10
|
|
|
- > echo %ERRORLEVEL%
|
|
|
- 0
|
|
|
+ CVE-2021-22898
|
|
|
|
|
|
- After:
|
|
|
+ Bug: https://curl.se/docs/CVE-2021-22898.html
|
|
|
+
|
|
|
+- schannel: don't use static to store selected ciphers
|
|
|
|
|
|
- > curl --fail -Z https://httpbin.org/status/404 https://httpbin.org/delay/10
|
|
|
- > echo %ERRORLEVEL%
|
|
|
- 22
|
|
|
+ CVE-2021-22897
|
|
|
|
|
|
- Closes #xxxx
|
|
|
+ Bug: https://curl.se/docs/CVE-2021-22897.html
|
|
|
|
|
|
-- [Georeth Zhou brought this change]
|
|
|
+- docs/tests: remove freenode references
|
|
|
|
|
|
- openssl: fix build error with OpenSSL < 1.0.2
|
|
|
-
|
|
|
- Closes https://github.com/curl/curl/pull/6920
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
-Viktor Szakats (19 Apr 2021)
|
|
|
-- README.md: delete Codacy UTM parameters & follow permanent redirect [ci skip]
|
|
|
-
|
|
|
- UTM parameters leak referrer and various marketing/tracking information
|
|
|
- even if these would normally be stripped by website or client policy.
|
|
|
- This link also works fine without them. Also took the opportunity to
|
|
|
- update the URL to the one pointed to by the previous one via permanent
|
|
|
- redirect.
|
|
|
-
|
|
|
- Reviewed-by: Daniel Stenberg
|
|
|
- Closes #6919
|
|
|
+- [Sergey Markelov brought this change]
|
|
|
|
|
|
-Daniel Stenberg (19 Apr 2021)
|
|
|
-- urlapi: "normalize" numerical IPv4 host names
|
|
|
+ NSS: make colons, commas and spaces valid separators in cipher list
|
|
|
|
|
|
- When the host name in a URL is given as an IPv4 numerical address, the
|
|
|
- address can be specified with dotted numericals in four different ways:
|
|
|
- a32, a.b24, a.b.c16 or a.b.c.d and each part can be specified in
|
|
|
- decimal, octal (0-prefixed) or hexadecimal (0x-prefixed).
|
|
|
-
|
|
|
- Instead of passing on the name as-is and leaving the handling to the
|
|
|
- underlying name functions, which made them not work with c-ares but work
|
|
|
- with getaddrinfo, this change now makes the curl URL API itself detect
|
|
|
- and "normalize" host names specified as IPv4 numericals.
|
|
|
-
|
|
|
- The WHATWG URL Spec says this is an okay way to specify a host name in a
|
|
|
- URL. RFC 3896 does not allow them, but curl didn't prevent them before
|
|
|
- and it seems other RFC 3896-using tools have not either. Host names used
|
|
|
- like this are widely supported by other tools as well due to the
|
|
|
- handling being done by getaddrinfo and friends.
|
|
|
-
|
|
|
- I decided to add the functionality into the URL API itself so that all
|
|
|
- users of these functions get the benefits, when for example wanting to
|
|
|
- compare two URLs. Also, it makes curl built to use c-ares now support
|
|
|
- them as well and make curl builds more consistent.
|
|
|
-
|
|
|
- The normalization makes HTTPS and virtual hosted HTTP work fine even
|
|
|
- when curl gets the address specified using one of the "obscure" formats.
|
|
|
-
|
|
|
- Test 1560 is extended to verify.
|
|
|
-
|
|
|
- Fixes #6863
|
|
|
- Closes #6871
|
|
|
+ Fixes #7110
|
|
|
+ Closes #7115
|
|
|
|
|
|
-- libssh: fix "empty expression statement has no effect" warnings
|
|
|
-
|
|
|
- ... by fixing macros to do-while constructs and moving out the calls to
|
|
|
- "break" outside of the actual macro. It also fixes the problem where the
|
|
|
- macro was used witin a loop and the break didn't do right.
|
|
|
+- curl: include libmetalink version in --version output
|
|
|
|
|
|
- Reported-by: Emil Engler
|
|
|
- Fixes #6847
|
|
|
- Closes #6909
|
|
|
+ Closes #7112
|
|
|
|
|
|
-- hsts: enable by default
|
|
|
+Jay Satiro (21 May 2021)
|
|
|
+- [Matias N. Goldberg brought this change]
|
|
|
+
|
|
|
+ cmake: Use multithreaded compilation on VS 2008+
|
|
|
|
|
|
- No longer considered experimental.
|
|
|
+ Multithreaded compilation has been supported since at least VS 2005 and
|
|
|
+ been robustly stable since at least VS 2008
|
|
|
|
|
|
- Closes #6700
|
|
|
+ Closes https://github.com/curl/curl/pull/7109
|
|
|
|
|
|
-- vtls: refuse setting any SSL version
|
|
|
+Daniel Stenberg (21 May 2021)
|
|
|
+- [Matias N. Goldberg brought this change]
|
|
|
+
|
|
|
+ cmake: fix two invokes result in different curl_config.h
|
|
|
|
|
|
- ... previously they were supported if a TLS library would (unexpectedly)
|
|
|
- still support them, but from this change they will be refused already in
|
|
|
- curl_easy_setopt(). SSLv2 and SSLv3 have been known to be insecure for
|
|
|
- many years now.
|
|
|
+ Fixes #7100
|
|
|
+ Closes #7101
|
|
|
|
|
|
- Closes #6773
|
|
|
+ Reviewed-by: Jakub Zakrzewski
|
|
|
+ Signed-off-by: Matias N. Goldberg <dark_sylinc@yahoo.com.ar>
|
|
|
|
|
|
-- curl: ignore options asking for SSLv2 or SSLv3
|
|
|
-
|
|
|
- Instead output a warning about it and continue with the defaults.
|
|
|
+- [Peng-Yu Chen brought this change]
|
|
|
+
|
|
|
+ cmake: detect CURL_SA_FAMILY_T
|
|
|
|
|
|
- These SSL versions are typically not supported by the TLS libraries since a
|
|
|
- long time back already since they are inherently insecure and broken. Asking
|
|
|
- for them to be used will just cause an error to be returned slightly later.
|
|
|
+ Fixes #7049
|
|
|
+ Closes #7065
|
|
|
+
|
|
|
+- [Lucas Clemente Vella brought this change]
|
|
|
+
|
|
|
+ CURLOPT_IPRESOLVE: preventing wrong IP version from being used
|
|
|
|
|
|
- In the unlikely event that a user's TLS library actually still supports these
|
|
|
- protocol versions, this change might make the request a little less insecure.
|
|
|
+ In some situations, it was possible that a transfer was setup to
|
|
|
+ use an specific IP version, but due do DNS caching or connection
|
|
|
+ reuse, it ended up using a different IP version from requested.
|
|
|
|
|
|
- Closes #6772
|
|
|
-
|
|
|
-- test972: verify the json output with jsonlint
|
|
|
+ This commit changes the effect of CURLOPT_IPRESOLVE from simply
|
|
|
+ restricting address resolution to preventing the wrong connection
|
|
|
+ type being used, when choosing a connection from the pool, and
|
|
|
+ to restricting what addresses could be used when establishing
|
|
|
+ a new connection.
|
|
|
|
|
|
- Make sure one of the azure jobs has jsonlint installed so that the test
|
|
|
- runs there.
|
|
|
+ It is important that all addresses versions are resolved, even if
|
|
|
+ not used in that transfer in particular, because the result is
|
|
|
+ cached, and could be useful for a different transfer with a
|
|
|
+ different CURLOPT_IPRESOLVE setting.
|
|
|
|
|
|
- Ref: #6905
|
|
|
+ Closes #6853
|
|
|
|
|
|
-- [Jay Satiro brought this change]
|
|
|
+- [Oliver Urbann brought this change]
|
|
|
|
|
|
- tool_writeout: fix the HTTP_CODE json output
|
|
|
+ AmigaOS: add functions definitions for SHA256
|
|
|
|
|
|
- Update test 970 accordingly.
|
|
|
+ AmiSSL replaces many functions with macros. Curl requires pointer
|
|
|
+ to some of these functions. Thus, we have to encapsulate these macros:
|
|
|
+ SHA256_Init, SHA256_Update, SHA256_Final, X509_INFO_free.
|
|
|
|
|
|
- Reported-by: Michal Rus
|
|
|
- Fixes #6905
|
|
|
- Closes #6906
|
|
|
-
|
|
|
-- openldap: protect SSL-specific code with proper #ifdef
|
|
|
+ Bug: https://github.com/jens-maus/amissl/issues/15
|
|
|
+ Co-authored-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
|
|
|
- Closes #6901
|
|
|
+ Closes #7099
|
|
|
|
|
|
-- libssh2: fix Value stored to 'sshp' is never read
|
|
|
-
|
|
|
- Pointed out by scan-build
|
|
|
+- test2100: make it run with and require IPv6
|
|
|
|
|
|
- Closes #6900
|
|
|
-
|
|
|
-- [Victor Vieux brought this change]
|
|
|
+ Closes #7083
|
|
|
|
|
|
- tool_getparam: replace (in-place) '%20' by '+' according to RFC1866
|
|
|
-
|
|
|
- Signed-off-by: Victor Vieux <victorvieux@gmail.com>
|
|
|
+- tests/getpart: generate output URL encoded for better diffs
|
|
|
|
|
|
- Closes #6895
|
|
|
+ Closes #7083
|
|
|
|
|
|
-- configure: provide --with-openssl, deprecate --with-ssl
|
|
|
+- [Ryan Beck-Buysse brought this change]
|
|
|
+
|
|
|
+ docs/TheArtOfHttpScripting: fix markdown links
|
|
|
|
|
|
- Makes the option more explicit.
|
|
|
+ extra parens cause the links to be incorrectly formatted
|
|
|
+ and inconsistent with the rest of the document.
|
|
|
|
|
|
- Closes #6887
|
|
|
+ Signed-off-by: Ryan Beck-Buysse <rbuysse@gmail.com>
|
|
|
+ Closes #7097
|
|
|
|
|
|
- RELEASE-NOTES: synced
|
|
|
-
|
|
|
- and bumped curlver to 7.77.0
|
|
|
|
|
|
-- [Javier Blazquez brought this change]
|
|
|
+- [Emil Engler brought this change]
|
|
|
|
|
|
- rustls: only return CURLE_AGAIN when TLS session is fully drained
|
|
|
-
|
|
|
- The code in cr_recv was returning prematurely as soon as the socket
|
|
|
- reported no more data to read. However, this could be leaving some
|
|
|
- unread plaintext data in the rustls session from a previous call,
|
|
|
- causing causing the transfer to hang if the socket never receives
|
|
|
- further data.
|
|
|
+ docs: replace dots with dashes in markdown enums
|
|
|
|
|
|
- We need to ensure that the session is fully drained of plaintext data
|
|
|
- before returning CURLE_AGAIN to the caller.
|
|
|
+ We use dashes instead of dots nearly everywhere except for those few
|
|
|
+ cases. This commit addresses this issues and brings more coherency into
|
|
|
+ it.
|
|
|
|
|
|
- Reviewed-by: Jacob Hoffman-Andrews
|
|
|
- Closes #6894
|
|
|
+ Closes #7093
|
|
|
|
|
|
-- cookie: CURLOPT_COOKIEFILE set to NULL switches off cookies
|
|
|
+- [Emil Engler brought this change]
|
|
|
+
|
|
|
+ docs: improve INTERNALS.md regarding getsock cb
|
|
|
|
|
|
- Add test 676 to verify that setting CURLOPT_COOKIEFILE to NULL again clears
|
|
|
- the cookiejar from memory.
|
|
|
+ This adds the I/O prefix to indicate that those "actions" are kind-of
|
|
|
+ related to those found in select(2) or poll(2) (reading/writing).
|
|
|
|
|
|
- Reported-by: Stefan Karpinski
|
|
|
- Fixes #6889
|
|
|
- Closes #6891
|
|
|
+ It also adds a note where the prototypes of those functions can be found
|
|
|
+ in the source code.
|
|
|
+
|
|
|
+ Closes #7092
|
|
|
|
|
|
-Version 7.76.1 (14 Apr 2021)
|
|
|
+- [Emil Engler brought this change]
|
|
|
|
|
|
-Daniel Stenberg (14 Apr 2021)
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+ docs: document attach in INTERNALS.md
|
|
|
|
|
|
- curl 7.76.1 release
|
|
|
+ The new field in the Curl_handler struct still lacks documentation. This
|
|
|
+ adds it it from the information extracted from lib/urldata.h:797
|
|
|
+
|
|
|
+ Closes #7091
|
|
|
|
|
|
-- THANKS: add names from 7.76.1
|
|
|
+- [Marc Aldorasi brought this change]
|
|
|
|
|
|
-- misc: update copyright year ranges to match latest updates
|
|
|
+ config: remove now-unused macros
|
|
|
+
|
|
|
+ Closes #7094
|
|
|
|
|
|
-- [Tatsuhiro Tsujikawa brought this change]
|
|
|
+- [Marc Aldorasi brought this change]
|
|
|
|
|
|
- ngtcp2: Use ALPN h3-29 for now
|
|
|
+ hostip.h: remove declaration of unimplemented function
|
|
|
|
|
|
- Fixes #6864
|
|
|
- Cloes #6886
|
|
|
+ Closes #7094
|
|
|
|
|
|
-Jay Satiro (11 Apr 2021)
|
|
|
-- TODO: remove 18.22 --fail-with-body
|
|
|
+- h3: add 'attach' callback to protocol handlers
|
|
|
|
|
|
- --fail-with-body was added in 8a964cb (precedes curl-7_76_0).
|
|
|
-
|
|
|
-Daniel Stenberg (10 Apr 2021)
|
|
|
-- [Jürgen Gmach brought this change]
|
|
|
+ Follow-up to 0c55fbab45be
|
|
|
+
|
|
|
+ Reviewed-by: Emil Engler
|
|
|
+ Closes #7090
|
|
|
|
|
|
- src/tool_vms.c: remove duplicated word in comment
|
|
|
+- wolfssl: remove SSLv3 support leftovers
|
|
|
|
|
|
- Closes #6881
|
|
|
+ Closes #7088
|
|
|
|
|
|
-- configure: fix CURL_DARWIN_CFLAGS use
|
|
|
+- curl-wolfssl.m4: without custom include path, assume /usr/include
|
|
|
|
|
|
- The macro name change was not completely done.
|
|
|
+ ... so that we can point out the root of the OpenSSL emulation headers.
|
|
|
+ Previously this used the '$includedir' variable which is wrong since
|
|
|
+ that defaults to the dir where the current configure invoke will install
|
|
|
+ the built libcurl headers: /usr/local by default.
|
|
|
|
|
|
- Follow-up to 5d2c384452543c
|
|
|
- Bug: https://github.com/curl/curl/commit/5d2c384452543c7b6c9fb02eaa0afc84fd5ab941#commitcomment-49315187
|
|
|
- Reported-by: Marcel Raad
|
|
|
- Closes #6878
|
|
|
+ Fixes #7085
|
|
|
+ Reported-by: Joel Jakobsson
|
|
|
+ Closes #7087
|
|
|
|
|
|
-- [Anthony Shaw brought this change]
|
|
|
+- [Joel Depooter brought this change]
|
|
|
|
|
|
- github/workflow: add "security-extended" to codeql-analysis.yml
|
|
|
+ data_pending: check only SECONDARY socket for FTP(S) transfers
|
|
|
|
|
|
- Extends the CodeQL code scan.
|
|
|
+ Check the FIRST for all other protocols.
|
|
|
|
|
|
- Closes #6815
|
|
|
-
|
|
|
-- [Jochem Broekhoff brought this change]
|
|
|
+ This fixes a timeout in an ftps download. The server sends a TLS
|
|
|
+ close_notify message in the same packet as the file data. The
|
|
|
+ close_notify seems to not be handled in the schannel_recv function, so
|
|
|
+ libcurl is not aware that the server has closed the connection. Thus
|
|
|
+ libcurl ends up waiting for action on the socket until a timeout is
|
|
|
+ reached. With the secondary socket check added to the data_pending
|
|
|
+ function, the close_notify is properly handled, and the ftps transfer
|
|
|
+ terminates as expected.
|
|
|
+
|
|
|
+ Fixes #7068
|
|
|
+ Closes #7069
|
|
|
|
|
|
- examples/hiperfifo.c: check event_initialized before delete
|
|
|
+- github: inhibit deprecated declarations for clang on macOS
|
|
|
|
|
|
- If event_del is called with the event struct (still) zeroed out, a
|
|
|
- segmentation fault may occur. event_initialized checks whether the
|
|
|
- event struct is nonzero.
|
|
|
+ ... as they otherwise cause ldap build errors in the CI.
|
|
|
|
|
|
- Closes #6876
|
|
|
+ Fixes #7081
|
|
|
+ Closes #7082
|
|
|
|
|
|
-- [Patrick Monnerat brought this change]
|
|
|
+- conn: add 'attach' to protocol handler, make libssh2 use it
|
|
|
+
|
|
|
+ The libssh2 backend has SSH session associated with the connection but
|
|
|
+ the callback context is the easy handle, so when a connection gets
|
|
|
+ attached to a transfer, the protocol handler now allows for a custom
|
|
|
+ function to get used to set things up correctly.
|
|
|
+
|
|
|
+ Reported-by: Michael O'Farrell
|
|
|
+ Fixes #6898
|
|
|
+ Closes #7078
|
|
|
|
|
|
- ntlm: fix negotiated flags usage
|
|
|
+- http2: make sure pause is done on HTTP
|
|
|
|
|
|
- According to Microsoft document MS-NLMP, current flags usage is not
|
|
|
- accurate: flag NTLMFLAG_NEGOTIATE_NTLM2_KEY controls the use of
|
|
|
- extended security in an NTLM authentication message and NTLM version 2
|
|
|
- cannot be negotiated within the protocol.
|
|
|
+ Since the function is called for any protocol, we can't assume that the
|
|
|
+ HTTP struct is there without first making sure it is HTTP.
|
|
|
|
|
|
- The solution implemented here is: if the extended security flag is set,
|
|
|
- prefer using NTLM version 2 (as a server featuring extended security
|
|
|
- should also support version 2). If version 2 has been disabled at
|
|
|
- compile time, use extended security.
|
|
|
+ Reported-by: Denis Goleshchikhin
|
|
|
+ Fixes #7079
|
|
|
+ Closes #7080
|
|
|
+
|
|
|
+- docs: cookies from HTTP headers need domain set
|
|
|
|
|
|
- Tests involving NTLM are adjusted to this new behavior.
|
|
|
+ ... or the cookies won't get sent. Push users to using the "Netscape"
|
|
|
+ format instead, which curl uses when saving a cookie "jar".
|
|
|
|
|
|
- Fixes #6813
|
|
|
- Closes #6849
|
|
|
+ Reported-by: Martin Dorey
|
|
|
+ Reviewed-by: Daniel Gustafsson
|
|
|
+ Fixes #6723
|
|
|
+ Closes #7077
|
|
|
|
|
|
-- [Patrick Monnerat brought this change]
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- ntlm: support version 2 on 32-bit platforms
|
|
|
+- github: add a workflow with libssh2 on macOS using cmake
|
|
|
|
|
|
- Closes #6849
|
|
|
-
|
|
|
-- [Patrick Monnerat brought this change]
|
|
|
+ Closes #7047
|
|
|
|
|
|
- curl_ntlm_core.h: simplify conditionals for USE_NTLM2SESSION
|
|
|
+- sws: allow HTTP requests up to 2MB in size
|
|
|
|
|
|
- ... as !defined(CURL_DISABLE_CRYPTO_AUTH) is a prerequisite for the
|
|
|
- whole NTLM.
|
|
|
+ To allow tests with slightly larger payloads. Like #7071 ...
|
|
|
|
|
|
- Closes #6849
|
|
|
+ Closes #7075
|
|
|
|
|
|
-- lib: remove unused HAVE_INET_NTOA_R* defines
|
|
|
+Marc Hoersken (16 May 2021)
|
|
|
+- CI/azure: increase verbosity and fix outdated task names
|
|
|
|
|
|
- Closes #6867
|
|
|
-
|
|
|
-- [Michael Forney brought this change]
|
|
|
+ Closes #7063
|
|
|
|
|
|
- configure: include <time.h> unconditionally
|
|
|
-
|
|
|
- In 2682e5f5, several instances of AC_HEADER_TIME were removed since
|
|
|
- it is a deprecated autoconf macro. However, this was the macro that
|
|
|
- defined TIME_WITH_SYS_TIME, which was used to indicate that <time.h>
|
|
|
- can be included alongside <sys/time.h>. TIME_WITH_SYS_TIME is still
|
|
|
- used in the configure test body and since it is no longer defined,
|
|
|
- <time.h> is *not* included on systems that have <sys/time.h>.
|
|
|
+- CI/cirrus: add shared and static Windows release builds
|
|
|
|
|
|
- In particular, at least on musl libc and glibc, <sys/time.h> does
|
|
|
- not implicitly include <time.h> and does not declare clock_gettime,
|
|
|
- gmtime_r, or localtime_r. This causes configure to fail to detect
|
|
|
- those functions.
|
|
|
+ Azure Pipelines is currently being used for debug builds,
|
|
|
+ let's also run some non-debug (release) Windows builds and
|
|
|
+ make use of previously underutilized Cirrus CI for that.
|
|
|
|
|
|
- The AC_HEADER_TIME macro deprecation text says
|
|
|
+ Reviewed-by: Marcel Raad
|
|
|
|
|
|
- > All current systems provide time.h; it need not be checked for.
|
|
|
- > Not all systems provide sys/time.h, but those that do, all allow
|
|
|
- > you to include it and time.h simultaneously.
|
|
|
+ Closes #6991
|
|
|
+
|
|
|
+Daniel Stenberg (16 May 2021)
|
|
|
+- CURLOPT_CAPATH.3: defaults to a path, not NULL
|
|
|
|
|
|
- So, to fix this issue, simply include <time.h> unconditionally when
|
|
|
- testing for time-related functions and in libcurl, and don't bother
|
|
|
- checking for it.
|
|
|
+ Reported-by: Andrew Barnert
|
|
|
|
|
|
- Closes #6859
|
|
|
+ Closes #7062
|
|
|
|
|
|
-- [Michael Forney brought this change]
|
|
|
+- [Jacob Hoffman-Andrews brought this change]
|
|
|
|
|
|
- configure: remove use of RETSIGTYPE
|
|
|
-
|
|
|
- This was previously defined by the obsolete AC_TYPE_SIGNAL macro,
|
|
|
- which was removed in 2682e5f5. The deprecation text says
|
|
|
+ c-hyper: handle body on HYPER_TASK_EMPTY
|
|
|
|
|
|
- > Your code may safely assume C89 semantics that RETSIGTYPE is void.
|
|
|
+ Some of the time, we get a HYPER_TASK_EMPTY response before the status
|
|
|
+ line, headers, and body have been read. Previously, that would cause us
|
|
|
+ to poll again, leading to a 1 second timeout.
|
|
|
|
|
|
- So, remove it and just use void instead.
|
|
|
+ The HYPER_TASK_EMPTY docs say:
|
|
|
|
|
|
- Closes #6861
|
|
|
-
|
|
|
-- [Muhammed Yavuz Nuzumlalı brought this change]
|
|
|
-
|
|
|
- install: add instructions for Apple Darwin platforms
|
|
|
+ The value of this task is null (does not imply an error).
|
|
|
|
|
|
- Closes #6860
|
|
|
-
|
|
|
-- [Muhammed Yavuz Nuzumlalı brought this change]
|
|
|
-
|
|
|
- configure: disable min version set for Darwin
|
|
|
+ So, if we receive a HYPER_TASK_EMPTY, continue on with processing the
|
|
|
+ response.
|
|
|
|
|
|
- Fixes #6838
|
|
|
- Closes #6860
|
|
|
+ Reported-by: Kevin Burke
|
|
|
+ Fixes #7064
|
|
|
+ Closes #7070
|
|
|
|
|
|
-- [David Hu brought this change]
|
|
|
+- [Ikko Ashimine brought this change]
|
|
|
|
|
|
- docs/HTTP3.md: update the build instruction using gnutls
|
|
|
+ tool_getparam: fix comment typo in tool_getparam.c
|
|
|
|
|
|
- In ngtcp2 the `with-gnutls` option is disabled by default, which will
|
|
|
- cause `curl` unable to be `make` because of lacking the libraries
|
|
|
- needed.
|
|
|
+ enfore -> enforce
|
|
|
|
|
|
- Closes #6857
|
|
|
-
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+ Closes #7074
|
|
|
|
|
|
-- typecheck-gcc: make the ssl-ctx-cb check use SSL_CTX pointers
|
|
|
+- mem-include-scan.pl: require a non-word letter before memory funcs
|
|
|
|
|
|
- ... and not values.
|
|
|
+ ... so that ldap_memfree() for example doesn't match the scan for free.
|
|
|
|
|
|
- Reported-by: locpyl-tidnyd on github
|
|
|
- Fixes #6818
|
|
|
- Closes #6819
|
|
|
+ Closes #7061
|
|
|
|
|
|
-- ngtcp2+gnutls: clear credentials when freed
|
|
|
+- version: free the openldap info correctly
|
|
|
|
|
|
- ... to avoid double-free.
|
|
|
+ ... to avoid memory leaks.
|
|
|
|
|
|
- Reported-by: Kenneth Davidson
|
|
|
- Fixes #6824
|
|
|
- Closes #6856
|
|
|
+ Follow-up to: bf0feae7768d9
|
|
|
+ Closes #7061
|
|
|
|
|
|
-Jay Satiro (5 Apr 2021)
|
|
|
-- [Cherish98 brought this change]
|
|
|
+- dupset: remove totally off comment
|
|
|
+
|
|
|
+ Closes #7067
|
|
|
|
|
|
- tool_progress: Fix progress meter in parallel mode
|
|
|
+- configure: if asked for, fail if ldap is not found
|
|
|
|
|
|
- Make sure the total amount of DL/UL bytes are counted before the
|
|
|
- transfer finalizes. Otherwise if a transfer finishes too quick, its
|
|
|
- total numbers are not added, and results in a DL%/UL% that goes above
|
|
|
- 100%.
|
|
|
+ Reported-by: Jakub Zakrzewski
|
|
|
+ Fixes #7053
|
|
|
+ Closes #7055
|
|
|
+
|
|
|
+- version: add OpenLDAP version in the output
|
|
|
|
|
|
- Detail:
|
|
|
+ Assisted-by: Howard Chu
|
|
|
+ Closes #7054
|
|
|
+
|
|
|
+Jay Satiro (13 May 2021)
|
|
|
+- [Joel Depooter brought this change]
|
|
|
+
|
|
|
+ schannel: Ensure the security context request flags are always set
|
|
|
|
|
|
- progress_meter() is called periodically, and it may not catch a
|
|
|
- transfer's total bytes if the value was unknown during the last call,
|
|
|
- and the transfer is finished and deleted (i.e., lost) during the next
|
|
|
- call.
|
|
|
+ As of commit 54e7475, these flags would only be set when using a new
|
|
|
+ credential handle. When re-using an existing credential handle, the
|
|
|
+ flags would not be set.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6840
|
|
|
+ Closes https://github.com/curl/curl/pull/7051
|
|
|
|
|
|
-- [Emil Engler brought this change]
|
|
|
+Dan Fandrich (12 May 2021)
|
|
|
+- tests: Fix some tag matching issues in a number of tests
|
|
|
|
|
|
- libssh: get rid of PATH_MAX
|
|
|
+Daniel Stenberg (12 May 2021)
|
|
|
+- sasl: use 'unsigned short' to store mechanism
|
|
|
|
|
|
- This removes the last occurrence of PATH_MAX inside our libssh
|
|
|
- implementation by calculating the path length from the string length of
|
|
|
- the two components.
|
|
|
+ ... saves a few bytes of struct size in memory and it only uses
|
|
|
+ 10 bits anyway.
|
|
|
|
|
|
- Closes #6829
|
|
|
+ Closes #7045
|
|
|
|
|
|
-Daniel Stenberg (5 Apr 2021)
|
|
|
-- http_proxy: only loop on 407 + close if we have credentials
|
|
|
+- hostip: remove the debug code for LocalHost
|
|
|
|
|
|
- ... to fix the retry-loop.
|
|
|
+ The Curl_resolv() had special code (when built in debug mode) for when
|
|
|
+ resolving the host name "LocalHost" (using that exact casing). It would
|
|
|
+ then get the host name from the --interface option instead.
|
|
|
|
|
|
- Add test 718 to verify.
|
|
|
+ This development-only feature was not used by anything (anymore) and we
|
|
|
+ have the --resolve feature if we want to play similar tricks properly
|
|
|
+ going forward.
|
|
|
|
|
|
- Reported-by: Daniel Kurečka
|
|
|
- Fixes #6828
|
|
|
- Closes #6850
|
|
|
+ Closes #7044
|
|
|
|
|
|
-- h2: allow 100 streams by default
|
|
|
+- progress: reset limit_size variables at transfer start
|
|
|
|
|
|
- instead of 13, before the server has told how many streams it
|
|
|
- accepts. The server can always reject new streams anyway if we go above
|
|
|
- what it accepts.
|
|
|
+ Otherwise the old value would linger from a previous use and would mess
|
|
|
+ up the network speed cap logic.
|
|
|
|
|
|
- Ref: #6826
|
|
|
- Closes #6852
|
|
|
+ Reported-by: Ymir1711 on github
|
|
|
+
|
|
|
+ Fixes #7042
|
|
|
+ Closes #7043
|
|
|
|
|
|
-- [Luke Granger-Brown brought this change]
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- file: support GETing directories again
|
|
|
+- [Daniel Gustafsson brought this change]
|
|
|
+
|
|
|
+ cookies: use CURLcode for cookie_output reporting
|
|
|
|
|
|
- After 957bc1881e686f9714c4e6a01bf33535091f0e21, we no longer compute an
|
|
|
- expected_size for directories. This has the upshot that when we compare
|
|
|
- even an empty Range with the available size, we fail.
|
|
|
+ Writing the cookie file has multiple error conditions, and was using an
|
|
|
+ int with magic numbers to report the different error (which in turn were
|
|
|
+ disregarded anyways). This moves reporting to use a CURLcode value.
|
|
|
|
|
|
- This brings back the previous behaviour, which was to succeed, but with
|
|
|
- empty content. This also removes the "Accept-ranges: bytes" header,
|
|
|
- which is nonsensical on directories.
|
|
|
+ Lightly-touched-by: Daniel Stenberg
|
|
|
|
|
|
- Adds test 3016
|
|
|
- Fixes #6845
|
|
|
- Closes #6846
|
|
|
+ Closes #7037
|
|
|
+ Closes #6749
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
-
|
|
|
- and bumped to 7.76.1
|
|
|
+- [Daniel Gustafsson brought this change]
|
|
|
|
|
|
-- TLS: fix HTTP/2 selection
|
|
|
-
|
|
|
- for GnuTLS, BearSSL, mbedTLS, NSS, SChannnel, Secure Transport and
|
|
|
- wolfSSL...
|
|
|
+ cookies: make use of string duplication function
|
|
|
|
|
|
- Regression since 88dd1a8a115b1f5ece (shipped in 7.76.0)
|
|
|
- Reported-by: Kenneth Davidson
|
|
|
- Reported-by: romamik om github
|
|
|
- Fixes #6825
|
|
|
- Closes #6827
|
|
|
+ strstore() is defined as a strdup which ensures to free the target
|
|
|
+ pointer before duping the source char * into it. Make use of it in
|
|
|
+ two more cases where it can simplify the code.
|
|
|
|
|
|
-Jay Satiro (2 Apr 2021)
|
|
|
-- hostip: Fix for builds that disable all asynchronous DNS
|
|
|
+- [Daniel Gustafsson brought this change]
|
|
|
+
|
|
|
+ cookies: refactor comments
|
|
|
|
|
|
- - Define Curl_resolver_error function only when USE_CURL_ASYNC.
|
|
|
+ Comments in the cookie code were a bit all over the place in terms of
|
|
|
+ style and wording. This takes a stab at cleaning them up by keeping to
|
|
|
+ a single style and overall shape. Some comments are moved a little and
|
|
|
+ some removed alltogether due to being redundant. No functional changes
|
|
|
+ have been made,
|
|
|
+
|
|
|
+- [Peng-Yu Chen brought this change]
|
|
|
+
|
|
|
+ http2: skip immediate parsing of payload following protocol switch
|
|
|
|
|
|
- Prior to this change building curl without an asynchronous resolver
|
|
|
- backend (c-ares or threaded) and without DoH (DNS-over-HTTPS, which is
|
|
|
- also asynchronous but independent of resolver backend) would cause a
|
|
|
- build error since Curl_resolver_error is called by and evaluates
|
|
|
- variables only available in asynchronous builds.
|
|
|
+ This is considered not harmful as a following http2_recv shall be
|
|
|
+ called very soon.
|
|
|
|
|
|
- Reported-by: Benbuck Nason
|
|
|
+ This is considered helpful in the specific situation where some
|
|
|
+ servers (e.g. nghttpx v1.43.0) may fulfill stream 1 immediately
|
|
|
+ following the return of HTTP status 101, other than waiting for
|
|
|
+ the client-side connection preface to arrive.
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/6831
|
|
|
- Closes https://github.com/curl/curl/pull/6832
|
|
|
+ Fixes #7036
|
|
|
+ Closes #7040
|
|
|
|
|
|
-Daniel Stenberg (31 Mar 2021)
|
|
|
-- [Gilles Vollant brought this change]
|
|
|
+- [Peng-Yu Chen brought this change]
|
|
|
|
|
|
- openssl: Fix CURLOPT_SSLCERT_BLOB without CURLOPT_SSLCERT_KEY
|
|
|
+ http2: use nghttp2_session_upgrade2 instead of nghttp2_session_upgrade
|
|
|
|
|
|
- Reported-by: Christian Schmitz
|
|
|
- Fixes #6816
|
|
|
- Closes #6820
|
|
|
-
|
|
|
-Version 7.76.0 (31 Mar 2021)
|
|
|
-
|
|
|
-Daniel Stenberg (31 Mar 2021)
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+ Following the upstream deprecation of nghttp2_session_upgrade.
|
|
|
|
|
|
- curl 7.76.0 release
|
|
|
-
|
|
|
-- THANKS: added names from 7.76.0
|
|
|
-
|
|
|
-- CURLOPT_AUTOREFERER.3: clarify that it sets the full URL
|
|
|
+ Also provides further checks for requests with the HEAD method.
|
|
|
|
|
|
- ... some users may not want that!
|
|
|
+ Closes #7041
|
|
|
|
|
|
-- define: remove CURL_DISABLE_NTLM ifdefs
|
|
|
-
|
|
|
- It was never defined anywhere. Fixed disable-scan (test 1165) to also
|
|
|
- scan headers, which found this issue.
|
|
|
+- progress/trspeed: use a local convenient pointer to beautify code
|
|
|
|
|
|
- Closes #6809
|
|
|
+ The function becomes easier to read and understand with less repetition.
|
|
|
|
|
|
-- vtls: fix addsessionid for non-proxy builds
|
|
|
+- trspeed: use long double for transfer speed calculation
|
|
|
+
|
|
|
+- progress: move transfer speed calc into function
|
|
|
|
|
|
- Follow-up to b09c8ee15771c61
|
|
|
- Fixes #6812
|
|
|
- Closes #6811
|
|
|
+ This silences two scan-build-11 warnings: "The result of the '/'
|
|
|
+ expression is undefined"
|
|
|
+
|
|
|
+ Bug: https://curl.se/mail/lib-2021-05/0022.html
|
|
|
+ Closes #7035
|
|
|
|
|
|
-- [Li Xinwei brought this change]
|
|
|
+- [Cameron Cawley brought this change]
|
|
|
|
|
|
- cmake: support WinIDN
|
|
|
+ openssl: remove unneeded cast for CertOpenSystemStore()
|
|
|
|
|
|
- Closes #6807
|
|
|
+ Closes #7025
|
|
|
|
|
|
-- transfer: clear 'referer' in declaration
|
|
|
+- travis: disable the libssh build
|
|
|
|
|
|
- To silence (false positive) compiler warnings about it.
|
|
|
+ It can't run on focal and causes warnings on bionic. Since the focal
|
|
|
+ failure started rather suddenly a while ago, we can suspect it might be
|
|
|
+ temporary.
|
|
|
|
|
|
- Follow-up to 7214288898f5625
|
|
|
+ Added "bring back the build" to the TODO document.
|
|
|
|
|
|
- Reviewed-by: Marcel Raad
|
|
|
- Closes #6810
|
|
|
+ Fixes #7011
|
|
|
+ Closes #7012
|
|
|
|
|
|
-- [Marc Hoersken brought this change]
|
|
|
+- [Peng-Yu Chen brought this change]
|
|
|
|
|
|
- config: fix SSPI enabling NTLM if crypto auth is disabled
|
|
|
+ http: use calculated offsets inst of integer literals for header parsing
|
|
|
|
|
|
- Avoid enabling NTLM feature based upon Windows SSPI
|
|
|
- being enabled in case that crypto auth is disabled.
|
|
|
+ Assumed to be a minor coding style improvement with no behavior change.
|
|
|
|
|
|
- Reported-by: Marcel Raad
|
|
|
+ A modern compiler is expected to have the calculation optimized during
|
|
|
+ compilation. It may be deemed okay even if that's not the case, since
|
|
|
+ the added overhead is considered very low.
|
|
|
|
|
|
- Follow-up to #6277
|
|
|
- Fixes #6803
|
|
|
- Closes #6808
|
|
|
+ Closes #7032
|
|
|
|
|
|
-- HISTORY: add two 2021 events
|
|
|
+- [Peng-Yu Chen brought this change]
|
|
|
|
|
|
-- vtls: add 'isproxy' argument to Curl_ssl_get/addsessionid()
|
|
|
-
|
|
|
- To make sure we set and extract the correct session.
|
|
|
+ GIT-INFO: suggest using autoreconf instead of buildconf
|
|
|
|
|
|
- Reported-by: Mingtao Yang
|
|
|
- Bug: https://curl.se/docs/CVE-2021-22890.html
|
|
|
+ Follow-up to 85868537d
|
|
|
|
|
|
- CVE-2021-22890
|
|
|
-
|
|
|
-- [Viktor Szakats brought this change]
|
|
|
+ Closes #7033
|
|
|
|
|
|
- transfer: strip credentials from the auto-referer header field
|
|
|
+- http: deal with partial CONNECT sends
|
|
|
|
|
|
- Added test 2081 to verify.
|
|
|
+ Also added 'CURL_SMALLSENDS' to make Curl_write() send short packets,
|
|
|
+ which helped verifying this even more.
|
|
|
|
|
|
- CVE-2021-22876
|
|
|
+ Add test 363 to verify.
|
|
|
|
|
|
- Bug: https://curl.se/docs/CVE-2021-22876.html
|
|
|
+ Reported-by: ustcqidi on github
|
|
|
+ Fixes #6950
|
|
|
+ Closes #7024
|
|
|
|
|
|
-- curl_sasl: fix compiler error with --disable-crypto-auth
|
|
|
-
|
|
|
- ... if libgsasl was found.
|
|
|
+- HTTP3: make the ngtcp2 build use the quictls fork
|
|
|
|
|
|
- Closes #6806
|
|
|
-
|
|
|
-- [Patrick Monnerat brought this change]
|
|
|
-
|
|
|
- ldap: only set the callback ptr for TLS context when TLS is used
|
|
|
+ ... as ngtcp2 itself documents the build this way.
|
|
|
|
|
|
- Follow-up to a5eee22e594c2460f
|
|
|
- Fixes #6804
|
|
|
- Closes #6805
|
|
|
+ Closes #7031
|
|
|
|
|
|
-- copyright: update copyright year ranges to 2021
|
|
|
+- http: limit the initial send amount to used upload buffer size
|
|
|
|
|
|
- Reviewed-by: Emil Engler
|
|
|
- Closes #6802
|
|
|
-
|
|
|
-- send_speed: simplify the checks for if a speed limit is set
|
|
|
+ Previously this logic would cap the send to CURL_MAX_WRITE_SIZE bytes,
|
|
|
+ but for the situations where a larger upload buffer has been set, this
|
|
|
+ function can benefit from sending more bytes. With default size used,
|
|
|
+ this does the same as before.
|
|
|
|
|
|
- ... as we know the value cannot be set to negative: enforced by
|
|
|
- setopt()
|
|
|
-
|
|
|
-- http: cap body data amount during send speed limiting
|
|
|
+ Also changed the storage of the size to an 'unsigned int' as it is not
|
|
|
+ allowed to be set larger than 2M.
|
|
|
|
|
|
- By making sure never to send off more than the allowed number of bytes
|
|
|
- per second the speed limit logic is given more room to actually work.
|
|
|
+ Also added cautions to the man pages about changing buffer sizes in
|
|
|
+ run-time.
|
|
|
|
|
|
- Reported-by: Fabian Keil
|
|
|
- Bug: https://curl.se/mail/lib-2021-03/0042.html
|
|
|
- Closes #6797
|
|
|
+ Closes #7022
|
|
|
|
|
|
-- urldata: merge "struct DynamicStatic" into "struct UrlState"
|
|
|
+- RELEASE-NOTES: synced
|
|
|
+
|
|
|
+- ngtcp2: fix the cb_acked_stream_data_offset proto
|
|
|
|
|
|
- Both were used for the same purposes and there was no logical separation
|
|
|
- between them. Combined, this also saves 16 bytes in less holes in my
|
|
|
- test build.
|
|
|
+ The 'datalen' value should be 64 bit, not size_t!
|
|
|
|
|
|
- Closes #6798
|
|
|
+ Reported-by: Dmitry Karpov
|
|
|
+ Bug: https://curl.se/mail/lib-2021-05/0019.html
|
|
|
+ Closes #7027
|
|
|
|
|
|
-- tests/README.md: mentioned that en_US.UTF-8 is required
|
|
|
+- progress: when possible, calculate transfer speeds with microseconds
|
|
|
|
|
|
- Reported-by: Oumph on github
|
|
|
- Fixes #6768
|
|
|
-
|
|
|
-- HISTORY: fixed the Mac OS X 10.1 release date
|
|
|
+ ... this improves precision, especially for transfers in the few or even
|
|
|
+ sub millisecond range.
|
|
|
|
|
|
- Based on what Wikipedia says
|
|
|
+ Reported-by: J. Bromley
|
|
|
+ Fixes #7017
|
|
|
+ Closes #7020
|
|
|
|
|
|
-Jay Satiro (26 Mar 2021)
|
|
|
-- examples: Remove threaded-shared-conn.c due to bug
|
|
|
-
|
|
|
- Known bug 11.11 is the shared object's connection cache is not thread
|
|
|
- safe, so we should not have an example for it.
|
|
|
+- http: reset the header buffer when sending the request
|
|
|
|
|
|
- Ref: https://github.com/curl/curl/issues/4915
|
|
|
- Ref: https://curl.se/docs/knownbugs.html#A_shared_connection_cache_is_not
|
|
|
+ A reused transfer handle could otherwise reuse the previous leftover
|
|
|
+ buffer and havoc would ensue.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6795
|
|
|
+ Reported-by: sergio-nsk on github
|
|
|
+ Fixes #7018
|
|
|
+ Closes #7021
|
|
|
|
|
|
-- KNOWN_BUGS: Update 11.9 - DoH option inheritance
|
|
|
+- curl_mprintf.3: add description
|
|
|
|
|
|
- - Add description: Explain that some options aren't inherited because
|
|
|
- they are not relevant for the DoH SSL connections or may result in
|
|
|
- unexpected behavior.
|
|
|
+ These functions have existed in the API since the dawn of time. It is
|
|
|
+ about time we describe how they work, even if we discourage users from
|
|
|
+ using them.
|
|
|
|
|
|
- - Remove the reference to #4578 (SSL verify options not inherited) since
|
|
|
- that was fixed by #6597 (separate DoH-specific options for verify).
|
|
|
+ Closes #7010
|
|
|
+
|
|
|
+- [Timothy Gu brought this change]
|
|
|
+
|
|
|
+ URL-SYNTAX: update IDNA section for WHATWG spec changes
|
|
|
|
|
|
- - Explain that DoH-specific options (those created by #6597) are
|
|
|
- available: CURLOPT_DOH_SSL_VERIFYHOST, CURLOPT_DOH_SSL_VERIFYPEER and
|
|
|
- CURLOPT_DOH_SSL_VERIFYSTATUS.
|
|
|
+ WHATWG URL has dictated the use of Nontransitional Processing (IDNA
|
|
|
+ 2008) for several years now. Chrome (and derivatives) still use
|
|
|
+ Transitional Processing, but Firefox and Safari have both switched.
|
|
|
|
|
|
- - Add a reference to #6605 and explain that the user's debug function is
|
|
|
- not inherited because it would be unexpected to pass internal handles
|
|
|
- (ie DoH handles) to the user's callback.
|
|
|
+ Also document the fact that winidn functions differently from libidn2
|
|
|
+ here.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/issues/6605
|
|
|
-
|
|
|
-Daniel Stenberg (26 Mar 2021)
|
|
|
-- curl_easy_setopt.3: add curl_easy_option* functions to SEE ALSO
|
|
|
+ Closes #7026
|
|
|
|
|
|
-- [Jean-Philippe Menil brought this change]
|
|
|
+- [Calvin Buckley brought this change]
|
|
|
|
|
|
- openssl: ensure to check SSL_CTX_set_alpn_protos return values
|
|
|
+ INSTALL: add IBM i specific quirks
|
|
|
|
|
|
- SSL_CTX_set_alpn_protos() return 0 on success, and non-0 on failure
|
|
|
+ Fixes #6830
|
|
|
+ Closes #7013
|
|
|
+
|
|
|
+- libcurl.3: mention the URL API
|
|
|
|
|
|
- Signed-off-by: Jean-Philippe Menil <jpmenil@gmail.com>
|
|
|
+ To make it easier to find. Also a minor polish of libcurl-url.3
|
|
|
|
|
|
- Closes #6794
|
|
|
+ Closes #7009
|
|
|
|
|
|
-- multi: close the connection when h2=>h1 downgrading
|
|
|
+- GnuTLS: don't allow TLS 1.3 for versions that don't support it
|
|
|
|
|
|
- Otherwise libcurl is likely to reuse the connection again in the next
|
|
|
- attempt since the connection reuse logic doesn't take downgrades into
|
|
|
- account.
|
|
|
+ Follow-up to 781864bedbc5
|
|
|
|
|
|
- Reported-by: Anthony Ramine
|
|
|
- Fixes #6788
|
|
|
- Closes #6793
|
|
|
+ ... as they don't understand it and will return error at us!
|
|
|
+
|
|
|
+ Closes #7014
|
|
|
|
|
|
-- openssl: set the transfer pointer for logging early
|
|
|
+Kamil Dudka (6 May 2021)
|
|
|
+- tool_getparam: handle failure of curlx_convert_tchar_to_UTF8()
|
|
|
|
|
|
- Otherwise, the transfer will be NULL in the trace function when the
|
|
|
- early handshake details arrive and then curl won't show them.
|
|
|
+ Reported by GCC analyzer:
|
|
|
|
|
|
- Regresssion in 7.75.0
|
|
|
+ Error: GCC_ANALYZER_WARNING (CWE-476):
|
|
|
+ src/tool_getparam.c: scope_hint: In function 'parse_args'
|
|
|
+ src/tool_getparam.c:2318:38: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL 'orig_opt'
|
|
|
+ lib/curlx.h:56: included_from: Included from here.
|
|
|
+ src/tool_getparam.c:28: included_from: Included from here.
|
|
|
+ lib/curl_multibyte.h:70:51: note: in definition of macro 'curlx_convert_tchar_to_UTF8'
|
|
|
+ src/tool_getparam.c:2316:16: note: in expansion of macro 'curlx_convert_tchar_to_UTF8'
|
|
|
|
|
|
- Reported-by: David Hu
|
|
|
- Fixes #6783
|
|
|
- Closes #6792
|
|
|
+ Reviewed-by: Marcel Raad
|
|
|
+ Reviewed-by: Daniel Stenberg
|
|
|
+ Closes #7023
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+Daniel Stenberg (6 May 2021)
|
|
|
+- scripts/delta: also show total number of days
|
|
|
|
|
|
-- TODO: Custom progress meter update interval
|
|
|
+Marc Hoersken (5 May 2021)
|
|
|
+- sockfilt: fix invalid increment of handles index variable nfd
|
|
|
|
|
|
- Ref: https://stackoverflow.com/q/66789977/93747
|
|
|
+ Only increment the array index if we actually stored a handle.
|
|
|
+
|
|
|
+ Follow up to e917492048f4b85a0fd58a033d10072fc7666c3b
|
|
|
+ Closes #6992
|
|
|
|
|
|
-- docs/ABI: tighten up the language
|
|
|
+- sockfilt: avoid getting stuck waiting for writable socket
|
|
|
|
|
|
- Make the promises more firm
|
|
|
+ Reset FD_WRITE event using the same approach as in multi.c
|
|
|
|
|
|
- Closes #6786
|
|
|
+ Follow up to b36442b24305f3cda7c13cc64b46838995a4985b
|
|
|
+ Closes #6992
|
|
|
|
|
|
-- openldap: disconnect better
|
|
|
+Jay Satiro (5 May 2021)
|
|
|
+- test678: Fix for Windows multibyte builds
|
|
|
|
|
|
- Instead of clearing the callback argument in disconnect, set it to the
|
|
|
- (new) transfer to make sure the correct data is passed to the callbacks.
|
|
|
+ Follow-up to 77fc385 from yesterday.
|
|
|
|
|
|
- Follow-up to e467ea3bd937f38
|
|
|
- Assisted-by: Patrick Monnerat
|
|
|
- Closes #6787
|
|
|
+ Bug: https://github.com/curl/curl/pull/6662#issuecomment-832966557
|
|
|
+ Reported-by: Marc Hörsken
|
|
|
|
|
|
-- libssh2: kdb_callback: get the right struct pointer
|
|
|
-
|
|
|
- After the recent conn/data refactor in this source file, this function
|
|
|
- was mistakenly still getting the old struct pointer which would lead to
|
|
|
- crash on servers with keyboard-interactive auth enabled.
|
|
|
+- [Dmitry Kostjuchenko brought this change]
|
|
|
+
|
|
|
+ build: fix compilation for Windows UWP platform
|
|
|
|
|
|
- Follow-up to a304051620b92e12b (shipped in 7.75.0)
|
|
|
+ - Include afunix.h which is necessary for sockaddr_un when
|
|
|
+ USE_UNIX_SOCKETS is defined on Windows.
|
|
|
|
|
|
- Reported-by: Christian Schmitz
|
|
|
- Fixes #6691
|
|
|
- Closes #6782
|
|
|
+ Closes https://github.com/curl/curl/pull/7006
|
|
|
|
|
|
-- tftp: remove unused struct fields
|
|
|
+Daniel Stenberg (5 May 2021)
|
|
|
+- gnutls: make setting only the MAX TLS allowed version work
|
|
|
|
|
|
- Follow-up to d3d90ad9c00530d
|
|
|
+ Previously, settting only the max allowed TLS version, leaving the
|
|
|
+ minimum one at default, didn't actually set it and left it to default
|
|
|
+ (TLS 1.3) too!
|
|
|
|
|
|
- Closes #6781
|
|
|
-
|
|
|
-- openldap: avoid NULL pointer dereferences
|
|
|
+ As a bonus, this change also removes the dead code handling of SSLv3
|
|
|
+ since that version can't be set anymore (since eff614fb0242cb).
|
|
|
|
|
|
- Follow-up to a59c33ceffb8f78
|
|
|
- Reported-by: Patrick Monnerat
|
|
|
- Fixes #6676
|
|
|
- Closes #6780
|
|
|
+ Reported-by: Daniel Carpenter
|
|
|
+ Fixes #6998
|
|
|
+ Closes #7000
|
|
|
|
|
|
-- http: strip default port from URL sent to proxy
|
|
|
+- openldap: replace ldap_ prefix on private functions
|
|
|
|
|
|
- To make sure the Host: header and the URL provide the same authority
|
|
|
- portion when sent to the proxy, strip the default port number from the
|
|
|
- URL if one was provided.
|
|
|
+ Since openldap itself uses that prefix and with OpenĹDAP 2.5.4 (at
|
|
|
+ least) there's a symbol collision because of that.
|
|
|
|
|
|
- Reported-by: Michael Brown
|
|
|
- Fixes #6769
|
|
|
- Closes #6778
|
|
|
-
|
|
|
-- azure: disable test 433 on azure-ubuntu
|
|
|
+ The private functions now use the 'oldap_' prefix where it previously
|
|
|
+ used 'ldap_'.
|
|
|
|
|
|
- Something in that environment sets XDG_CONFIG_HOME for us in a way that
|
|
|
- breaks the test.
|
|
|
+ Reported-by: 3eka on github
|
|
|
+ Fixes #7004
|
|
|
+ Closes #7005
|
|
|
+
|
|
|
+Jay Satiro (5 May 2021)
|
|
|
+- http2: fix potentially uninitialized variable
|
|
|
|
|
|
- Reported-by: Marc Hörsken
|
|
|
- Fixes #6739
|
|
|
- Closes #6777
|
|
|
+ introduced several days ago in 3193170. caught by visual studio linker.
|
|
|
|
|
|
-- tftp: remove the 3600 second default timeout
|
|
|
+- [Gilles Vollant brought this change]
|
|
|
+
|
|
|
+ SSL: support in-memory CA certs for some backends
|
|
|
|
|
|
- ... it was never meant to be there.
|
|
|
+ - New options CURLOPT_CAINFO_BLOB and CURLOPT_PROXY_CAINFO_BLOB to
|
|
|
+ specify in-memory PEM certificates for OpenSSL, Schannel (Windows)
|
|
|
+ and Secure Transport (Apple) SSL backends.
|
|
|
|
|
|
- Reported-by: Tomas Berger
|
|
|
- Fixes #6774
|
|
|
- Closes #6776
|
|
|
-
|
|
|
-- docs: make gen.pl support *italic* and **bold**
|
|
|
+ Prior to this change PEM certificates could only be imported from a file
|
|
|
+ and not from memory.
|
|
|
|
|
|
- Remove some nroffisms from the cmdline doc files to simplify editing,
|
|
|
- and instead support this markdown style.
|
|
|
+ Co-authored-by: moparisthebest@users.noreply.github.com
|
|
|
|
|
|
- Closes #6771
|
|
|
-
|
|
|
-- ngtcp2: sync with recent API updates
|
|
|
+ Ref: https://github.com/curl/curl/pull/4679
|
|
|
+ Ref: https://github.com/curl/curl/pull/5677
|
|
|
+ Ref: https://github.com/curl/curl/pull/6109
|
|
|
|
|
|
- Closes #6770
|
|
|
+ Closes https://github.com/curl/curl/pull/6662
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+Daniel Stenberg (4 May 2021)
|
|
|
+- [David Cook brought this change]
|
|
|
|
|
|
-- libssh2:ssh_connect: clear session pointer after free
|
|
|
+ tests: ignore case of chunked hex numbers in tests
|
|
|
|
|
|
- If libssh2_knownhost_init() returns NULL, like in an OOM situation, the
|
|
|
- ssh session was freed but the pointer wasn't cleared which made libcurl
|
|
|
- later call libssh2 to cleanup using the stale pointer.
|
|
|
+ When hyper is used, it emits uppercase hexadecimal numbers for chunked
|
|
|
+ encoding lengths. Without hyper, lowercase hexadecimal numbers are used.
|
|
|
+ This change adds preprocessor statements to tests where this is an
|
|
|
+ issue, and adapts the fixtures to match.
|
|
|
|
|
|
- Fixes #6764
|
|
|
- Closes #6766
|
|
|
-
|
|
|
-- [Jacob Hoffman-Andrews brought this change]
|
|
|
+ Closes #6987
|
|
|
|
|
|
- docs: document version of crustls dependency
|
|
|
+- cmake: check for getppid and utimes
|
|
|
|
|
|
- This also pins a specific release in the Travis test so future
|
|
|
- API-breaking changins in crustls won't break curl builds.
|
|
|
+ ... as they're checked for in the configure script and are used by
|
|
|
+ source code.
|
|
|
|
|
|
- Add RUSTLS documentation to release tarball.
|
|
|
+ Removed checks for perror, setvbuf and strlcat since those defines are
|
|
|
+ not checked for in source code.
|
|
|
|
|
|
- Enable running tests for rustls, minus FTP tests (require
|
|
|
- connect_blocking, which rustls doesn't implement) and 313 (requires CRL
|
|
|
- handling).
|
|
|
+ Bonus: removed HAVE_STRLCPY from a few config-*.h files since that
|
|
|
+ symbol is not used in source code.
|
|
|
|
|
|
- Closes #6763
|
|
|
-
|
|
|
-- [Jacob Hoffman-Andrews brought this change]
|
|
|
+ Closes #6997
|
|
|
|
|
|
- rustls: Handle close_notify.
|
|
|
-
|
|
|
- If we get a close_notify, treat that as EOF. If we get an EOF from the
|
|
|
- TCP stream, treat that as an error (because we should have ended the
|
|
|
- connection earlier, when we got a close_notify).
|
|
|
+- libtest: remove lib530.c
|
|
|
|
|
|
- Closes #6763
|
|
|
-
|
|
|
-- docs: clarify timeouts for queued transfers in multi API
|
|
|
+ Follow up from e50a877df when test 530 was removed. Since then this
|
|
|
+ source file has not been used/needed.
|
|
|
|
|
|
- Closes #6758
|
|
|
+ Closes #6999
|
|
|
|
|
|
-- ftpserver: only load the preprocessed test file
|
|
|
+- FILEFORMAT: mention sectransp as a feature
|
|
|
|
|
|
- We always preprocess and tests are no longer sensible to load "raw"
|
|
|
+ Been supported since at least 40259ca65
|
|
|
|
|
|
- Closes #6738
|
|
|
+ Closes #7001
|
|
|
|
|
|
-- tests: use %TESTNUMBER instead of fixed number
|
|
|
+- RELEASE-NOTES: synced
|
|
|
+
|
|
|
+- libssh2: ignore timeout during disconnect
|
|
|
|
|
|
- This makes the tests easier to copy and relocate to other test numbers
|
|
|
- without having to update content.
|
|
|
+ ... to avoid memory leaks!
|
|
|
|
|
|
- Closes #6738
|
|
|
-
|
|
|
-- KNOWN_BUGS: CURLOPT_OPENSOCKETPAIRFUNCTION is missing
|
|
|
+ libssh2 is tricky as we have to deal with the non-blockiness even in
|
|
|
+ close and shutdown cases. In the cases when we shutdown after a timeout
|
|
|
+ already expired, it is crucial that curl doen't let the timeout abort
|
|
|
+ the shutdown process as that then leaks memory!
|
|
|
|
|
|
- Closes #5747
|
|
|
+ Reported-by: Benjamin Riefenstahl
|
|
|
+ Fixes #6990
|
|
|
|
|
|
-- TODO: provide timing info for each redirect
|
|
|
-
|
|
|
- Closes #6743
|
|
|
+- KNOWN_BUGS: add two HTTP/2 bugs
|
|
|
|
|
|
-Jay Satiro (17 Mar 2021)
|
|
|
-- docs: Add SSL backend names to CURL_SSL_BACKEND
|
|
|
-
|
|
|
- - Document the names that can be used with CURL_SSL_BACKEND:
|
|
|
- bearssl, gnutls, gskit, mbedtls, mesalink, nss, openssl, rustls,
|
|
|
- schannel, secure-transport, wolfssl
|
|
|
+- KNOWN_BUGS: add three HTTP/3 issues
|
|
|
|
|
|
- Ref: https://github.com/curl/curl/issues/2209#issuecomment-360623286
|
|
|
- Ref: https://github.com/curl/curl/issues/6717#issuecomment-800745201
|
|
|
+ ... and moved the HTTP/2 issues to its own section
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6755
|
|
|
+ Closes #6606
|
|
|
+ Closes #6510
|
|
|
+ Closes #6494
|
|
|
|
|
|
-- docs: Explain DOH transfers inherit some SSL settings
|
|
|
+- [ejanchivdorj brought this change]
|
|
|
+
|
|
|
+ CURLcode: add CURLE_SSL_CLIENTCERT
|
|
|
|
|
|
- - Document in DOH that some SSL settings are inherited but DOH hostname
|
|
|
- and peer verification are not and are controlled separately.
|
|
|
+ When a TLS server requests a client certificate during handshake and
|
|
|
+ none can be provided, libcurl now returns this new error code
|
|
|
+ CURLE_SSL_CLIENTCERT
|
|
|
|
|
|
- - Document that CURLOPT_SSL_CTX_FUNCTION is inherited by DOH handles but
|
|
|
- we're considering changing behavior to no longer inherit it. Request
|
|
|
- feedback.
|
|
|
+ Only supported by Secure Transport and OpenSSL for TLS 1.3 so far.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6688
|
|
|
+ Closes #6721
|
|
|
|
|
|
-Daniel Stenberg (17 Mar 2021)
|
|
|
-- http: make 416 not fail with resume + CURLOPT_FAILONERRROR
|
|
|
+- [Tobias Gabriel brought this change]
|
|
|
+
|
|
|
+ .github/FUNDING: add link to GitHub sponsors
|
|
|
|
|
|
- When asked to resume a download, libcurl will convert that to HTTP logic
|
|
|
- and if then the entire file is already transferred it will result in a
|
|
|
- 416 response from the HTTP server. With CURLOPT_FAILONERRROR set in that
|
|
|
- scenario, it should *not* lead to an error return.
|
|
|
-
|
|
|
- Updated test 1156, added test 1273
|
|
|
-
|
|
|
- Reported-by: Jonathan Watt
|
|
|
- Fixes #6740
|
|
|
- Closes #6753
|
|
|
-
|
|
|
-- Curl_timeleft: check both timeouts during connect
|
|
|
-
|
|
|
- The duration of a connect and the total transfer are calculated from two
|
|
|
- different time-stamps. It can end up with the total timeout triggering
|
|
|
- before the connect timeout expires and we should make sure to
|
|
|
- acknowledge whichever timeout that is reached first.
|
|
|
-
|
|
|
- This is especially notable when a transfer first sits in PENDING, as
|
|
|
- that time is counted in the total time but the connect timeout is based
|
|
|
- on the time since the handle changed to the CONNECT state.
|
|
|
-
|
|
|
- The CONNECTTIMEOUT is per connect attempt. The TIMEOUT is for the entire
|
|
|
- operation.
|
|
|
-
|
|
|
- Fixes #6744
|
|
|
- Closes #6745
|
|
|
- Reported-by: Andrei Bica
|
|
|
- Assisted-by: Jay Satiro
|
|
|
-
|
|
|
-- configure: remove use of deprecated macros
|
|
|
-
|
|
|
- AC_HEADER_TIME, AC_HEADER_STDC and AC_TYPE_SIGNAL
|
|
|
+ Closes #6985
|
|
|
|
|
|
-- configure: make AC_TRY_* into AC_*_IFELSE
|
|
|
-
|
|
|
- ... as the former versions are deprecated.
|
|
|
+- [Harry Sintonen brought this change]
|
|
|
|
|
|
-- configure: s/AC_HELP_STRING/AS_HELP_STRING
|
|
|
-
|
|
|
- AC_HELP_STRING is deprecated in 2.70+ and I believe AS_HELP_STRING works
|
|
|
- already since 2.59 so bump the minimum required version to that.
|
|
|
+ krb5/name_to_level: replace checkprefix with curl_strequal
|
|
|
|
|
|
- Reported-by: Emil Engler
|
|
|
- Fixes #6647
|
|
|
- Closes #6748
|
|
|
+ Closes #6993
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+- [Harry Sintonen brought this change]
|
|
|
|
|
|
-- travis: use ubuntu nghttp2 package instead of build our own
|
|
|
+ Curl_input_digest: require space after Digest
|
|
|
|
|
|
- Closes #6751
|
|
|
+ Closes #6993
|
|
|
|
|
|
-- travis: bump wolfssl to 4.7.0
|
|
|
+- [Harry Sintonen brought this change]
|
|
|
|
|
|
-- travis: only build wolfssl when needed
|
|
|
+ Curl_http_header: check for colon when matching Persistent-Auth
|
|
|
|
|
|
- Closes #6751
|
|
|
+ Closes #6993
|
|
|
|
|
|
-- [Jacob Hoffman-Andrews brought this change]
|
|
|
+- [Harry Sintonen brought this change]
|
|
|
|
|
|
- rustls: allocate a buffer for TLS data.
|
|
|
-
|
|
|
- Previously, rustls was using an on-stack array for TLS data. However,
|
|
|
- crustls has an (unusual) requirement that buffers it deals with are
|
|
|
- initialized before writing to them. By using calloc, we can ensure the
|
|
|
- buffer is initialized once and then reuse it across calls.
|
|
|
+ Curl_http_input_auth: require valid separator after negotiation type
|
|
|
|
|
|
- Closes #6742
|
|
|
+ Closes #6993
|
|
|
|
|
|
-- travis: add a rustls build
|
|
|
+- http: fix the check for 'Authorization' with Bearer
|
|
|
|
|
|
- ... that doesn't run any tests (yet)
|
|
|
+ The code would wrongly check for it using an additional colon.
|
|
|
|
|
|
- Closes #6750
|
|
|
-
|
|
|
-- HTTP2: remove the outdated remark about multiplexing for the tool
|
|
|
+ Reported-by: Blake Burkhart
|
|
|
+ Closes #6988
|
|
|
|
|
|
-- [Robert Ronto brought this change]
|
|
|
+- [Kamil Dudka brought this change]
|
|
|
|
|
|
- http2: don't set KEEP_SEND when there's no more data to be sent
|
|
|
+ http2: fix a resource leak in push_promise()
|
|
|
|
|
|
- this should fix an issue where curl sometimes doesn't send out a request
|
|
|
- with authorization info after a 401 is received over http2
|
|
|
+ ... detected by Coverity:
|
|
|
|
|
|
- Closes #6747
|
|
|
+ Error: RESOURCE_LEAK (CWE-772):
|
|
|
+ lib/http2.c:532: alloc_fn: Storage is returned from allocation function "duphandle".
|
|
|
+ lib/http2.c:532: var_assign: Assigning: "newhandle" = storage returned from "duphandle(data)".
|
|
|
+ lib/http2.c:552: noescape: Resource "newhandle" is not freed or pointed-to in "set_transfer_url".
|
|
|
+ lib/http2.c:555: leaked_storage: Variable "newhandle" going out of scope leaks the storage it points to.
|
|
|
+
|
|
|
+ Closes #6986
|
|
|
|
|
|
-Marc Hoersken (15 Mar 2021)
|
|
|
-- config: fix building SMB with configure using Win32 Crypto
|
|
|
+- [Kamil Dudka brought this change]
|
|
|
+
|
|
|
+ http2: fix resource leaks in set_transfer_url()
|
|
|
|
|
|
- Align conditions for NTLM features between CMake and configure
|
|
|
- builds by differentiating between USE_NTLM and USE_CURL_NTLM_CORE,
|
|
|
- just like curl_setup.h does internally to detect support of:
|
|
|
+ ... detected by Coverity:
|
|
|
|
|
|
- - USE_NTLM: required for NTLM crypto authentication feature
|
|
|
- - USE_CURL_NTLM_CORE: required for SMB protocol
|
|
|
+ Error: RESOURCE_LEAK (CWE-772):
|
|
|
+ lib/http2.c:480: alloc_fn: Storage is returned from allocation function "curl_url". [Note: The source code implementation of the function has been overridden by a builtin model.]
|
|
|
+ lib/http2.c:480: var_assign: Assigning: "u" = storage returned from "curl_url()".
|
|
|
+ lib/http2.c:486: noescape: Resource "u" is not freed or pointed-to in "curl_url_set". [Note: The source code implementation of the function has been overridden by a builtin model.]
|
|
|
+ lib/http2.c:488: leaked_storage: Variable "u" going out of scope leaks the storage it points to.
|
|
|
|
|
|
- Implement USE_WIN32_CRYPTO detection by checking for Crypt functions
|
|
|
- in wincrypt.h which are not available in the Windows App environment.
|
|
|
+ Error: RESOURCE_LEAK (CWE-772):
|
|
|
+ lib/http2.c:480: alloc_fn: Storage is returned from allocation function "curl_url". [Note: The source code implementation of the function has been overridden by a builtin model.]
|
|
|
+ lib/http2.c:480: var_assign: Assigning: "u" = storage returned from "curl_url()".
|
|
|
+ lib/http2.c:493: noescape: Resource "u" is not freed or pointed-to in "curl_url_set". [Note: The source code implementation of the function has been overridden by a builtin model.]
|
|
|
+ lib/http2.c:495: leaked_storage: Variable "u" going out of scope leaks the storage it points to.
|
|
|
|
|
|
- Link advapi32 and crypt32 for Crypto API and Schannel SSL backend.
|
|
|
- Fix condition of Schannel SSL backend in CMake build accordingly.
|
|
|
+ Error: RESOURCE_LEAK (CWE-772):
|
|
|
+ lib/http2.c:480: alloc_fn: Storage is returned from allocation function "curl_url". [Note: The source code implementation of the function has been overridden by a builtin model.]
|
|
|
+ lib/http2.c:480: var_assign: Assigning: "u" = storage returned from "curl_url()".
|
|
|
+ lib/http2.c:500: noescape: Resource "u" is not freed or pointed-to in "curl_url_set". [Note: The source code implementation of the function has been overridden by a builtin model.]
|
|
|
+ lib/http2.c:502: leaked_storage: Variable "u" going out of scope leaks the storage it points to.
|
|
|
|
|
|
- Reviewed-by: Marcel Raad
|
|
|
+ Error: RESOURCE_LEAK (CWE-772):
|
|
|
+ lib/http2.c:480: alloc_fn: Storage is returned from allocation function "curl_url". [Note: The source code implementation of the function has been overridden by a builtin model.]
|
|
|
+ lib/http2.c:480: var_assign: Assigning: "u" = storage returned from "curl_url()".
|
|
|
+ lib/http2.c:505: noescape: Resource "u" is not freed or pointed-to in "curl_url_get". [Note: The source code implementation of the function has been overridden by a builtin model.]
|
|
|
+ lib/http2.c:507: leaked_storage: Variable "u" going out of scope leaks the storage it points to.
|
|
|
|
|
|
- Closes #6277
|
|
|
+ Closes #6986
|
|
|
|
|
|
-- config: fix detection of restricted Windows App environment
|
|
|
-
|
|
|
- Move the detection of the restricted Windows App environment
|
|
|
- in curl_setup.h before the definition of USE_WIN32_CRYPTO
|
|
|
- via included config-win32.h in case no build system is used.
|
|
|
+- [Jacob Hoffman-Andrews brought this change]
|
|
|
+
|
|
|
+ rustls: use ALPN
|
|
|
|
|
|
- Reviewed-by: Marcel Raad
|
|
|
+ Update required rustls to 0.5.0
|
|
|
|
|
|
- Part of #6277
|
|
|
-
|
|
|
-Daniel Stenberg (15 Mar 2021)
|
|
|
-- HISTORY: curl 7.7.2 was the first version used in Mac OS X 10.1
|
|
|
+ Closes #6960
|
|
|
|
|
|
-- gen.pl: quote "bare" minuses in the nroff curl.1
|
|
|
-
|
|
|
- Reported-by: Alejandro Colomar
|
|
|
- Fixes #6698
|
|
|
- Closes #6722
|
|
|
+- [Michał Antoniak brought this change]
|
|
|
|
|
|
-Daniel Gustafsson (14 Mar 2021)
|
|
|
-- hsts: remove unused defines
|
|
|
+ gskit: fix CURL_DISABLE_PROXY build
|
|
|
|
|
|
- MAX_HSTS_SUBLEN and MAX_HSTS_SUBLENSTR were unused from the initial commit,
|
|
|
- and mostly likely leftovers from early development. Remove as they're not
|
|
|
- used for anything.
|
|
|
+ Removed localfd and remotefd from ssl_backend_data (ued only with proxy
|
|
|
+ connection). Function pipe_ssloverssl return always 0, when proxy is not
|
|
|
+ used.
|
|
|
|
|
|
- Closes #6741
|
|
|
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+ Closes #6981
|
|
|
|
|
|
-Daniel Stenberg (12 Mar 2021)
|
|
|
-- github: add torture-ftp for FTP-only torture testing
|
|
|
-
|
|
|
- and at 20% to try to keep the run-time reasonable
|
|
|
-
|
|
|
- Closes #6728
|
|
|
+- [Michał Antoniak brought this change]
|
|
|
|
|
|
-- travis: split "torture" into a separate "events" build as well
|
|
|
-
|
|
|
- Run torture without FTP and reducing coverage to 20%
|
|
|
-
|
|
|
- For some reason the torture tests now run a lot slower on travis and run
|
|
|
- into the 50 minute limit all the time.
|
|
|
+ gskit: fix undefined reference to 'conn'
|
|
|
|
|
|
- Closes #6728
|
|
|
+ Closes #6980
|
|
|
|
|
|
-- ftp: fix memory leak in ftp_done
|
|
|
+- [Jacob Hoffman-Andrews brought this change]
|
|
|
+
|
|
|
+ tls: add USE_HTTP2 define
|
|
|
|
|
|
- If after a transfer is complete Curl_GetFTPResponse() returns an error,
|
|
|
- curl would not free the ftp->pathalloc block.
|
|
|
+ This abstracts across the two HTTP/2 backends: nghttp2 and Hyper.
|
|
|
|
|
|
- Found by torture-testing test 576
|
|
|
+ Add our own define for the "h2" ALPN protocol, so TLS backends can use
|
|
|
+ it without depending on a specific HTTP backend.
|
|
|
|
|
|
- Closes #6737
|
|
|
+ Closes #6959
|
|
|
|
|
|
-- [oxalica brought this change]
|
|
|
+- [Jacob Hoffman-Andrews brought this change]
|
|
|
|
|
|
- http2: fail if connection terminated without END_STREAM
|
|
|
+ lib: fix 0-length Curl_client_write calls
|
|
|
|
|
|
- Closes #6736
|
|
|
-
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+ Closes #6954
|
|
|
|
|
|
- [Jacob Hoffman-Andrews brought this change]
|
|
|
|
|
|
- rustls: support CURLOPT_SSL_VERIFYPEER
|
|
|
-
|
|
|
- This requires the latest main branch of crustls, which provides
|
|
|
- rustls_client_config_builder_dangerous_set_certificate_verifier and
|
|
|
- rustls_client_config_builder_set_enable_sni.
|
|
|
+ lib: remove strlen call from Curl_client_write
|
|
|
|
|
|
- This refactors the session setup into its own function, and adds a new
|
|
|
- function cr_hostname_is_ip. Because crustls doesn't support verification
|
|
|
- of IP addresses, special handling is needed: We disable SNI and set a
|
|
|
- placeholder hostname (which never actually gets sent on the wire).
|
|
|
+ At all call sites with an explicit 0 len, pass an appropriate nonzero
|
|
|
+ len.
|
|
|
|
|
|
- Closes #6719
|
|
|
+ Closes #6954
|
|
|
|
|
|
-Daniel Gustafsson (12 Mar 2021)
|
|
|
-- cookies: Fix potential NULL pointer deref with PSL
|
|
|
-
|
|
|
- Curl_cookie_init can be called with data being NULL, and this can in turn
|
|
|
- be passed to Curl_cookie_add, meaning that both functions must be careful
|
|
|
- to only use data where it's checked for being a NULL pointer. The libpsl
|
|
|
- support code does however dereference data without checking, so if we are
|
|
|
- indeed having an unset data pointer we cannot PSL check the cookiedomain.
|
|
|
-
|
|
|
- This is currently not a reachable dereference, as the only caller with a
|
|
|
- NULL data isn't passing a file to initialize cookies from, but since the
|
|
|
- API has this contract let's ensure we hold it.
|
|
|
+- [Ayushman Singh Chauhan brought this change]
|
|
|
+
|
|
|
+ docs: camelcase it like GitHub everywhere
|
|
|
|
|
|
- Closes #6731
|
|
|
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+ Closes #6979
|
|
|
|
|
|
-Daniel Stenberg (12 Mar 2021)
|
|
|
-- [Michael Hordijk brought this change]
|
|
|
+Jay Satiro (27 Apr 2021)
|
|
|
+- [Lucas Servén Marín brought this change]
|
|
|
|
|
|
- configure: only add OpenSSL paths if they are defined
|
|
|
+ docs: fix typo in fail-with-body doc
|
|
|
|
|
|
- Add paths for OpenSSL compiling and linking only if they have been
|
|
|
- defined. If they haven't been defined, we'll assume that the paths are
|
|
|
- already available to the toolchain.
|
|
|
+ This commit fixes a small typo in the documentation for the
|
|
|
+ --fail-with-body flag.
|
|
|
|
|
|
- Closes #6730
|
|
|
+ Closes https://github.com/curl/curl/pull/6977
|
|
|
|
|
|
-Jay Satiro (12 Mar 2021)
|
|
|
-- retry.d: Clarify transient 5xx HTTP response codes
|
|
|
+- lib: fix some misuse of curlx_convert_UTF8_to_tchar
|
|
|
|
|
|
- - Clarify the only 5xx response codes that are treated as transient are
|
|
|
- 500, 502, 503 and 504.
|
|
|
+ curlx_convert_UTF8_to_tchar must be freed by curlx_unicodefree, but
|
|
|
+ prior to this change some uses mistakenly called free.
|
|
|
|
|
|
- Prior to this change it said it treated all 5xx as transient, but the
|
|
|
- code says otherwise.
|
|
|
+ I've reviewed all other uses of curlx_convert_UTF8_to_tchar and
|
|
|
+ curlx_convert_tchar_to_UTF8.
|
|
|
|
|
|
- Ref: https://github.com/curl/curl/blob/curl-7_75_0/src/tool_operate.c#L462-L495
|
|
|
+ Bug: https://github.com/curl/curl/pull/6602#issuecomment-825236763
|
|
|
+ Reported-by: sergio-nsk@users.noreply.github.com
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6724
|
|
|
+ Closes https://github.com/curl/curl/pull/6938
|
|
|
|
|
|
-- retry-all-errors.d: Explain curl errors versus HTTP response errors
|
|
|
+Daniel Stenberg (27 Apr 2021)
|
|
|
+- ntlm: precaution against super huge type2 offsets
|
|
|
|
|
|
- - Add a paragraph explaining that curl does not consider HTTP response
|
|
|
- errors as curl errors, and how that behavior can be modified by using
|
|
|
- --retry and --fail.
|
|
|
+ ... which otherwise caused an integer overflow and circumvented the if()
|
|
|
+ conditional size check.
|
|
|
|
|
|
- The --retry-all-errors doc says "Retry on any error" which some users
|
|
|
- may find misleading without the added explanation.
|
|
|
+ Detected by OSS-Fuzz
|
|
|
+ Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=33720
|
|
|
+ Assisted-by: Max Dymond
|
|
|
+ Closes #6975
|
|
|
+
|
|
|
+- c-hyper: fix unused variable ‘wrote’
|
|
|
+
|
|
|
+- libcurl-security.3: be careful of setuid
|
|
|
|
|
|
- Ref: https://curl.se/docs/faq.html#Why_do_I_get_downloaded_data_eve
|
|
|
- Ref: https://curl.se/docs/faq.html#curl_doesn_t_return_error_for_HT
|
|
|
+ Reported-by: Harry Sintonen
|
|
|
+ Closes #6970
|
|
|
+
|
|
|
+- [Kevin Burke brought this change]
|
|
|
+
|
|
|
+ c-hyper: don't write to set.writeheader if null
|
|
|
|
|
|
- Reported-by: Lawrence Gripper
|
|
|
+ Previously if a caller set CURLOPT_WRITEFUNCTION but did not set a
|
|
|
+ CURLOPT_HEADERDATA buffer, Hyper would still attempt to write headers to
|
|
|
+ the data->set.writeheader header buffer, even though it is null. This
|
|
|
+ led to NPE segfaults attempting to use libcurl+Hyper with Git, for
|
|
|
+ example.
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/6712
|
|
|
- Closes https://github.com/curl/curl/pull/6720
|
|
|
+ Instead, process the client write for the status line using the same
|
|
|
+ logic we use to process the client write for the later HTTP headers,
|
|
|
+ which contains the appropriate guard logic. As a side benefit,
|
|
|
+ data->set.writeheader is now only read in one file instead of two.
|
|
|
+
|
|
|
+ Fixes #6619
|
|
|
+ Fixes abetterinternet/crustls#49
|
|
|
+ Fixes hyperium/hyper#2438
|
|
|
+ Closes #6971
|
|
|
|
|
|
-Daniel Stenberg (11 Mar 2021)
|
|
|
-- travis: switch ngtcp2 build over to quictls
|
|
|
+- wolfssl: handle SSL_write() returns 0 for error
|
|
|
|
|
|
- The ngtcp2 project switched over to using the quictls OpenSSL fork
|
|
|
- instead of their own patched OpenSSL. We follow suit.
|
|
|
+ Reported-by: Timo Lange
|
|
|
|
|
|
- Closes #6729
|
|
|
-
|
|
|
-- test220/314: adjust to run with Hyper
|
|
|
+ Closes #6967
|
|
|
|
|
|
-- c-hyper: support automatic content-encoding
|
|
|
+- easy: ignore sigpipe in curl_easy_send
|
|
|
|
|
|
- Closes #6727
|
|
|
+ Closes #6965
|
|
|
|
|
|
-- http: remove superfluous NULL assign
|
|
|
+- sigpipe: ignore SIGPIPE when using wolfSSL as well
|
|
|
|
|
|
- Closes #6727
|
|
|
+ Closes #6966
|
|
|
|
|
|
-- tool_operate: bail if set CURLOPT_HTTP09_ALLOWED returns error
|
|
|
+- libcurl-security.3: don't try to filter IPv4 hosts based on the URL
|
|
|
|
|
|
- Closes #6727
|
|
|
+ Closes #6942
|
|
|
|
|
|
-- setopt: error on CURLOPT_HTTP09_ALLOWED set true with Hyper
|
|
|
-
|
|
|
- Not supported.
|
|
|
-
|
|
|
- Closes #6727
|
|
|
+- [Harry Sintonen brought this change]
|
|
|
|
|
|
-- test306: make it not run with Hyper
|
|
|
+ nss_set_blocking: avoid static for sock_opt
|
|
|
|
|
|
- ... as it tests HTTP/0.9 which Hyper doesn't support.
|
|
|
+ Reviewed-by: Kamil Dudka
|
|
|
+ Closes #6945
|
|
|
|
|
|
-- test304: header CRLF cleanup to work with Hyper
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
-- FTP: allow SIZE to fail when doing (resumed) upload
|
|
|
-
|
|
|
- Added test 362 to verify.
|
|
|
-
|
|
|
- Reported-by: Jordan Brown
|
|
|
- Regression since 7ea2e1d0c5a7f (7.73.0)
|
|
|
- Fixes #6715
|
|
|
- Closes #6725
|
|
|
+- [Yusuke Nakamura brought this change]
|
|
|
|
|
|
-- configure: provide Largefile feature for curl-config
|
|
|
+ docs/HTTP3.md: fix nghttp2's HTTP/3 server port
|
|
|
|
|
|
- ... as cmake now does it correctly, and make test1014 check for it
|
|
|
+ Port 8443 does not work now.
|
|
|
+ Correct origin is in the quicwg's wiki.
|
|
|
+ https://github.com/quicwg/base-drafts/wiki/Implementations#ngtcp2
|
|
|
|
|
|
- Closes #6702
|
|
|
+ Closes #6964
|
|
|
|
|
|
-- config: remove CURL_SIZEOF_CURL_OFF_T use only SIZEOF_CURL_OFF_T
|
|
|
+- krb5: don't use 'static' to store PBSZ size response
|
|
|
|
|
|
- Make the code consistently use a single name for the size of the
|
|
|
- "curl_off_t" type.
|
|
|
+ ... because it makes the knowledge and usage cross-transfer in funny and
|
|
|
+ unexpected ways.
|
|
|
|
|
|
- Closes #6702
|
|
|
+ Reported-by: Harry Sintonen
|
|
|
+ Closes #6963
|
|
|
|
|
|
-Jay Satiro (10 Mar 2021)
|
|
|
-- [Jun-ya Kato brought this change]
|
|
|
+- [Kevin Burke brought this change]
|
|
|
|
|
|
- ngtcp2: Fix build error due to change in ngtcp2_addr_init
|
|
|
+ m4: add security frameworks on Mac when compiling rustls
|
|
|
|
|
|
- ngtcp2/ngtcp2@b8d90a9 changed the function prototype.
|
|
|
+ Previously compiling rustls on Mac would only complete if you also
|
|
|
+ compiled the SecureTransport TLS backend, which curl would prefer to
|
|
|
+ the Rust backend.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6716
|
|
|
-
|
|
|
-Daniel Stenberg (10 Mar 2021)
|
|
|
-- [ejanchivdorj brought this change]
|
|
|
-
|
|
|
- multi: update pending list when removing handle
|
|
|
+ Appending these flags to LDFLAGS makes it possible to compile the
|
|
|
+ Rustls backend on Mac without the SecureTransport backend, which means
|
|
|
+ this patch will make it possible for Mac users to use the Rustls
|
|
|
+ backend for TLS.
|
|
|
|
|
|
- when removing a handle, most of the lists are updated but pending list
|
|
|
- is not updated. Updating now.
|
|
|
+ Reviewed-by: Jacob Hoffman-Andrews
|
|
|
|
|
|
- Closes #6713
|
|
|
-
|
|
|
-- [kokke brought this change]
|
|
|
+ Fixes #6955
|
|
|
+ Cloes #6956
|
|
|
|
|
|
- lib1536: check ptr against NULL before dereferencing it
|
|
|
+- krb5: remove the unused 'overhead' function
|
|
|
|
|
|
- Closes #6710
|
|
|
-
|
|
|
-- [kokke brought this change]
|
|
|
+ Closes #6947
|
|
|
|
|
|
- lib1537: check ptr against NULL before dereferencing it
|
|
|
-
|
|
|
- Fixes #6707
|
|
|
- Closes #6708
|
|
|
+- [Johann150 brought this change]
|
|
|
|
|
|
-- travis: make torture tests skip TLS-SRP tests
|
|
|
+ curl_url_set.3: add memory management information
|
|
|
|
|
|
- ... as it seems to often hang.
|
|
|
+ wording taken from man page for CURLOPT_URL.3
|
|
|
|
|
|
- Also: skip the "normal" tests as they're already run by many other
|
|
|
- builds.
|
|
|
+ As far as I can see, the URL part is either malloc'ed before due to
|
|
|
+ encoding or it is strdup'ed.
|
|
|
|
|
|
- Closes #6705
|
|
|
+ Closes #6953
|
|
|
|
|
|
-- openssl: adapt to v3's new const for a few API calls
|
|
|
-
|
|
|
- Closes #6703
|
|
|
+- [Jacob Hoffman-Andrews brought this change]
|
|
|
|
|
|
-- quiche: fix crash when failing to connect
|
|
|
+ c-hpyer: fix handling of zero-byte chunk from hyper
|
|
|
|
|
|
- Reported-by: ウさん
|
|
|
- Fixes #6664
|
|
|
- Closes #6701
|
|
|
+ Closes #6951
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+- CURLOPT_POSTFIELDS.3: clarify how it gets the size of the data
|
|
|
|
|
|
- Fixed the release counter and added a missing contributor
|
|
|
+ Ref: https://curl.se/mail/lib-2021-04/0085.html
|
|
|
+ Closes #6943
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+- [Ralph Langendam brought this change]
|
|
|
|
|
|
-- dynbuf: bump the max HTTP request to 1MB
|
|
|
-
|
|
|
- Raised from 128KB to allow longer request headers.
|
|
|
+ cmake: make libcurl output filename configurable
|
|
|
|
|
|
- Reported-by: Carl Zogheib
|
|
|
- Fixes #6681
|
|
|
- Closes #6685
|
|
|
+ Reviewed-by: Jakub Zakrzewski
|
|
|
+ Closes #6933
|
|
|
|
|
|
-Jay Satiro (6 Mar 2021)
|
|
|
-- schannel: Evaluate CURLOPT_SSL_OPTIONS via SSL_SET_OPTION macro
|
|
|
-
|
|
|
- - Change use of those options from CURLOPT_SSL_OPTIONS that are not
|
|
|
- already evaluated via SSL_SET_OPTION in schannel and secure transport
|
|
|
- to use that instead of data->set.ssl.optname.
|
|
|
-
|
|
|
- Example:
|
|
|
-
|
|
|
- Evaluate SSL_SET_OPTION(no_revoke) instead of data->set.ssl.no_revoke.
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
+
|
|
|
+ vtls: reset ssl use flag upon negotiation failure
|
|
|
|
|
|
- This change is because options set via CURLOPT_SSL_OPTIONS
|
|
|
- (data->set.ssl.optname) are separate from those set for HTTPS proxy via
|
|
|
- CURLOPT_PROXY_SSL_OPTIONS (data->set.proxy_ssl.optname). The
|
|
|
- SSL_SET_OPTION macro determines whether the connection is for HTTPS
|
|
|
- proxy and based on that which option to evaluate.
|
|
|
+ Fixes the segfault in ldaps disconnect.
|
|
|
|
|
|
- Since neither Schannel nor Secure Transport backends currently support
|
|
|
- HTTPS proxy in libcurl, this change is for posterity and has no other
|
|
|
- effect.
|
|
|
+ Reported-by: Illarion Taev
|
|
|
+ Fixes #6934
|
|
|
+ Closes #6937
|
|
|
+
|
|
|
+- configure: fix typo in TLS error message
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6690
|
|
|
+ Reported-by: Pontus Lundkvist
|
|
|
|
|
|
-- [kokke brought this change]
|
|
|
+- README: link to the commercial support option
|
|
|
|
|
|
- c-hyper: Remove superfluous pointer check
|
|
|
+Jay Satiro (22 Apr 2021)
|
|
|
+- [Martin Halle brought this change]
|
|
|
+
|
|
|
+ version: add gsasl_version to curl_version_info_data
|
|
|
|
|
|
- `n` pointer is never NULL once set. Found by static analysis.
|
|
|
+ - Add gsasl_version string and bump to CURLVERSION_TENTH.
|
|
|
|
|
|
- Ref: https://github.com/curl/curl/issues/6696
|
|
|
+ Ref: https://curl.se/mail/lib-2021-04/0003.html
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6697
|
|
|
+ Closes https://github.com/curl/curl/pull/6843
|
|
|
|
|
|
-- version.d: Add missing features to the features list
|
|
|
+- [Morten Minde Neergaard brought this change]
|
|
|
+
|
|
|
+ schannel: Support strong crypto option
|
|
|
|
|
|
- - Add missing entries for gsasl, Kerberos, NTLM_WB, TrackMemory,
|
|
|
- Unicode and zstd.
|
|
|
+ - Support enabling strong crypto via optional user cipher list when
|
|
|
+ USE_STRONG_CRYPTO or SCH_USE_STRONG_CRYPTO is in the list.
|
|
|
|
|
|
- - Remove krb4 since it's no longer a feature.
|
|
|
+ MSDN says SCH_USE_STRONG_CRYPTO "Instructs Schannel to disable known
|
|
|
+ weak cryptographic algorithms, cipher suites, and SSL/TLS protocol
|
|
|
+ versions that may be otherwise enabled for better interoperability."
|
|
|
|
|
|
- Reported-by: Ádler Jonas Gross
|
|
|
+ Ref: https://curl.se/mail/lib-2021-02/0066.html
|
|
|
+ Ref: https://curl.se/docs/manpage.html#--ciphers
|
|
|
+ Ref: https://curl.se/libcurl/c/CURLOPT_SSL_CIPHER_LIST.html
|
|
|
+ Ref: https://docs.microsoft.com/en-us/windows/win32/api/schannel/ns-schannel-schannel_cred
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/6677
|
|
|
- Closes https://github.com/curl/curl/pull/6687
|
|
|
+ Closes https://github.com/curl/curl/pull/6734
|
|
|
|
|
|
-- [Vladimir Varlamov brought this change]
|
|
|
+Daniel Stenberg (22 Apr 2021)
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- docs: add missing Arg tag to --stderr
|
|
|
+- ci: adapt to configure requiring an explicit TLS choice
|
|
|
+
|
|
|
+- configure: split out each TLS library detector into its own function
|
|
|
|
|
|
- Prior to this change the required argument was not shown.
|
|
|
+ ... and put those functions in separate m4 files per TLS library.
|
|
|
+
|
|
|
+- configure: make the TLS library choice(s) explicit
|
|
|
|
|
|
- curl.1 before: --stderr
|
|
|
- curl.1 after: --stderr <file>
|
|
|
+ configure no longer tries to find a TLS library by default, but all
|
|
|
+ libraries are now equal: the user needs to explicitly ask what TLS
|
|
|
+ library or libraries to use.
|
|
|
|
|
|
- curl --help before:
|
|
|
- --stderr Where to redirect stderr
|
|
|
+ If no TLS library is selected, configure will error out unless
|
|
|
+ --without-ssl is explicitly used to request a built without TLS (as that
|
|
|
+ is very rare these days).
|
|
|
|
|
|
- curl --help after:
|
|
|
- --stderr <file> Where to redirect stderr
|
|
|
+ Removes: --with-winssl, --with-darwinssl and all --without-* options for
|
|
|
+ TLS libraries.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6692
|
|
|
+ Closes #6897
|
|
|
|
|
|
-- projects: Update VS projects for OpenSSL 1.1.x
|
|
|
+- tests/disable-scan.pl: also scan all m4 files
|
|
|
|
|
|
- - Update VS project templates to use the OpenSSL lib names and include
|
|
|
- directories for OpenSSL 1.1.x.
|
|
|
+ Fixes test 1165 when functions are moved from configure.ac to files in
|
|
|
+ m4/
|
|
|
+
|
|
|
+Jay Satiro (22 Apr 2021)
|
|
|
+- schannel: Disable auto credentials; add an option to enable it
|
|
|
|
|
|
- This change means the VS project files will now build only with OpenSSL
|
|
|
- 1.1.x when an OpenSSL configuration is chosen. Prior to this change the
|
|
|
- project files built only with OpenSSL 1.0.x (end-of-life) when an
|
|
|
- OpenSSL configuration was chosen.
|
|
|
+ - Disable auto credentials by default. This is a breaking change
|
|
|
+ for clients that are using it, wittingly or not.
|
|
|
|
|
|
- The template changes in this commit were made by script:
|
|
|
+ - New libcurl ssl option value CURLSSLOPT_AUTO_CLIENT_CERT tells libcurl
|
|
|
+ to automatically locate and use a client certificate for
|
|
|
+ authentication, when requested by the server.
|
|
|
|
|
|
- libeay32.lib => libcrypto.lib
|
|
|
- ssleay32.lib => libssl.lib
|
|
|
- ..\..\..\..\..\openssl\inc32 => ..\..\..\..\..\openssl\include
|
|
|
+ - New curl tool options --ssl-auto-client-cert and
|
|
|
+ --proxy-ssl-auto-client-cert map to CURLSSLOPT_AUTO_CLIENT_CERT.
|
|
|
|
|
|
- And since the output directory now contains the includes it's prepended:
|
|
|
- ..\..\..\..\..\openssl\build\Win{32,64}\VC{6..15}\{DLL,LIB}
|
|
|
- {Debug,Release}\include
|
|
|
+ This option is only supported for Schannel (the native Windows SSL
|
|
|
+ library). Prior to this change Schannel would, with no notification to
|
|
|
+ the client, attempt to locate a client certificate and send it to the
|
|
|
+ server, when requested by the server. Since the server can request any
|
|
|
+ certificate that supports client authentication in the OS certificate
|
|
|
+ store it could be a privacy violation and unexpected.
|
|
|
|
|
|
- - Change build-openssl.bat to copy the build's include directory to the
|
|
|
- output directory (as seen above).
|
|
|
+ Fixes https://github.com/curl/curl/issues/2262
|
|
|
+ Reported-by: Jeroen Ooms
|
|
|
+ Assisted-by: Wes Hinsley
|
|
|
+ Assisted-by: Rich FitzJohn
|
|
|
|
|
|
- Each build has its own opensslconf.h which is different so we can't just
|
|
|
- include the source include directory any longer.
|
|
|
+ Ref: https://curl.se/mail/lib-2021-02/0066.html
|
|
|
+ Reported-by: Morten Minde Neergaard
|
|
|
|
|
|
- Note the include directory in the output directory is a full copy from
|
|
|
- the build so technically we don't need to include the OpenSSL source
|
|
|
- include directory in the template. However, I left it last in case the
|
|
|
- user made a custom OpenSSL build using the old method which would put
|
|
|
- opensslconf in the OpenSSL source include directory.
|
|
|
+ Closes https://github.com/curl/curl/pull/6673
|
|
|
+
|
|
|
+Daniel Stenberg (22 Apr 2021)
|
|
|
+- [Michał Antoniak brought this change]
|
|
|
+
|
|
|
+ vtls: deduplicate some DISABLE_PROXY ifdefs
|
|
|
|
|
|
- - Change build-openssl.bat to use a temporary install directory that is
|
|
|
- different from the temporary build directory.
|
|
|
+ continue from #5735
|
|
|
|
|
|
- For OpenSSL 1.1.x the temporary paths must be separate not a descendant
|
|
|
- of the other, otherwise pdb files will be lost between builds.
|
|
|
+ - using SSL_HOST_NAME, SSL_HOST_DISPNAME, SSL_PINNED_PUB_KEY for other
|
|
|
+ tls backend
|
|
|
|
|
|
- Ref: https://curl.se/mail/lib-2018-10/0049.html
|
|
|
- Ref: https://gist.github.com/jay/125191c35bbeb894444eff827651f755
|
|
|
- Ref; https://github.com/openssl/openssl/issues/10005
|
|
|
+ - create SSL_HOST_PORT
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/984
|
|
|
- Closes https://github.com/curl/curl/pull/6675
|
|
|
+ Closes #6660
|
|
|
|
|
|
-- doh: Inherit CURLOPT_STDERR from user's easy handle
|
|
|
+Jay Satiro (22 Apr 2021)
|
|
|
+- OS400: fix typo
|
|
|
|
|
|
- Prior to this change if the user set their easy handle's error stream
|
|
|
- to something other than stderr it was not inherited by the doh handles,
|
|
|
- which meant that they would still write to the default standard error
|
|
|
- stream (stderr) for verbose output.
|
|
|
+ CURLVERSION_HEIGHTH -> CURLVERSION_EIGHTH
|
|
|
+
|
|
|
+Daniel Stenberg (22 Apr 2021)
|
|
|
+- checksrc: complain on == NULL or != 0 checks in conditions
|
|
|
|
|
|
- Bug: https://github.com/curl/curl/issues/6605
|
|
|
- Reported-by: arvids-kokins-bidstack@users.noreply.github.com
|
|
|
+ ... to make them all consistenly use if(!var) and if(var)
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6661
|
|
|
+ Also added a few missing warnings to the documentation.
|
|
|
+
|
|
|
+ Closes #6912
|
|
|
|
|
|
-Marc Hoersken (1 Mar 2021)
|
|
|
-- CI/azure: replace python-impacket with python3-impacket
|
|
|
+- tidy-up: make conditional checks more consistent
|
|
|
|
|
|
- As of this month Azure DevOps uses Ubuntu 20.04 LTS which
|
|
|
- no longer supports Python 2 and instead ships Python 3.
|
|
|
+ ... remove '== NULL' and '!= 0'
|
|
|
|
|
|
- Closes #6678
|
|
|
+ Closes #6912
|
|
|
|
|
|
-- runtests.pl: kill processes locking test log files
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
+
|
|
|
+ vauth: factor base64 conversions out of authentication procedures
|
|
|
+
|
|
|
+ Input challenges and returned messages are now in binary.
|
|
|
+ Conversions from/to base64 are performed by callers (currently curl_sasl.c
|
|
|
+ and http_ntlm.c).
|
|
|
+
|
|
|
+ Closes #6654
|
|
|
+
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
+
|
|
|
+ bufref: buffer reference support
|
|
|
+
|
|
|
+ A struct bufref holds a buffer pointer, a data size and a destructor.
|
|
|
+ When freed or its contents are changed, the previous buffer is implicitly
|
|
|
+ released by the associated destructor. The data size, although not used
|
|
|
+ internally, allows binary data support.
|
|
|
+
|
|
|
+ A unit test checks its handling methods: test 1661
|
|
|
+
|
|
|
+ Closes #6654
|
|
|
+
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
+
|
|
|
+ os400: additional support for options metadata
|
|
|
+
|
|
|
+ New functions curl_easy_option_by_name_ccsid() and
|
|
|
+ curl_easy_option_get_name_ccsid() allows accessing metadata in alternate
|
|
|
+ character encoding.
|
|
|
+
|
|
|
+ This commit also updates curl_version_info_ccsid() to handle info version 9
|
|
|
+ and adds recent definitions to the ILE/RPG include file.
|
|
|
+
|
|
|
+ Documentation updated accordingly.
|
|
|
+
|
|
|
+ Reviewed-by: Jon Rumsey
|
|
|
+ Closes #6574
|
|
|
+
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
+
|
|
|
+ test server: take care of siginterrupt() deprecation
|
|
|
+
|
|
|
+ Closes #6529
|
|
|
+
|
|
|
+Marc Hoersken (21 Apr 2021)
|
|
|
+- lib1564.c: enable last wakeup test part on Windows
|
|
|
+
|
|
|
+ Suggested-by: Gergely Nagy
|
|
|
+ Reviewed-by: Jay Satiro
|
|
|
+ Reviewed-by: Marcel Raad
|
|
|
+
|
|
|
+ Closes #6245
|
|
|
+
|
|
|
+- multi: fix slow write/upload performance on Windows
|
|
|
+
|
|
|
+ Reset FD_WRITE by sending zero bytes which is permissible
|
|
|
+ and will be treated by implementations as successful send.
|
|
|
+
|
|
|
+ Without this we won't be notified in case a socket is still
|
|
|
+ writable if we already received such a notification and did
|
|
|
+ not send any data afterwards on the socket. This would lead
|
|
|
+ to waiting forever on a writable socket being writable again.
|
|
|
+
|
|
|
+ Assisted-by: Tommy Odom
|
|
|
+ Reviewed-by: Jay Satiro
|
|
|
+ Reviewed-by: Marcel Raad
|
|
|
+ Tested-by: tmkk on github
|
|
|
+
|
|
|
+ Bug: #6146
|
|
|
+ Closes #6245
|
|
|
+
|
|
|
+- multi: reduce Win32 API calls to improve performance
|
|
|
+
|
|
|
+ 1. Consolidate pre-checks into a single Curl_poll call:
|
|
|
+
|
|
|
+ This is an attempt to restructure the code in Curl_multi_wait
|
|
|
+ in such a way that less syscalls are made by removing individual
|
|
|
+ calls to Curl_socket_check via SOCKET_READABLE/SOCKET_WRITABLE.
|
|
|
+
|
|
|
+ 2. Avoid resetting the WinSock event multiple times:
|
|
|
+
|
|
|
+ We finally call WSAResetEvent anyway, so specifying it as
|
|
|
+ an optional parameter to WSAEnumNetworkEvents is redundant.
|
|
|
+
|
|
|
+ 3. Wakeup directly in case no sockets are being monitoring:
|
|
|
+
|
|
|
+ Fix the WinSock based implementation to skip extra waiting by
|
|
|
+ not sleeping in case no sockets are to be waited on and just
|
|
|
+ the WinSock event is being monitored for wakeup functionality.
|
|
|
+
|
|
|
+ Assisted-by: Tommy Odom
|
|
|
+ Reviewed-by: Jay Satiro
|
|
|
+ Reviewed-by: Marcel Raad
|
|
|
+
|
|
|
+ Bug: #6146
|
|
|
+ Closes #6245
|
|
|
+
|
|
|
+- Revert "Revert 'multi: implement wait using winsock events'"
|
|
|
+
|
|
|
+ This reverts commit 2260e0ebe6d45529495231b3e37a0c58fb92a6a2,
|
|
|
+ also restoring previous follow up changes which were reverted.
|
|
|
+
|
|
|
+ Authored-by: rcombs on github
|
|
|
+ Authored-by: Marc Hörsken
|
|
|
+ Reviewed-by: Jay Satiro
|
|
|
+ Reviewed-by: Marcel Raad
|
|
|
+
|
|
|
+ Restores #5634
|
|
|
+ Reverts #6281
|
|
|
+ Part of #6245
|
|
|
+
|
|
|
+Daniel Stenberg (21 Apr 2021)
|
|
|
+- Revert "cmake: make libcurl library output name configurable"
|
|
|
+
|
|
|
+ This reverts commit 1cba36d2166c396f987eea587cf92671b27acb92.
|
|
|
+
|
|
|
+ CMake provides properties that can be set on a target to rename the
|
|
|
+ output artifact without changing the name of a target.
|
|
|
+
|
|
|
+ Ref: #6899
|
|
|
+
|
|
|
+- [Michael Kolechkin brought this change]
|
|
|
+
|
|
|
+ sectransp: allow cipher name to be specified
|
|
|
+
|
|
|
+ Add parser for CURLOPT_SSL_CIPHER_LIST option for Secure Transport (ST)
|
|
|
+ back-end. Similar to NSS and GSKit back-ends, new code parses string
|
|
|
+ value and configures ST library to use those ciphers for communication.
|
|
|
+ Create cipher spec data structure and initialize the array of specs with
|
|
|
+ cipher number, name, alias, and 'weak' flag.
|
|
|
+
|
|
|
+ Mark triple-DES ciphers as 'weak', and exclude them from the default
|
|
|
+ ciphers list.
|
|
|
+
|
|
|
+ Closes #6464
|
|
|
+
|
|
|
+- [Michael Kolechkin brought this change]
|
|
|
+
|
|
|
+ NSS: add ciphers to map
|
|
|
+
|
|
|
+ Add cipher names to the `cipherlist` map, based on the list of ciphers
|
|
|
+ implemented by the NSS in the source code file
|
|
|
+ https://github.com/nss-dev/nss/blob/master/lib/ssl/sslenum.c
|
|
|
+
|
|
|
+ Closes #6670
|
|
|
+
|
|
|
+- http2: remove DEBUG_HTTP2
|
|
|
+
|
|
|
+ Accidentally committed in 605e84235
|
|
|
+
|
|
|
+- [Ralph Langendam brought this change]
|
|
|
+
|
|
|
+ cmake: make libcurl library output name configurable
|
|
|
+
|
|
|
+ Closes #6899
|
|
|
+
|
|
|
+- sws: #ifdef S_IFSOCK use
|
|
|
+
|
|
|
+ SCO OpenServer 5.0.7 does not define S_IFSOCK.
|
|
|
+
|
|
|
+ Reported-by: Kevin R. Bulgrien
|
|
|
+ Bug: https://curl.se/mail/lib-2021-04/0074.html
|
|
|
+ Closes #6926
|
|
|
+
|
|
|
+- curl_setup: provide the shutdown flags wider
|
|
|
+
|
|
|
+ By using #ifdef on the symbol names to work on anything that don't
|
|
|
+ provide them. SCO OpenServer 5.0.7, sys/socket.h does not define either
|
|
|
+ SHUT_RDWR, SHUT_RD, and SHUT_WR.
|
|
|
+
|
|
|
+ Reported-by: Kevin R. Bulgrien
|
|
|
+ Bug: https://curl.se/mail/lib-2021-04/0073.html
|
|
|
+ Closes #6925
|
|
|
+
|
|
|
+- connect: use CURL_SA_FAMILY_T for portability
|
|
|
+
|
|
|
+ Reported-by: Kevin R. Bulgrien
|
|
|
+ Bug: https://curl.se/mail/lib-2021-04/0071.html
|
|
|
+
|
|
|
+ Closes #6918
|
|
|
+
|
|
|
+- urlapi: make sure no +/- signs are accepted in IPv4 numericals
|
|
|
+
|
|
|
+ Follow-up to 56a037cc0ad1b2. Extends test 1560 to verify.
|
|
|
+
|
|
|
+ Reported-by: Tuomas Siipola
|
|
|
+ Fixes #6916
|
|
|
+ Closes #6917
|
|
|
+
|
|
|
+- ConnectionExists: respect requests for h1 connections better
|
|
|
+
|
|
|
+ ... for situations when multiplexing isn't enabled on the h2 connection
|
|
|
+ and h1 is explicitly requested for the transfer.
|
|
|
+
|
|
|
+ Assisted-by: Gergely Nagy
|
|
|
+
|
|
|
+- multi: don't close connection HTTP_1_1_REQUIRED
|
|
|
+
|
|
|
+ The ConnectionExists() function will note that the new transfer wants
|
|
|
+ less then h2 and that it can't multiplex it and therefor opt to open a
|
|
|
+ new connection instead.
|
|
|
+
|
|
|
+- http2: move the stream error field to the per-transfer storage
|
|
|
+
|
|
|
+ Storing a stream error in the per-connection struct was an error that lead to
|
|
|
+ race conditions as subsequent stream handling could overwrite the error code
|
|
|
+ before it was used for the stream with the actual problem.
|
|
|
+
|
|
|
+ Closes #6910
|
|
|
+
|
|
|
+- http2: call the handle-closed function correctly on closed stream
|
|
|
+
|
|
|
+ This was this one condition where the stream could be closed due to an
|
|
|
+ error and the function would still wrongly just return 0 for it.
|
|
|
+
|
|
|
+ Reported-by: Gergely Nagy
|
|
|
+ Fixes #6862
|
|
|
+ Closes #6910
|
|
|
+
|
|
|
+- test1660: check the created HSTS file as text mode
|
|
|
+
|
|
|
+ Closes #6922
|
|
|
+
|
|
|
+- RELEASE-NOTES: synced
|
|
|
+
|
|
|
+- test 493: require https in curl to run
|
|
|
+
|
|
|
+ Closes #6927
|
|
|
+
|
|
|
+Jay Satiro (20 Apr 2021)
|
|
|
+- tool_operate: don't discard failed parallel transfer result
|
|
|
+
|
|
|
+ - Save a parallel transfer's result code only when it fails and the
|
|
|
+ transfer is not being retried.
|
|
|
+
|
|
|
+ Prior to this change the result code was always set which meant that a
|
|
|
+ failed result could be erroneously discarded if a different transfer
|
|
|
+ later had a successful result (CURLE_OK).
|
|
|
+
|
|
|
+ Before:
|
|
|
+
|
|
|
+ > curl --fail -Z https://httpbin.org/status/404 https://httpbin.org/delay/10
|
|
|
+ > echo %ERRORLEVEL%
|
|
|
+ 0
|
|
|
+
|
|
|
+ After:
|
|
|
+
|
|
|
+ > curl --fail -Z https://httpbin.org/status/404 https://httpbin.org/delay/10
|
|
|
+ > echo %ERRORLEVEL%
|
|
|
+ 22
|
|
|
+
|
|
|
+ Closes #xxxx
|
|
|
+
|
|
|
+- [Georeth Zhou brought this change]
|
|
|
+
|
|
|
+ openssl: fix build error with OpenSSL < 1.0.2
|
|
|
+
|
|
|
+ Closes https://github.com/curl/curl/pull/6920
|
|
|
+
|
|
|
+Viktor Szakats (19 Apr 2021)
|
|
|
+- README.md: delete Codacy UTM parameters & follow permanent redirect [ci skip]
|
|
|
+
|
|
|
+ UTM parameters leak referrer and various marketing/tracking information
|
|
|
+ even if these would normally be stripped by website or client policy.
|
|
|
+ This link also works fine without them. Also took the opportunity to
|
|
|
+ update the URL to the one pointed to by the previous one via permanent
|
|
|
+ redirect.
|
|
|
+
|
|
|
+ Reviewed-by: Daniel Stenberg
|
|
|
+ Closes #6919
|
|
|
+
|
|
|
+Daniel Stenberg (19 Apr 2021)
|
|
|
+- urlapi: "normalize" numerical IPv4 host names
|
|
|
+
|
|
|
+ When the host name in a URL is given as an IPv4 numerical address, the
|
|
|
+ address can be specified with dotted numericals in four different ways:
|
|
|
+ a32, a.b24, a.b.c16 or a.b.c.d and each part can be specified in
|
|
|
+ decimal, octal (0-prefixed) or hexadecimal (0x-prefixed).
|
|
|
+
|
|
|
+ Instead of passing on the name as-is and leaving the handling to the
|
|
|
+ underlying name functions, which made them not work with c-ares but work
|
|
|
+ with getaddrinfo, this change now makes the curl URL API itself detect
|
|
|
+ and "normalize" host names specified as IPv4 numericals.
|
|
|
+
|
|
|
+ The WHATWG URL Spec says this is an okay way to specify a host name in a
|
|
|
+ URL. RFC 3896 does not allow them, but curl didn't prevent them before
|
|
|
+ and it seems other RFC 3896-using tools have not either. Host names used
|
|
|
+ like this are widely supported by other tools as well due to the
|
|
|
+ handling being done by getaddrinfo and friends.
|
|
|
+
|
|
|
+ I decided to add the functionality into the URL API itself so that all
|
|
|
+ users of these functions get the benefits, when for example wanting to
|
|
|
+ compare two URLs. Also, it makes curl built to use c-ares now support
|
|
|
+ them as well and make curl builds more consistent.
|
|
|
+
|
|
|
+ The normalization makes HTTPS and virtual hosted HTTP work fine even
|
|
|
+ when curl gets the address specified using one of the "obscure" formats.
|
|
|
+
|
|
|
+ Test 1560 is extended to verify.
|
|
|
+
|
|
|
+ Fixes #6863
|
|
|
+ Closes #6871
|
|
|
+
|
|
|
+- libssh: fix "empty expression statement has no effect" warnings
|
|
|
+
|
|
|
+ ... by fixing macros to do-while constructs and moving out the calls to
|
|
|
+ "break" outside of the actual macro. It also fixes the problem where the
|
|
|
+ macro was used witin a loop and the break didn't do right.
|
|
|
+
|
|
|
+ Reported-by: Emil Engler
|
|
|
+ Fixes #6847
|
|
|
+ Closes #6909
|
|
|
+
|
|
|
+- hsts: enable by default
|
|
|
+
|
|
|
+ No longer considered experimental.
|
|
|
+
|
|
|
+ Closes #6700
|
|
|
+
|
|
|
+- vtls: refuse setting any SSL version
|
|
|
+
|
|
|
+ ... previously they were supported if a TLS library would (unexpectedly)
|
|
|
+ still support them, but from this change they will be refused already in
|
|
|
+ curl_easy_setopt(). SSLv2 and SSLv3 have been known to be insecure for
|
|
|
+ many years now.
|
|
|
+
|
|
|
+ Closes #6773
|
|
|
+
|
|
|
+- curl: ignore options asking for SSLv2 or SSLv3
|
|
|
+
|
|
|
+ Instead output a warning about it and continue with the defaults.
|
|
|
+
|
|
|
+ These SSL versions are typically not supported by the TLS libraries since a
|
|
|
+ long time back already since they are inherently insecure and broken. Asking
|
|
|
+ for them to be used will just cause an error to be returned slightly later.
|
|
|
+
|
|
|
+ In the unlikely event that a user's TLS library actually still supports these
|
|
|
+ protocol versions, this change might make the request a little less insecure.
|
|
|
|
|
|
- Introduce a new runtests.pl command option: -rm
|
|
|
+ Closes #6772
|
|
|
+
|
|
|
+- test972: verify the json output with jsonlint
|
|
|
|
|
|
- For now only required and implemented for Windows.
|
|
|
- Ignore stunnel logs due to long running processes.
|
|
|
+ Make sure one of the azure jobs has jsonlint installed so that the test
|
|
|
+ runs there.
|
|
|
|
|
|
- Requires Sysinternals handle[64].exe to be on PATH.
|
|
|
+ Ref: #6905
|
|
|
+
|
|
|
+- [Jay Satiro brought this change]
|
|
|
+
|
|
|
+ tool_writeout: fix the HTTP_CODE json output
|
|
|
|
|
|
- Reviewed-by: Jay Satiro
|
|
|
+ Update test 970 accordingly.
|
|
|
|
|
|
- Ref: #6058
|
|
|
- Closes #6179
|
|
|
+ Reported-by: Michal Rus
|
|
|
+ Fixes #6905
|
|
|
+ Closes #6906
|
|
|
|
|
|
-- pathhelp.pm: fix use of pwd -L in Msys environment
|
|
|
+- openldap: protect SSL-specific code with proper #ifdef
|
|
|
|
|
|
- While Msys2 has a pwd binary which supports -L,
|
|
|
- Msys1 only has a shell built-in with that feature.
|
|
|
+ Closes #6901
|
|
|
+
|
|
|
+- libssh2: fix Value stored to 'sshp' is never read
|
|
|
|
|
|
- Reviewed-by: Jay Satiro
|
|
|
+ Pointed out by scan-build
|
|
|
|
|
|
- Part of #6179
|
|
|
+ Closes #6900
|
|
|
|
|
|
-Daniel Gustafsson (1 Mar 2021)
|
|
|
-- ldap: use correct memory free function
|
|
|
+- [Victor Vieux brought this change]
|
|
|
+
|
|
|
+ tool_getparam: replace (in-place) '%20' by '+' according to RFC1866
|
|
|
|
|
|
- unescaped is coming from Curl_urldecode and not a unicode conversion
|
|
|
- function, so reclaiming its memory should be performed with a normal
|
|
|
- call to free rather than curlx_unicodefree. In reality, this is the
|
|
|
- same thing as curlx_unicodefree is implemented as a call to free but
|
|
|
- that's not guaranteed to always hold. Using the curlx macro present
|
|
|
- issues with memory debugging as well.
|
|
|
+ Signed-off-by: Victor Vieux <victorvieux@gmail.com>
|
|
|
|
|
|
- Closes #6671
|
|
|
- Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
|
|
|
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+ Closes #6895
|
|
|
|
|
|
-- url: fix typo in comment
|
|
|
+- configure: provide --with-openssl, deprecate --with-ssl
|
|
|
|
|
|
- Correct a small typo which snuck in with a304051620.
|
|
|
+ Makes the option more explicit.
|
|
|
+
|
|
|
+ Closes #6887
|
|
|
|
|
|
-Jay Satiro (28 Feb 2021)
|
|
|
-- tool_help: Increase space between option and description
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- - Increase the minimum number of spaces between the option and the
|
|
|
- description from 1 to 2.
|
|
|
+ and bumped curlver to 7.77.0
|
|
|
+
|
|
|
+- [Javier Blazquez brought this change]
|
|
|
+
|
|
|
+ rustls: only return CURLE_AGAIN when TLS session is fully drained
|
|
|
|
|
|
- Before:
|
|
|
- ~~~
|
|
|
- -u, --user <user:password> Server user and password
|
|
|
- -A, --user-agent <name> Send User-Agent <name> to server
|
|
|
- -v, --verbose Make the operation more talkative
|
|
|
- -V, --version Show version number and quit
|
|
|
- -w, --write-out <format> Use output FORMAT after completion
|
|
|
- --xattr Store metadata in extended file attributes
|
|
|
- ~~~
|
|
|
+ The code in cr_recv was returning prematurely as soon as the socket
|
|
|
+ reported no more data to read. However, this could be leaving some
|
|
|
+ unread plaintext data in the rustls session from a previous call,
|
|
|
+ causing causing the transfer to hang if the socket never receives
|
|
|
+ further data.
|
|
|
|
|
|
- After:
|
|
|
- ~~~
|
|
|
- -u, --user <user:password> Server user and password
|
|
|
- -A, --user-agent <name> Send User-Agent <name> to server
|
|
|
- -v, --verbose Make the operation more talkative
|
|
|
- -V, --version Show version number and quit
|
|
|
- -w, --write-out <format> Use output FORMAT after completion
|
|
|
- --xattr Store metadata in extended file attributes
|
|
|
- ~~~
|
|
|
+ We need to ensure that the session is fully drained of plaintext data
|
|
|
+ before returning CURLE_AGAIN to the caller.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6674
|
|
|
+ Reviewed-by: Jacob Hoffman-Andrews
|
|
|
+ Closes #6894
|
|
|
|
|
|
-Daniel Stenberg (27 Feb 2021)
|
|
|
-- curl: set CURLOPT_NEW_FILE_PERMS if requested
|
|
|
+- cookie: CURLOPT_COOKIEFILE set to NULL switches off cookies
|
|
|
|
|
|
- The --create-file-mode code logic accepted the value but never actually
|
|
|
- passed it on to libcurl!
|
|
|
+ Add test 676 to verify that setting CURLOPT_COOKIEFILE to NULL again clears
|
|
|
+ the cookiejar from memory.
|
|
|
|
|
|
- Follow-up to a7696c73436f (shipped in 7.75.0)
|
|
|
- Reported-by: Johannes Lesr
|
|
|
- Fixes #6657
|
|
|
- Closes #6666
|
|
|
+ Reported-by: Stefan Karpinski
|
|
|
+ Fixes #6889
|
|
|
+ Closes #6891
|
|
|
|
|
|
-- tool_operate: check argc before accessing argv[1]
|
|
|
+Version 7.76.1 (14 Apr 2021)
|
|
|
+
|
|
|
+Daniel Stenberg (14 Apr 2021)
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- Follow-up to 09363500b
|
|
|
- Reported-by: Emil Engler
|
|
|
- Reviewed-by: Daniel Gustafsson
|
|
|
- Closes #6668
|
|
|
+ curl 7.76.1 release
|
|
|
|
|
|
-Daniel Gustafsson (26 Feb 2021)
|
|
|
-- [Jean-Philippe Menil brought this change]
|
|
|
+- THANKS: add names from 7.76.1
|
|
|
|
|
|
- openssl: remove get_ssl_version_txt in favor of SSL_get_version
|
|
|
+- misc: update copyright year ranges to match latest updates
|
|
|
+
|
|
|
+- [Tatsuhiro Tsujikawa brought this change]
|
|
|
+
|
|
|
+ ngtcp2: Use ALPN h3-29 for now
|
|
|
|
|
|
- openssl: use SSL_get_version to get connection protocol
|
|
|
+ Fixes #6864
|
|
|
+ Cloes #6886
|
|
|
+
|
|
|
+Jay Satiro (11 Apr 2021)
|
|
|
+- TODO: remove 18.22 --fail-with-body
|
|
|
|
|
|
- Replace our bespoke get_ssl_version_txt in favor of SSL_get_version.
|
|
|
- We can get rid of few lines of code, since SSL_get_version achieve
|
|
|
- the exact same thing
|
|
|
+ --fail-with-body was added in 8a964cb (precedes curl-7_76_0).
|
|
|
+
|
|
|
+Daniel Stenberg (10 Apr 2021)
|
|
|
+- [Jürgen Gmach brought this change]
|
|
|
+
|
|
|
+ src/tool_vms.c: remove duplicated word in comment
|
|
|
|
|
|
- Closes #6665
|
|
|
- Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
|
|
|
- Signed-off-by: Jean-Philippe Menil <jpmenil@gmail.com>
|
|
|
+ Closes #6881
|
|
|
|
|
|
-- gnutls: Fix nettle discovery
|
|
|
+- configure: fix CURL_DARWIN_CFLAGS use
|
|
|
|
|
|
- Commit e06fa7462ac258c removed support for libgcrypt leaving only
|
|
|
- support for nettle which has been the default crypto library in
|
|
|
- GnuTLS for a long time. There were however a few conditionals on
|
|
|
- USE_GNUTLS_NETTLE which cause compilation errors in the metalink
|
|
|
- code (as it used the gcrypt fallback instead as a result). See the
|
|
|
- below autobuild for an example of the error:
|
|
|
+ The macro name change was not completely done.
|
|
|
|
|
|
- https://curl.se/dev/log.cgi?id=20210225123226-30704#prob1
|
|
|
+ Follow-up to 5d2c384452543c
|
|
|
+ Bug: https://github.com/curl/curl/commit/5d2c384452543c7b6c9fb02eaa0afc84fd5ab941#commitcomment-49315187
|
|
|
+ Reported-by: Marcel Raad
|
|
|
+ Closes #6878
|
|
|
+
|
|
|
+- [Anthony Shaw brought this change]
|
|
|
+
|
|
|
+ github/workflow: add "security-extended" to codeql-analysis.yml
|
|
|
|
|
|
- This removes all uses of USE_GNUTLS_NETTLE and also removes the
|
|
|
- gcrypt support from the metalink code while at it.
|
|
|
+ Extends the CodeQL code scan.
|
|
|
|
|
|
- Closes #6656
|
|
|
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+ Closes #6815
|
|
|
|
|
|
-- cookies: Support multiple -b parameters
|
|
|
+- [Jochem Broekhoff brought this change]
|
|
|
+
|
|
|
+ examples/hiperfifo.c: check event_initialized before delete
|
|
|
|
|
|
- Previously only a single -b cookie parameter was supported with the last
|
|
|
- one winning. This adds support for supplying multiple -b params to have
|
|
|
- them serialized semicolon separated. Both cookiefiles and cookies can be
|
|
|
- entered multiple times.
|
|
|
+ If event_del is called with the event struct (still) zeroed out, a
|
|
|
+ segmentation fault may occur. event_initialized checks whether the
|
|
|
+ event struct is nonzero.
|
|
|
|
|
|
- Closes #6649
|
|
|
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+ Closes #6876
|
|
|
|
|
|
-Daniel Stenberg (25 Feb 2021)
|
|
|
-- build: remove all traces of USE_BLOCKING_SOCKETS
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
+
|
|
|
+ ntlm: fix negotiated flags usage
|
|
|
|
|
|
- libcurl doesn't behave properly with the define set
|
|
|
+ According to Microsoft document MS-NLMP, current flags usage is not
|
|
|
+ accurate: flag NTLMFLAG_NEGOTIATE_NTLM2_KEY controls the use of
|
|
|
+ extended security in an NTLM authentication message and NTLM version 2
|
|
|
+ cannot be negotiated within the protocol.
|
|
|
|
|
|
- Closes #6655
|
|
|
+ The solution implemented here is: if the extended security flag is set,
|
|
|
+ prefer using NTLM version 2 (as a server featuring extended security
|
|
|
+ should also support version 2). If version 2 has been disabled at
|
|
|
+ compile time, use extended security.
|
|
|
+
|
|
|
+ Tests involving NTLM are adjusted to this new behavior.
|
|
|
+
|
|
|
+ Fixes #6813
|
|
|
+ Closes #6849
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
|
|
|
-Daniel Gustafsson (25 Feb 2021)
|
|
|
-- docs: Fix typos
|
|
|
+ ntlm: support version 2 on 32-bit platforms
|
|
|
|
|
|
- Random typos spotted when skimming docs.
|
|
|
+ Closes #6849
|
|
|
|
|
|
-- cookies: Use named parameters in header prototypes
|
|
|
-
|
|
|
- Align header with project style of using named parameters in the
|
|
|
- function prototypes to aid readability and self-documentation.
|
|
|
-
|
|
|
- Closes #6653
|
|
|
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
|
|
|
-Daniel Stenberg (24 Feb 2021)
|
|
|
-- urldata: make 'actions[]' use unsigned char instead of int
|
|
|
+ curl_ntlm_core.h: simplify conditionals for USE_NTLM2SESSION
|
|
|
|
|
|
- ... as it only needs a few bits per index anyway.
|
|
|
+ ... as !defined(CURL_DISABLE_CRYPTO_AUTH) is a prerequisite for the
|
|
|
+ whole NTLM.
|
|
|
|
|
|
- Reviewed-by: Daniel Gustafsson
|
|
|
- Closes #6648
|
|
|
+ Closes #6849
|
|
|
|
|
|
-- configure: fail if --with-quiche is used and quiche isn't found
|
|
|
+- lib: remove unused HAVE_INET_NTOA_R* defines
|
|
|
|
|
|
- Closes #6652
|
|
|
+ Closes #6867
|
|
|
|
|
|
-- [Gregor Jasny brought this change]
|
|
|
+- [Michael Forney brought this change]
|
|
|
|
|
|
- cmake: use CMAKE_INSTALL_INCLUDEDIR indirection
|
|
|
+ configure: include <time.h> unconditionally
|
|
|
+
|
|
|
+ In 2682e5f5, several instances of AC_HEADER_TIME were removed since
|
|
|
+ it is a deprecated autoconf macro. However, this was the macro that
|
|
|
+ defined TIME_WITH_SYS_TIME, which was used to indicate that <time.h>
|
|
|
+ can be included alongside <sys/time.h>. TIME_WITH_SYS_TIME is still
|
|
|
+ used in the configure test body and since it is no longer defined,
|
|
|
+ <time.h> is *not* included on systems that have <sys/time.h>.
|
|
|
+
|
|
|
+ In particular, at least on musl libc and glibc, <sys/time.h> does
|
|
|
+ not implicitly include <time.h> and does not declare clock_gettime,
|
|
|
+ gmtime_r, or localtime_r. This causes configure to fail to detect
|
|
|
+ those functions.
|
|
|
+
|
|
|
+ The AC_HEADER_TIME macro deprecation text says
|
|
|
+
|
|
|
+ > All current systems provide time.h; it need not be checked for.
|
|
|
+ > Not all systems provide sys/time.h, but those that do, all allow
|
|
|
+ > you to include it and time.h simultaneously.
|
|
|
+
|
|
|
+ So, to fix this issue, simply include <time.h> unconditionally when
|
|
|
+ testing for time-related functions and in libcurl, and don't bother
|
|
|
+ checking for it.
|
|
|
|
|
|
- Reviewed-by: Sergei Nikulov
|
|
|
- Closes #6440
|
|
|
+ Closes #6859
|
|
|
|
|
|
-Viktor Szakats (23 Feb 2021)
|
|
|
-- mingw: enable using strcasecmp()
|
|
|
+- [Michael Forney brought this change]
|
|
|
+
|
|
|
+ configure: remove use of RETSIGTYPE
|
|
|
|
|
|
- This makes the 'Features:' list sorted case-insensitively,
|
|
|
- bringing output in-line with *nix builds.
|
|
|
+ This was previously defined by the obsolete AC_TYPE_SIGNAL macro,
|
|
|
+ which was removed in 2682e5f5. The deprecation text says
|
|
|
|
|
|
- Reviewed-by: Jay Satiro
|
|
|
- Closes #6644
|
|
|
-
|
|
|
-- build: delete unused feature guards
|
|
|
+ > Your code may safely assume C89 semantics that RETSIGTYPE is void.
|
|
|
|
|
|
- - `HAVE_STRNCASECMP`
|
|
|
- - `HAVE_TCGETATTR`
|
|
|
- - `HAVE_TCSETATTR`
|
|
|
+ So, remove it and just use void instead.
|
|
|
|
|
|
- Reviewed-by: Jay Satiro
|
|
|
- Reviewed-by: Daniel Stenberg
|
|
|
- Closes #6645
|
|
|
+ Closes #6861
|
|
|
|
|
|
-Jay Satiro (23 Feb 2021)
|
|
|
-- docs: add CURLOPT_CURLU to 'See also' in curl_url_ functions
|
|
|
+- [Muhammed Yavuz Nuzumlalı brought this change]
|
|
|
+
|
|
|
+ install: add instructions for Apple Darwin platforms
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6639
|
|
|
+ Closes #6860
|
|
|
|
|
|
-Daniel Stenberg (23 Feb 2021)
|
|
|
-- [Jacob Hoffman-Andrews brought this change]
|
|
|
+- [Muhammed Yavuz Nuzumlalı brought this change]
|
|
|
|
|
|
- configure: make hyper opt-in, and fail if missing
|
|
|
-
|
|
|
- Previously, configure would look for hyper by default, and use it if
|
|
|
- found; otherwise it would not use hyper, and not error.
|
|
|
-
|
|
|
- Now, configure will not look for hyper unless --with-hyper is passed. If
|
|
|
- configure looks for hyper and fails, it will error.
|
|
|
-
|
|
|
- Also, add -ld -lpthread -lm to Hyper's libs. I think they are required.
|
|
|
+ configure: disable min version set for Darwin
|
|
|
|
|
|
- Closes #6598
|
|
|
+ Fixes #6838
|
|
|
+ Closes #6860
|
|
|
|
|
|
-- multi: do once-per-transfer inits in before_perform in DID state
|
|
|
-
|
|
|
- ... since the state machine might go to RATELIMITING and then back to
|
|
|
- PERFORMING doing once-per-transfer inits in that function is wrong and
|
|
|
- it caused problems with receiving chunked HTTP and it set the
|
|
|
- PRETRANSFER time much too often...
|
|
|
+- [David Hu brought this change]
|
|
|
+
|
|
|
+ docs/HTTP3.md: update the build instruction using gnutls
|
|
|
|
|
|
- Regression from b68dc34af341805aeb7b3715 (shipped in 7.75.0)
|
|
|
+ In ngtcp2 the `with-gnutls` option is disabled by default, which will
|
|
|
+ cause `curl` unable to be `make` because of lacking the libraries
|
|
|
+ needed.
|
|
|
|
|
|
- Reported-by: Amaury Denoyelle
|
|
|
- Fixes #6640
|
|
|
- Closes #6641
|
|
|
+ Closes #6857
|
|
|
|
|
|
- RELEASE-NOTES: synced
|
|
|
|
|
|
-- CODE_STYLE.md: fix broken link to INTERNALS
|
|
|
+- typecheck-gcc: make the ssl-ctx-cb check use SSL_CTX pointers
|
|
|
|
|
|
- ... the link would only work if browsed on GitHub, while this link now
|
|
|
- takes the user to the website instead and thus should work on either.
|
|
|
+ ... and not values.
|
|
|
|
|
|
- Reported-by: David Demelier
|
|
|
+ Reported-by: locpyl-tidnyd on github
|
|
|
+ Fixes #6818
|
|
|
+ Closes #6819
|
|
|
|
|
|
-- curl_url_set.3: mention CURLU_PATH_AS_IS
|
|
|
-
|
|
|
- ... it has been supported since the URL API was added.
|
|
|
+- ngtcp2+gnutls: clear credentials when freed
|
|
|
|
|
|
- Bug: https://curl.se/mail/lib-2021-02/0046.html
|
|
|
+ ... to avoid double-free.
|
|
|
|
|
|
- Closes #6638
|
|
|
+ Reported-by: Kenneth Davidson
|
|
|
+ Fixes #6824
|
|
|
+ Closes #6856
|
|
|
|
|
|
-Viktor Szakats (21 Feb 2021)
|
|
|
-- time: enable 64-bit time_t in supported mingw environments
|
|
|
-
|
|
|
- (Unless 32-bit `time_t` is selected manually via the `_USE_32BIT_TIME_T`
|
|
|
- mingw macro.)
|
|
|
-
|
|
|
- Previously, 64-bit `time_t` was enabled on VS2005 and newer only, and
|
|
|
- 32-bit `time_t` was used on all other Windows builds.
|
|
|
-
|
|
|
- Assisted-by: Jay Satiro
|
|
|
- Closes #6636
|
|
|
+Jay Satiro (5 Apr 2021)
|
|
|
+- [Cherish98 brought this change]
|
|
|
|
|
|
-Jay Satiro (20 Feb 2021)
|
|
|
-- test1188: Check for --fail HTTP status
|
|
|
+ tool_progress: Fix progress meter in parallel mode
|
|
|
|
|
|
- - Change the test to check for curl error on HTTP 404 Not Found.
|
|
|
+ Make sure the total amount of DL/UL bytes are counted before the
|
|
|
+ transfer finalizes. Otherwise if a transfer finishes too quick, its
|
|
|
+ total numbers are not added, and results in a DL%/UL% that goes above
|
|
|
+ 100%.
|
|
|
|
|
|
- test1188 tests "--write-out with %{onerror} and %{urlnum} to stderr".
|
|
|
- Prior to this change it did that by specifying a non-existent host which
|
|
|
- would cause an error. ISPs may hijack DNS and resolve non-existent hosts
|
|
|
- so the test would not work if that was the case.
|
|
|
+ Detail:
|
|
|
|
|
|
- Ref: https://en.wikipedia.org/wiki/DNS_hijacking#Manipulation_by_ISPs
|
|
|
- Ref: https://github.com/curl/curl/issues/6621
|
|
|
- Ref: https://github.com/curl/curl/pull/6623
|
|
|
+ progress_meter() is called periodically, and it may not catch a
|
|
|
+ transfer's total bytes if the value was unknown during the last call,
|
|
|
+ and the transfer is finished and deleted (i.e., lost) during the next
|
|
|
+ call.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6637
|
|
|
+ Closes https://github.com/curl/curl/pull/6840
|
|
|
|
|
|
-- memdebug: close debug logfile explicitly on exit
|
|
|
-
|
|
|
- - Use atexit to register a dbg cleanup function that closes the logfile.
|
|
|
+- [Emil Engler brought this change]
|
|
|
+
|
|
|
+ libssh: get rid of PATH_MAX
|
|
|
|
|
|
- LeakSantizier (LSAN) calls _exit() instead of exit() when a leak is
|
|
|
- detected on exit so the logfile must be closed explicitly or data could
|
|
|
- be lost. Though _exit() does not call atexit handlers such as this,
|
|
|
- LSAN's call to _exit() comes after the atexit handlers are called.
|
|
|
+ This removes the last occurrence of PATH_MAX inside our libssh
|
|
|
+ implementation by calculating the path length from the string length of
|
|
|
+ the two components.
|
|
|
|
|
|
- Prior to this change the logfile was not explicitly closed so it was
|
|
|
- possible that if LSAN detected a leak and called _exit (which does
|
|
|
- not flush or close files like exit) then the logfile could be missing
|
|
|
- data. That could then cause curl's memanalyze to report false leaks
|
|
|
- (eg a malloc was recorded to the logfile but the corresponding free was
|
|
|
- discarded from the buffer instead of written to the logfile, then
|
|
|
- memanalyze reports that as a leak).
|
|
|
+ Closes #6829
|
|
|
+
|
|
|
+Daniel Stenberg (5 Apr 2021)
|
|
|
+- http_proxy: only loop on 407 + close if we have credentials
|
|
|
|
|
|
- Ref: https://github.com/google/sanitizers/issues/1374
|
|
|
+ ... to fix the retry-loop.
|
|
|
|
|
|
- Bug: https://github.com/curl/curl/pull/6591#issuecomment-780396541
|
|
|
+ Add test 718 to verify.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6620
|
|
|
+ Reported-by: Daniel Kurečka
|
|
|
+ Fixes #6828
|
|
|
+ Closes #6850
|
|
|
|
|
|
-- curl_multibyte: always return a heap-allocated copy of string
|
|
|
-
|
|
|
- - Change the Windows char <-> UTF-8 conversion functions to return an
|
|
|
- allocated copy of the passed in string instead of the original.
|
|
|
-
|
|
|
- Prior to this change the curlx_convert_ functions would, as what I
|
|
|
- assume was an optimization, not make a copy of the passed in string if
|
|
|
- no conversion was required. No conversion is required in non-UNICODE
|
|
|
- Windows builds since our tchar strings are type char and remain in
|
|
|
- whatever the passed in encoding is, which is assumed to be UTF-8 but may
|
|
|
- be other encoding.
|
|
|
+- h2: allow 100 streams by default
|
|
|
|
|
|
- In contrast the UNICODE Windows builds require conversion
|
|
|
- (wchar <-> char) and do return a copy. That inconsistency could lead to
|
|
|
- programming errors where the developer expects a copy, and does not
|
|
|
- realize that won't happen in all cases.
|
|
|
+ instead of 13, before the server has told how many streams it
|
|
|
+ accepts. The server can always reject new streams anyway if we go above
|
|
|
+ what it accepts.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6602
|
|
|
+ Ref: #6826
|
|
|
+ Closes #6852
|
|
|
|
|
|
-Viktor Szakats (19 Feb 2021)
|
|
|
-- http: add new files missed from referrer commit
|
|
|
-
|
|
|
- Ref: 44872aefc2d54f297caf2b0cc887df321bc9d791
|
|
|
- Ref: #6591
|
|
|
+- [Luke Granger-Brown brought this change]
|
|
|
|
|
|
-- http: add support to read and store the referrer header
|
|
|
-
|
|
|
- - add CURLINFO_REFERER libcurl option
|
|
|
- - add --write-out '%{referer}' command-line option
|
|
|
- - extend --xattr command-line option to fill user.xdg.referrer.url extended
|
|
|
- attribute with the referrer (if there was any)
|
|
|
+ file: support GETing directories again
|
|
|
|
|
|
- Closes #6591
|
|
|
-
|
|
|
-Daniel Stenberg (19 Feb 2021)
|
|
|
-- urldata: remove the _ORIG suffix from string names
|
|
|
+ After 957bc1881e686f9714c4e6a01bf33535091f0e21, we no longer compute an
|
|
|
+ expected_size for directories. This has the upshot that when we compare
|
|
|
+ even an empty Range with the available size, we fail.
|
|
|
|
|
|
- It doesn't provide any useful info but only makes the names longer.
|
|
|
+ This brings back the previous behaviour, which was to succeed, but with
|
|
|
+ empty content. This also removes the "Accept-ranges: bytes" header,
|
|
|
+ which is nonsensical on directories.
|
|
|
|
|
|
- Closes #6624
|
|
|
+ Adds test 3016
|
|
|
+ Fixes #6845
|
|
|
+ Closes #6846
|
|
|
|
|
|
-- url: fix memory leak if OOM in the HSTS handling
|
|
|
-
|
|
|
- Reported-by: Viktor Szakats
|
|
|
- Bug: https://github.com/curl/curl/pull/6627#issuecomment-781626205
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- Closes #6628
|
|
|
+ and bumped to 7.76.1
|
|
|
|
|
|
-- gnutls: assume nettle crypto support
|
|
|
+- TLS: fix HTTP/2 selection
|
|
|
|
|
|
- nettle has been the default crypto library with GnuTLS since 2010. By
|
|
|
- dropping support for the previous libcrypto, we simplify code.
|
|
|
+ for GnuTLS, BearSSL, mbedTLS, NSS, SChannnel, Secure Transport and
|
|
|
+ wolfSSL...
|
|
|
|
|
|
- Closes #6625
|
|
|
+ Regression since 88dd1a8a115b1f5ece (shipped in 7.76.0)
|
|
|
+ Reported-by: Kenneth Davidson
|
|
|
+ Reported-by: romamik om github
|
|
|
+ Fixes #6825
|
|
|
+ Closes #6827
|
|
|
|
|
|
-- asyn-ares: use consistent resolve error message
|
|
|
+Jay Satiro (2 Apr 2021)
|
|
|
+- hostip: Fix for builds that disable all asynchronous DNS
|
|
|
|
|
|
- ... with the help of Curl_resolver_error() which now is moved from
|
|
|
- asyn-thead.c and is provided globally for this purpose.
|
|
|
+ - Define Curl_resolver_error function only when USE_CURL_ASYNC.
|
|
|
|
|
|
- Follow-up to 35ca04ce1b77636
|
|
|
+ Prior to this change building curl without an asynchronous resolver
|
|
|
+ backend (c-ares or threaded) and without DoH (DNS-over-HTTPS, which is
|
|
|
+ also asynchronous but independent of resolver backend) would cause a
|
|
|
+ build error since Curl_resolver_error is called by and evaluates
|
|
|
+ variables only available in asynchronous builds.
|
|
|
|
|
|
- Makes test 1188 work for c-ares builds
|
|
|
+ Reported-by: Benbuck Nason
|
|
|
|
|
|
- Closes #6626
|
|
|
+ Fixes https://github.com/curl/curl/issues/6831
|
|
|
+ Closes https://github.com/curl/curl/pull/6832
|
|
|
|
|
|
-Viktor Szakats (18 Feb 2021)
|
|
|
-- ci: stop building on freebsd-12-1
|
|
|
-
|
|
|
- An updated freebsd-12-2 image was added a few months ago, and this
|
|
|
- older one is consistently failing to go past `pkginstall`:
|
|
|
- ```
|
|
|
- Newer FreeBSD version for package py37-mlt:
|
|
|
- To ignore this error set IGNORE_OSVERSION=yes
|
|
|
- - package: 1202000
|
|
|
- - running kernel: 1201000
|
|
|
- Ignore the mismatch and continue? [Y/n]: pkg: repository FreeBSD contains packages for wrong OS version: FreeBSD:12:amd64
|
|
|
- ```
|
|
|
+Daniel Stenberg (31 Mar 2021)
|
|
|
+- [Gilles Vollant brought this change]
|
|
|
+
|
|
|
+ openssl: Fix CURLOPT_SSLCERT_BLOB without CURLOPT_SSLCERT_KEY
|
|
|
|
|
|
- FreeBSD thread suggests that 12.1 is EOL, and best to avoid.
|
|
|
+ Reported-by: Christian Schmitz
|
|
|
+ Fixes #6816
|
|
|
+ Closes #6820
|
|
|
+
|
|
|
+Version 7.76.0 (31 Mar 2021)
|
|
|
+
|
|
|
+Daniel Stenberg (31 Mar 2021)
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- Ref: https://forums.freebsd.org/threads/78856/
|
|
|
+ curl 7.76.0 release
|
|
|
+
|
|
|
+- THANKS: added names from 7.76.0
|
|
|
+
|
|
|
+- CURLOPT_AUTOREFERER.3: clarify that it sets the full URL
|
|
|
|
|
|
- Reviewed-by: Daniel Stenberg
|
|
|
- Closes #6622
|
|
|
+ ... some users may not want that!
|
|
|
|
|
|
-Daniel Stenberg (18 Feb 2021)
|
|
|
-- test1188: change error from connect to resolve error
|
|
|
+- define: remove CURL_DISABLE_NTLM ifdefs
|
|
|
|
|
|
- Using the %NOLISTENPORT to trigger a connection failure is somewhat
|
|
|
- "risky" (since it isn't guaranteed to not be listened to) and caused
|
|
|
- occasional CI problems. This fix changes the infused error to be a more
|
|
|
- reliable one but still verifies the --write-out functionality properly -
|
|
|
- which is the purpose of this test.
|
|
|
+ It was never defined anywhere. Fixed disable-scan (test 1165) to also
|
|
|
+ scan headers, which found this issue.
|
|
|
|
|
|
- Reported-by: Jay Satiro
|
|
|
- Fixes #6621
|
|
|
- Closes #6623
|
|
|
+ Closes #6809
|
|
|
|
|
|
-- url.c: use consistent error message for failed resolve
|
|
|
+- vtls: fix addsessionid for non-proxy builds
|
|
|
+
|
|
|
+ Follow-up to b09c8ee15771c61
|
|
|
+ Fixes #6812
|
|
|
+ Closes #6811
|
|
|
|
|
|
-- BUGS: language polish
|
|
|
+- [Li Xinwei brought this change]
|
|
|
|
|
|
-- wolfssl: don't store a NULL sessionid
|
|
|
-
|
|
|
- This caused a memory leak as the session id cache entry was still
|
|
|
- erroneously stored with a NULL sessionid and that would later be treated
|
|
|
- as not needed to get freed.
|
|
|
+ cmake: support WinIDN
|
|
|
|
|
|
- Reported-by: Gisle Vanem
|
|
|
- Fixes #6616
|
|
|
- Closes #6617
|
|
|
+ Closes #6807
|
|
|
|
|
|
-- parse_proxy: fix a memory leak in the OOM path
|
|
|
+- transfer: clear 'referer' in declaration
|
|
|
|
|
|
- Reported-by: Jay Satiro
|
|
|
- Reviewed-by: Jay Satiro
|
|
|
- Reviewed-by: Emil Engler
|
|
|
+ To silence (false positive) compiler warnings about it.
|
|
|
|
|
|
- Closes #6614
|
|
|
- Bug: https://github.com/curl/curl/pull/6591#issuecomment-780396541
|
|
|
+ Follow-up to 7214288898f5625
|
|
|
+
|
|
|
+ Reviewed-by: Marcel Raad
|
|
|
+ Closes #6810
|
|
|
|
|
|
-Jay Satiro (17 Feb 2021)
|
|
|
-- url: fix possible use-after-free in default protocol
|
|
|
+- [Marc Hoersken brought this change]
|
|
|
+
|
|
|
+ config: fix SSPI enabling NTLM if crypto auth is disabled
|
|
|
|
|
|
- Prior to this change if the user specified a default protocol and a
|
|
|
- separately allocated non-absolute URL was used then it was freed
|
|
|
- prematurely, before it was then used to make the replacement URL.
|
|
|
+ Avoid enabling NTLM feature based upon Windows SSPI
|
|
|
+ being enabled in case that crypto auth is disabled.
|
|
|
|
|
|
- Bug: https://github.com/curl/curl/issues/6604#issuecomment-780138219
|
|
|
- Reported-by: arvids-kokins-bidstack@users.noreply.github.com
|
|
|
+ Reported-by: Marcel Raad
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6613
|
|
|
+ Follow-up to #6277
|
|
|
+ Fixes #6803
|
|
|
+ Closes #6808
|
|
|
|
|
|
-Daniel Stenberg (16 Feb 2021)
|
|
|
-- multi: rename the multi transfer states
|
|
|
+- HISTORY: add two 2021 events
|
|
|
+
|
|
|
+- vtls: add 'isproxy' argument to Curl_ssl_get/addsessionid()
|
|
|
|
|
|
- While working on documenting the states it dawned on me that step one is
|
|
|
- to use more descriptive names on the states. This also changes prefix on
|
|
|
- the states to make them shorter in the source.
|
|
|
+ To make sure we set and extract the correct session.
|
|
|
|
|
|
- State names NOT ending with *ing are transitional ones.
|
|
|
+ Reported-by: Mingtao Yang
|
|
|
+ Bug: https://curl.se/docs/CVE-2021-22890.html
|
|
|
|
|
|
- Closes #6612
|
|
|
+ CVE-2021-22890
|
|
|
|
|
|
-Viktor Szakats (16 Feb 2021)
|
|
|
-- http: do not add a referrer header with empty value
|
|
|
+- [Viktor Szakats brought this change]
|
|
|
+
|
|
|
+ transfer: strip credentials from the auto-referer header field
|
|
|
|
|
|
- Previously an empty 'Referer:' header was added to the HTTP request when
|
|
|
- passing `--referer ';auto'` or `--referer ''` on the command-line. This
|
|
|
- patch makes `--referer` work like `--header 'Referer:'` and will only add
|
|
|
- the header if it has a non-zero length value.
|
|
|
+ Added test 2081 to verify.
|
|
|
|
|
|
- Reviewed-by: Jay Satiro
|
|
|
- Closes #6610
|
|
|
+ CVE-2021-22876
|
|
|
+
|
|
|
+ Bug: https://curl.se/docs/CVE-2021-22876.html
|
|
|
|
|
|
-Daniel Stenberg (16 Feb 2021)
|
|
|
-- lib: remove 'conn->data' completely
|
|
|
+- curl_sasl: fix compiler error with --disable-crypto-auth
|
|
|
|
|
|
- The Curl_easy pointer struct entry in connectdata is now gone. Just
|
|
|
- before commit 215db086e0 landed on January 8, 2021 there were 919
|
|
|
- references to conn->data.
|
|
|
+ ... if libgsasl was found.
|
|
|
|
|
|
- Closes #6608
|
|
|
+ Closes #6806
|
|
|
|
|
|
-- openldap: pass 'data' to the callbacks instead of 'conn'
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
|
|
|
-Jay Satiro (15 Feb 2021)
|
|
|
-- doh: Fix sharing user's resolve list with DOH handles
|
|
|
+ ldap: only set the callback ptr for TLS context when TLS is used
|
|
|
|
|
|
- - Share the shared object from the user's easy handle with the DOH
|
|
|
- handles.
|
|
|
+ Follow-up to a5eee22e594c2460f
|
|
|
+ Fixes #6804
|
|
|
+ Closes #6805
|
|
|
+
|
|
|
+- copyright: update copyright year ranges to 2021
|
|
|
|
|
|
- Prior to this change if the user had set a shared object with shared
|
|
|
- cached DNS (CURL_LOCK_DATA_DNS) for their easy handle then that wasn't
|
|
|
- used by any associated DOH handles, since they used the multi's default
|
|
|
- hostcache.
|
|
|
+ Reviewed-by: Emil Engler
|
|
|
+ Closes #6802
|
|
|
+
|
|
|
+- send_speed: simplify the checks for if a speed limit is set
|
|
|
|
|
|
- This change means all the handles now use the same hostcache, which is
|
|
|
- either the shared hostcache from the user created shared object if it
|
|
|
- exists or if not then the multi's default hostcache.
|
|
|
+ ... as we know the value cannot be set to negative: enforced by
|
|
|
+ setopt()
|
|
|
+
|
|
|
+- http: cap body data amount during send speed limiting
|
|
|
|
|
|
- Reported-by: Manuj Bhatia
|
|
|
+ By making sure never to send off more than the allowed number of bytes
|
|
|
+ per second the speed limit logic is given more room to actually work.
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/6589
|
|
|
- Closes https://github.com/curl/curl/pull/6607
|
|
|
+ Reported-by: Fabian Keil
|
|
|
+ Bug: https://curl.se/mail/lib-2021-03/0042.html
|
|
|
+ Closes #6797
|
|
|
|
|
|
-Daniel Stenberg (15 Feb 2021)
|
|
|
-- http2: remove conn->data use
|
|
|
+- urldata: merge "struct DynamicStatic" into "struct UrlState"
|
|
|
|
|
|
- ... but instead use a private alternative that points to the "driving
|
|
|
- transfer" from the connection. We set the "user data" associated with
|
|
|
- the connection to be the connectdata struct, but when we drive transfers
|
|
|
- the code still needs to know the pointer to the transfer. We can change
|
|
|
- the user data to become the Curl_easy handle, but with older nghttp2
|
|
|
- version we cannot dynamically update that pointer properly when
|
|
|
- different transfers are used over the same connection.
|
|
|
+ Both were used for the same purposes and there was no logical separation
|
|
|
+ between them. Combined, this also saves 16 bytes in less holes in my
|
|
|
+ test build.
|
|
|
|
|
|
- Closes #6520
|
|
|
+ Closes #6798
|
|
|
|
|
|
-- openssl: remove conn->data use
|
|
|
+- tests/README.md: mentioned that en_US.UTF-8 is required
|
|
|
|
|
|
- We still make the trace callback function get the connectdata struct
|
|
|
- passed to it, since the callback is anchored on the connection.
|
|
|
+ Reported-by: Oumph on github
|
|
|
+ Fixes #6768
|
|
|
+
|
|
|
+- HISTORY: fixed the Mac OS X 10.1 release date
|
|
|
|
|
|
- Repeatedly updating the callback pointer to set 'data' with
|
|
|
- SSL_CTX_set_msg_callback_arg() doesn't seem to work, probably because
|
|
|
- there might already be messages in the queue with the old pointer.
|
|
|
+ Based on what Wikipedia says
|
|
|
+
|
|
|
+Jay Satiro (26 Mar 2021)
|
|
|
+- examples: Remove threaded-shared-conn.c due to bug
|
|
|
|
|
|
- This code therefore makes sure to set the "logger" handle before using
|
|
|
- OpenSSL calls so that the right easy handle gets used for tracing.
|
|
|
+ Known bug 11.11 is the shared object's connection cache is not thread
|
|
|
+ safe, so we should not have an example for it.
|
|
|
|
|
|
- Closes #6522
|
|
|
-
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+ Ref: https://github.com/curl/curl/issues/4915
|
|
|
+ Ref: https://curl.se/docs/knownbugs.html#A_shared_connection_cache_is_not
|
|
|
+
|
|
|
+ Closes https://github.com/curl/curl/pull/6795
|
|
|
|
|
|
-Jay Satiro (14 Feb 2021)
|
|
|
-- doh: add options to disable ssl verification
|
|
|
+- KNOWN_BUGS: Update 11.9 - DoH option inheritance
|
|
|
|
|
|
- - New libcurl options CURLOPT_DOH_SSL_VERIFYHOST,
|
|
|
- CURLOPT_DOH_SSL_VERIFYPEER and CURLOPT_DOH_SSL_VERIFYSTATUS do the
|
|
|
- same as their respective counterparts.
|
|
|
+ - Add description: Explain that some options aren't inherited because
|
|
|
+ they are not relevant for the DoH SSL connections or may result in
|
|
|
+ unexpected behavior.
|
|
|
|
|
|
- - New curl tool options --doh-insecure and --doh-cert-status do the same
|
|
|
- as their respective counterparts.
|
|
|
+ - Remove the reference to #4578 (SSL verify options not inherited) since
|
|
|
+ that was fixed by #6597 (separate DoH-specific options for verify).
|
|
|
|
|
|
- Prior to this change DOH SSL certificate verification settings for
|
|
|
- verifyhost and verifypeer were supposed to be inherited respectively
|
|
|
- from CURLOPT_SSL_VERIFYHOST and CURLOPT_SSL_VERIFYPEER, but due to a bug
|
|
|
- were not. As a result DOH verification remained at the default, ie
|
|
|
- enabled, and it was not possible to disable. This commit changes
|
|
|
- behavior so that the DOH verification settings are independent and not
|
|
|
- inherited.
|
|
|
+ - Explain that DoH-specific options (those created by #6597) are
|
|
|
+ available: CURLOPT_DOH_SSL_VERIFYHOST, CURLOPT_DOH_SSL_VERIFYPEER and
|
|
|
+ CURLOPT_DOH_SSL_VERIFYSTATUS.
|
|
|
|
|
|
- Ref: https://github.com/curl/curl/pull/4579#issuecomment-554723676
|
|
|
+ - Add a reference to #6605 and explain that the user's debug function is
|
|
|
+ not inherited because it would be unexpected to pass internal handles
|
|
|
+ (ie DoH handles) to the user's callback.
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/4578
|
|
|
- Closes https://github.com/curl/curl/pull/6597
|
|
|
+ Closes https://github.com/curl/curl/issues/6605
|
|
|
|
|
|
-- hostip: fix crash in sync resolver builds that use DOH
|
|
|
+Daniel Stenberg (26 Mar 2021)
|
|
|
+- curl_easy_setopt.3: add curl_easy_option* functions to SEE ALSO
|
|
|
+
|
|
|
+- [Jean-Philippe Menil brought this change]
|
|
|
+
|
|
|
+ openssl: ensure to check SSL_CTX_set_alpn_protos return values
|
|
|
|
|
|
- - Guard some Curl_async accesses with USE_CURL_ASYNC instead of
|
|
|
- !CURLRES_SYNCH.
|
|
|
+ SSL_CTX_set_alpn_protos() return 0 on success, and non-0 on failure
|
|
|
|
|
|
- This is another follow-up to 8335c64 which moved the async struct from
|
|
|
- the connectdata struct into the Curl_easy struct. A previous follow-up
|
|
|
- 6cd167a fixed building for sync resolver by guarding some async struct
|
|
|
- accesses with !CURLRES_SYNCH. The problem is since DOH (DNS-over-HTTPS)
|
|
|
- is available as an asynchronous secondary resolver the async struct may
|
|
|
- be used even when libcurl is built for the sync resolver. That means
|
|
|
- that CURLRES_SYNCH and USE_CURL_ASYNC may be defined at the same time.
|
|
|
+ Signed-off-by: Jean-Philippe Menil <jpmenil@gmail.com>
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6603
|
|
|
+ Closes #6794
|
|
|
|
|
|
-Daniel Stenberg (13 Feb 2021)
|
|
|
-- KNOWN_BUGS: cannot enable LDAPS on Windows with cmake
|
|
|
+- multi: close the connection when h2=>h1 downgrading
|
|
|
+
|
|
|
+ Otherwise libcurl is likely to reuse the connection again in the next
|
|
|
+ attempt since the connection reuse logic doesn't take downgrades into
|
|
|
+ account.
|
|
|
+
|
|
|
+ Reported-by: Anthony Ramine
|
|
|
+ Fixes #6788
|
|
|
+ Closes #6793
|
|
|
+
|
|
|
+- openssl: set the transfer pointer for logging early
|
|
|
+
|
|
|
+ Otherwise, the transfer will be NULL in the trace function when the
|
|
|
+ early handshake details arrive and then curl won't show them.
|
|
|
|
|
|
- Reported-by: Jack Boos Yu
|
|
|
- Closes #6284
|
|
|
+ Regresssion in 7.75.0
|
|
|
+
|
|
|
+ Reported-by: David Hu
|
|
|
+ Fixes #6783
|
|
|
+ Closes #6792
|
|
|
|
|
|
-- KNOWN_BUGS: Excessive HTTP/2 packets with TCP_NODELAY
|
|
|
+- RELEASE-NOTES: synced
|
|
|
+
|
|
|
+- TODO: Custom progress meter update interval
|
|
|
|
|
|
- Reported-by: Alex Xu
|
|
|
- Closes #6363
|
|
|
+ Ref: https://stackoverflow.com/q/66789977/93747
|
|
|
|
|
|
-- http: use credentials from transfer, not connection
|
|
|
+- docs/ABI: tighten up the language
|
|
|
|
|
|
- HTTP auth "accidentally" worked before this cleanup since the code would
|
|
|
- always overwrite the connection credentials with the credentials from
|
|
|
- the most recent transfer and since HTTP auth is typically done first
|
|
|
- thing, this has not been an issue. It was still wrong and subject to
|
|
|
- possible race conditions or future breakage if the sequence of functions
|
|
|
- would change.
|
|
|
+ Make the promises more firm
|
|
|
|
|
|
- The data.set.str[] strings MUST remain unmodified exactly as set by the
|
|
|
- user, and the credentials to use internally are instead set/updated in
|
|
|
- state.aptr.*
|
|
|
+ Closes #6786
|
|
|
+
|
|
|
+- openldap: disconnect better
|
|
|
|
|
|
- Added test 675 to verify different credentials used in two requests done
|
|
|
- over a reused HTTP connection, which previously behaved wrongly.
|
|
|
+ Instead of clearing the callback argument in disconnect, set it to the
|
|
|
+ (new) transfer to make sure the correct data is passed to the callbacks.
|
|
|
|
|
|
- Fixes #6542
|
|
|
- Closes #6545
|
|
|
+ Follow-up to e467ea3bd937f38
|
|
|
+ Assisted-by: Patrick Monnerat
|
|
|
+ Closes #6787
|
|
|
|
|
|
-- test433: clear some home dir env variables
|
|
|
+- libssh2: kdb_callback: get the right struct pointer
|
|
|
|
|
|
- Follow-up to bd6b54ba1f55b5
|
|
|
+ After the recent conn/data refactor in this source file, this function
|
|
|
+ was mistakenly still getting the old struct pointer which would lead to
|
|
|
+ crash on servers with keyboard-interactive auth enabled.
|
|
|
|
|
|
- ... so that XDG_CONFIG_HOME is the only home dir variable set and thus
|
|
|
- used correctly in the test!
|
|
|
+ Follow-up to a304051620b92e12b (shipped in 7.75.0)
|
|
|
|
|
|
- Fixes #6599
|
|
|
- Closes #6600
|
|
|
+ Reported-by: Christian Schmitz
|
|
|
+ Fixes #6691
|
|
|
+ Closes #6782
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+- tftp: remove unused struct fields
|
|
|
|
|
|
- bumped the version to 7.76.0
|
|
|
+ Follow-up to d3d90ad9c00530d
|
|
|
+
|
|
|
+ Closes #6781
|
|
|
|
|
|
-- travis: install libgsasl-dev to add that to the builds
|
|
|
+- openldap: avoid NULL pointer dereferences
|
|
|
|
|
|
- Closes #6588
|
|
|
+ Follow-up to a59c33ceffb8f78
|
|
|
+ Reported-by: Patrick Monnerat
|
|
|
+ Fixes #6676
|
|
|
+ Closes #6780
|
|
|
|
|
|
-- urldata: don't touch data->set.httpversion at run-time
|
|
|
+- http: strip default port from URL sent to proxy
|
|
|
|
|
|
- Rename it to 'httpwant' and make a cloned field in the state struct as
|
|
|
- well for run-time updates.
|
|
|
+ To make sure the Host: header and the URL provide the same authority
|
|
|
+ portion when sent to the proxy, strip the default port number from the
|
|
|
+ URL if one was provided.
|
|
|
|
|
|
- Also: refuse non-supported HTTP versions. Verified with test 129.
|
|
|
+ Reported-by: Michael Brown
|
|
|
+ Fixes #6769
|
|
|
+ Closes #6778
|
|
|
+
|
|
|
+- azure: disable test 433 on azure-ubuntu
|
|
|
|
|
|
- Closes #6585
|
|
|
+ Something in that environment sets XDG_CONFIG_HOME for us in a way that
|
|
|
+ breaks the test.
|
|
|
+
|
|
|
+ Reported-by: Marc Hörsken
|
|
|
+ Fixes #6739
|
|
|
+ Closes #6777
|
|
|
|
|
|
-Viktor Szakats (11 Feb 2021)
|
|
|
-- tests: disable .curlrc in more environments
|
|
|
+- tftp: remove the 3600 second default timeout
|
|
|
|
|
|
- by also setting CURL_HOME and XDG_CONFIG_HOME envvars to the local
|
|
|
- directory.
|
|
|
+ ... it was never meant to be there.
|
|
|
|
|
|
- Reviewed-by: Daniel Stenberg
|
|
|
- Fixes #6595
|
|
|
- Closes #6596
|
|
|
+ Reported-by: Tomas Berger
|
|
|
+ Fixes #6774
|
|
|
+ Closes #6776
|
|
|
|
|
|
-- docs/Makefile.inc: format to be update-friendly
|
|
|
+- docs: make gen.pl support *italic* and **bold**
|
|
|
|
|
|
- - one source file per line
|
|
|
- - convert tabs to spaces
|
|
|
- - do not align line-continuation backslashes
|
|
|
- - sort source files alphabetically
|
|
|
+ Remove some nroffisms from the cmdline doc files to simplify editing,
|
|
|
+ and instead support this markdown style.
|
|
|
|
|
|
- Reviewed-by: Daniel Stenberg
|
|
|
- Closes #6593
|
|
|
+ Closes #6771
|
|
|
|
|
|
-Daniel Stenberg (11 Feb 2021)
|
|
|
-- curl: provide libgsasl version and feature info in -V output
|
|
|
+- ngtcp2: sync with recent API updates
|
|
|
|
|
|
- Closes #6592
|
|
|
+ Closes #6770
|
|
|
|
|
|
-- gsasl: provide CURL_VERSION_GSASL if built-in
|
|
|
+- RELEASE-NOTES: synced
|
|
|
+
|
|
|
+- libssh2:ssh_connect: clear session pointer after free
|
|
|
|
|
|
- To let applications know the feature is available.
|
|
|
+ If libssh2_knownhost_init() returns NULL, like in an OOM situation, the
|
|
|
+ ssh session was freed but the pointer wasn't cleared which made libcurl
|
|
|
+ later call libssh2 to cleanup using the stale pointer.
|
|
|
|
|
|
- Closes #6592
|
|
|
+ Fixes #6764
|
|
|
+ Closes #6766
|
|
|
|
|
|
-- curl: add --fail-with-body
|
|
|
+- [Jacob Hoffman-Andrews brought this change]
|
|
|
+
|
|
|
+ docs: document version of crustls dependency
|
|
|
|
|
|
- Prevent both --fail and --fail-with-body on the same command line.
|
|
|
+ This also pins a specific release in the Travis test so future
|
|
|
+ API-breaking changins in crustls won't break curl builds.
|
|
|
|
|
|
- Verify with test 349, 360 and 361.
|
|
|
+ Add RUSTLS documentation to release tarball.
|
|
|
|
|
|
- Closes #6449
|
|
|
-
|
|
|
-- TODO: remove HSTS
|
|
|
+ Enable running tests for rustls, minus FTP tests (require
|
|
|
+ connect_blocking, which rustls doesn't implement) and 313 (requires CRL
|
|
|
+ handling).
|
|
|
|
|
|
- Provided now since commit 7385610d0c74
|
|
|
+ Closes #6763
|
|
|
|
|
|
-Jay Satiro (10 Feb 2021)
|
|
|
-- tests: Fix tests failing due to change in curl --help
|
|
|
-
|
|
|
- Follow-up to parent 3183217 which added add missing <mode> argument to
|
|
|
- --create-file-mode <mode>.
|
|
|
-
|
|
|
- Ref: https://github.com/curl/curl/issues/6590
|
|
|
+- [Jacob Hoffman-Andrews brought this change]
|
|
|
|
|
|
-- tool_help: add missing argument for --create-file-mode
|
|
|
+ rustls: Handle close_notify.
|
|
|
|
|
|
- Prior to this change the required argument was not shown in curl --help.
|
|
|
+ If we get a close_notify, treat that as EOF. If we get an EOF from the
|
|
|
+ TCP stream, treat that as an error (because we should have ended the
|
|
|
+ connection earlier, when we got a close_notify).
|
|
|
|
|
|
- before:
|
|
|
- --create-file-mode File mode for created files
|
|
|
+ Closes #6763
|
|
|
+
|
|
|
+- docs: clarify timeouts for queued transfers in multi API
|
|
|
|
|
|
- after:
|
|
|
- --create-file-mode <mode> File mode (octal) for created files
|
|
|
+ Closes #6758
|
|
|
+
|
|
|
+- ftpserver: only load the preprocessed test file
|
|
|
|
|
|
- Reported-by: ZimCodes@users.noreply.github.com
|
|
|
+ We always preprocess and tests are no longer sensible to load "raw"
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/6590
|
|
|
+ Closes #6738
|
|
|
|
|
|
-- create-file-mode.d: add missing Arg tag
|
|
|
+- tests: use %TESTNUMBER instead of fixed number
|
|
|
|
|
|
- Prior to this change the required argument was not shown.
|
|
|
+ This makes the tests easier to copy and relocate to other test numbers
|
|
|
+ without having to update content.
|
|
|
|
|
|
- curl.1 before: --create-file-mode
|
|
|
- curl.1 after: --create-file-mode <mode>
|
|
|
+ Closes #6738
|
|
|
+
|
|
|
+- KNOWN_BUGS: CURLOPT_OPENSOCKETPAIRFUNCTION is missing
|
|
|
|
|
|
- Reported-by: ZimCodes@users.noreply.github.com
|
|
|
+ Closes #5747
|
|
|
+
|
|
|
+- TODO: provide timing info for each redirect
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/6590
|
|
|
+ Closes #6743
|
|
|
|
|
|
-Viktor Szakats (10 Feb 2021)
|
|
|
-- gsasl: fix errors/warnings building against libgsasl
|
|
|
+Jay Satiro (17 Mar 2021)
|
|
|
+- docs: Add SSL backend names to CURL_SSL_BACKEND
|
|
|
|
|
|
- - also fix an indentation
|
|
|
- - make Curl_auth_gsasl_token() use CURLcode (by Daniel Stenberg)
|
|
|
+ - Document the names that can be used with CURL_SSL_BACKEND:
|
|
|
+ bearssl, gnutls, gskit, mbedtls, mesalink, nss, openssl, rustls,
|
|
|
+ schannel, secure-transport, wolfssl
|
|
|
|
|
|
- Ref: https://github.com/curl/curl/pull/6372#issuecomment-776118711
|
|
|
- Ref: https://github.com/curl/curl/pull/6588
|
|
|
+ Ref: https://github.com/curl/curl/issues/2209#issuecomment-360623286
|
|
|
+ Ref: https://github.com/curl/curl/issues/6717#issuecomment-800745201
|
|
|
|
|
|
- Reviewed-by: Jay Satiro
|
|
|
- Assisted-by: Daniel Stenberg
|
|
|
- Reviewed-by: Simon Josefsson
|
|
|
- Closes #6587
|
|
|
+ Closes https://github.com/curl/curl/pull/6755
|
|
|
|
|
|
-- Makefile.m32: add support for libgsasl dependency
|
|
|
+- docs: Explain DOH transfers inherit some SSL settings
|
|
|
|
|
|
- Reviewed-by: Marcel Raad
|
|
|
- Closes #6586
|
|
|
-
|
|
|
-Marcel Raad (10 Feb 2021)
|
|
|
-- ngtcp2: clarify calculation precedence
|
|
|
+ - Document in DOH that some SSL settings are inherited but DOH hostname
|
|
|
+ and peer verification are not and are controlled separately.
|
|
|
|
|
|
- As suggested by Codacy/cppcheck.
|
|
|
+ - Document that CURLOPT_SSL_CTX_FUNCTION is inherited by DOH handles but
|
|
|
+ we're considering changing behavior to no longer inherit it. Request
|
|
|
+ feedback.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6576
|
|
|
+ Closes https://github.com/curl/curl/pull/6688
|
|
|
|
|
|
-- server: remove redundant condition
|
|
|
+Daniel Stenberg (17 Mar 2021)
|
|
|
+- http: make 416 not fail with resume + CURLOPT_FAILONERRROR
|
|
|
|
|
|
- `end` is always non-null here.
|
|
|
+ When asked to resume a download, libcurl will convert that to HTTP logic
|
|
|
+ and if then the entire file is already transferred it will result in a
|
|
|
+ 416 response from the HTTP server. With CURLOPT_FAILONERRROR set in that
|
|
|
+ scenario, it should *not* lead to an error return.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6576
|
|
|
-
|
|
|
-- lib: remove redundant code
|
|
|
+ Updated test 1156, added test 1273
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6576
|
|
|
+ Reported-by: Jonathan Watt
|
|
|
+ Fixes #6740
|
|
|
+ Closes #6753
|
|
|
|
|
|
-- mqttd: remove unused variable
|
|
|
+- Curl_timeleft: check both timeouts during connect
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6576
|
|
|
-
|
|
|
-- tool_paramhlp: reduce variable scope
|
|
|
+ The duration of a connect and the total transfer are calculated from two
|
|
|
+ different time-stamps. It can end up with the total timeout triggering
|
|
|
+ before the connect timeout expires and we should make sure to
|
|
|
+ acknowledge whichever timeout that is reached first.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6576
|
|
|
+ This is especially notable when a transfer first sits in PENDING, as
|
|
|
+ that time is counted in the total time but the connect timeout is based
|
|
|
+ on the time since the handle changed to the CONNECT state.
|
|
|
+
|
|
|
+ The CONNECTTIMEOUT is per connect attempt. The TIMEOUT is for the entire
|
|
|
+ operation.
|
|
|
+
|
|
|
+ Fixes #6744
|
|
|
+ Closes #6745
|
|
|
+ Reported-by: Andrei Bica
|
|
|
+ Assisted-by: Jay Satiro
|
|
|
|
|
|
-- tests: reduce variable scopes
|
|
|
+- configure: remove use of deprecated macros
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6576
|
|
|
+ AC_HEADER_TIME, AC_HEADER_STDC and AC_TYPE_SIGNAL
|
|
|
|
|
|
-- lib: reduce variable scopes
|
|
|
+- configure: make AC_TRY_* into AC_*_IFELSE
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6576
|
|
|
+ ... as the former versions are deprecated.
|
|
|
|
|
|
-- ftp: fix Codacy/cppcheck warning about null pointer arithmetic
|
|
|
+- configure: s/AC_HELP_STRING/AS_HELP_STRING
|
|
|
|
|
|
- Increment `bytes` only if it is non-null.
|
|
|
+ AC_HELP_STRING is deprecated in 2.70+ and I believe AS_HELP_STRING works
|
|
|
+ already since 2.59 so bump the minimum required version to that.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6576
|
|
|
+ Reported-by: Emil Engler
|
|
|
+ Fixes #6647
|
|
|
+ Closes #6748
|
|
|
|
|
|
-Daniel Stenberg (9 Feb 2021)
|
|
|
-- ngtcp2: adapt to the new recv_datagram callback
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
-- quiche: fix build error: use 'int' for port number
|
|
|
+- travis: use ubuntu nghttp2 package instead of build our own
|
|
|
|
|
|
- Follow-up to cb2dc1ba8
|
|
|
+ Closes #6751
|
|
|
|
|
|
-- ftp: add 'list_only' to the transfer state struct
|
|
|
-
|
|
|
- and rename it from 'ftp_list_only' since it is also used for SSH and
|
|
|
- POP3. The state is updated internally for 'type=D' FTP URLs.
|
|
|
-
|
|
|
- Added test case 1570 to verify.
|
|
|
-
|
|
|
- Closes #6578
|
|
|
+- travis: bump wolfssl to 4.7.0
|
|
|
|
|
|
-- ftp: add 'prefer_ascii' to the transfer state struct
|
|
|
-
|
|
|
- ... and make sure the code never updates 'set.prefer_ascii' as it breaks
|
|
|
- handle reuse which should use the setting as the user specified it.
|
|
|
-
|
|
|
- Added test 1569 to verify: it first makes an FTP transfer with ';type=A'
|
|
|
- and then another without type on the same handle and the second should
|
|
|
- then use binary. Previously, curl failed this.
|
|
|
+- travis: only build wolfssl when needed
|
|
|
|
|
|
- Closes #6578
|
|
|
-
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+ Closes #6751
|
|
|
|
|
|
- [Jacob Hoffman-Andrews brought this change]
|
|
|
|
|
|
- vtls: initial implementation of rustls backend
|
|
|
-
|
|
|
- This adds a new TLS backend, rustls. It uses the C-to-rustls bindings
|
|
|
- from https://github.com/abetterinternet/crustls.
|
|
|
+ rustls: allocate a buffer for TLS data.
|
|
|
|
|
|
- Rustls is at https://github.com/ctz/rustls/.
|
|
|
+ Previously, rustls was using an on-stack array for TLS data. However,
|
|
|
+ crustls has an (unusual) requirement that buffers it deals with are
|
|
|
+ initialized before writing to them. By using calloc, we can ensure the
|
|
|
+ buffer is initialized once and then reuse it across calls.
|
|
|
|
|
|
- There is still a fair bit to be done, like sending CloseNotify on
|
|
|
- connection shutdown, respecting CAPATH, and properly indicating features
|
|
|
- like "supports TLS 1.3 ciphersuites." But it works well enough to make
|
|
|
- requests and receive responses.
|
|
|
+ Closes #6742
|
|
|
+
|
|
|
+- travis: add a rustls build
|
|
|
|
|
|
- Blog post for context:
|
|
|
- https://www.abetterinternet.org/post/memory-safe-curl/
|
|
|
+ ... that doesn't run any tests (yet)
|
|
|
|
|
|
- Closes #6350
|
|
|
+ Closes #6750
|
|
|
|
|
|
-- [Simon Josefsson brought this change]
|
|
|
+- HTTP2: remove the outdated remark about multiplexing for the tool
|
|
|
|
|
|
- sasl: support SCRAM-SHA-1 and SCRAM-SHA-256 via libgsasl
|
|
|
-
|
|
|
- Closes #6372
|
|
|
+- [Robert Ronto brought this change]
|
|
|
|
|
|
-Jay Satiro (9 Feb 2021)
|
|
|
-- lib: use int type for more port variables
|
|
|
+ http2: don't set KEEP_SEND when there's no more data to be sent
|
|
|
|
|
|
- This is a follow-up to 764c6bd. Prior to that change port variables
|
|
|
- were usually type long.
|
|
|
+ this should fix an issue where curl sometimes doesn't send out a request
|
|
|
+ with authorization info after a 401 is received over http2
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6553
|
|
|
+ Closes #6747
|
|
|
|
|
|
-- tool_writeout: refactor write-out and write-out json
|
|
|
-
|
|
|
- - Deduplicate the logic used by write-out and write-out json.
|
|
|
-
|
|
|
- Rather than have separate writeLong, writeString, etc, logic for
|
|
|
- each of write-out and write-out json instead have respective shared
|
|
|
- functions that can output either format and a 'use_json' parameter to
|
|
|
- indicate whether it is json that is output.
|
|
|
-
|
|
|
- This will make it easier to maintain. Rather than have to go through
|
|
|
- two sets of logic now we only have to go through one.
|
|
|
+Marc Hoersken (15 Mar 2021)
|
|
|
+- config: fix building SMB with configure using Win32 Crypto
|
|
|
|
|
|
- - Support write-out %{errormsg} and %{exitcode} in json.
|
|
|
+ Align conditions for NTLM features between CMake and configure
|
|
|
+ builds by differentiating between USE_NTLM and USE_CURL_NTLM_CORE,
|
|
|
+ just like curl_setup.h does internally to detect support of:
|
|
|
|
|
|
- - Clarify in the doc that %{exitcode} is the exit code of the transfer.
|
|
|
+ - USE_NTLM: required for NTLM crypto authentication feature
|
|
|
+ - USE_CURL_NTLM_CORE: required for SMB protocol
|
|
|
|
|
|
- Prior to this change it just said "The numerical exitcode" which
|
|
|
- implies it's the exit code of the tool, and it's not necessarily that.
|
|
|
+ Implement USE_WIN32_CRYPTO detection by checking for Crypt functions
|
|
|
+ in wincrypt.h which are not available in the Windows App environment.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6544
|
|
|
-
|
|
|
-- lib: drop USE_SOCKETPAIR in favor of CURL_DISABLE_SOCKETPAIR
|
|
|
+ Link advapi32 and crypt32 for Crypto API and Schannel SSL backend.
|
|
|
+ Fix condition of Schannel SSL backend in CMake build accordingly.
|
|
|
|
|
|
- .. since the former is undocumented and they both do the same thing.
|
|
|
+ Reviewed-by: Marcel Raad
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6517
|
|
|
+ Closes #6277
|
|
|
|
|
|
-- curl_multibyte: fall back to local code page stat/access on Windows
|
|
|
+- config: fix detection of restricted Windows App environment
|
|
|
|
|
|
- If libcurl is built with Unicode support for Windows then it is assumed
|
|
|
- the filename string is Unicode in UTF-8 encoding and it is converted to
|
|
|
- UTF-16 to be passed to the wide character version of the respective
|
|
|
- function (eg wstat). However the filename string may actually be in the
|
|
|
- local encoding so, even if it successfully converted to UTF-16, if it
|
|
|
- could not be stat/accessed then try again using the local code page
|
|
|
- version of the function (eg wstat fails try stat).
|
|
|
+ Move the detection of the restricted Windows App environment
|
|
|
+ in curl_setup.h before the definition of USE_WIN32_CRYPTO
|
|
|
+ via included config-win32.h in case no build system is used.
|
|
|
|
|
|
- We already do this with fopen (ie wfopen fails try fopen), so I think it
|
|
|
- makes sense to extend it to stat and access functions.
|
|
|
+ Reviewed-by: Marcel Raad
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6514
|
|
|
+ Part of #6277
|
|
|
|
|
|
-- [Stephan Szabo brought this change]
|
|
|
+Daniel Stenberg (15 Mar 2021)
|
|
|
+- HISTORY: curl 7.7.2 was the first version used in Mac OS X 10.1
|
|
|
|
|
|
- file: Support unicode urls on windows
|
|
|
+- gen.pl: quote "bare" minuses in the nroff curl.1
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6501
|
|
|
-
|
|
|
-- [Vincent Torri brought this change]
|
|
|
+ Reported-by: Alejandro Colomar
|
|
|
+ Fixes #6698
|
|
|
+ Closes #6722
|
|
|
|
|
|
- cmake: fix import library name for non-MS compiler on Windows
|
|
|
+Daniel Gustafsson (14 Mar 2021)
|
|
|
+- hsts: remove unused defines
|
|
|
|
|
|
- - Use _imp.lib suffix only for Microsoft's compiler (MSVC).
|
|
|
+ MAX_HSTS_SUBLEN and MAX_HSTS_SUBLENSTR were unused from the initial commit,
|
|
|
+ and mostly likely leftovers from early development. Remove as they're not
|
|
|
+ used for anything.
|
|
|
|
|
|
- Prior to this change library suffix _imp.lib was used for the import
|
|
|
- library on Windows regardless of compiler.
|
|
|
+ Closes #6741
|
|
|
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+
|
|
|
+Daniel Stenberg (12 Mar 2021)
|
|
|
+- github: add torture-ftp for FTP-only torture testing
|
|
|
|
|
|
- With this change the other compilers should now use their default
|
|
|
- suffix which should be .dll.a.
|
|
|
+ and at 20% to try to keep the run-time reasonable
|
|
|
|
|
|
- This change is motivated by the usage of pkg-config on MSYS2.
|
|
|
- Indeed, when 'pkg-config --libs libcurl' is used, -lcurl is
|
|
|
- passed to ld. The documentation of ld on Windows :
|
|
|
+ Closes #6728
|
|
|
+
|
|
|
+- travis: split "torture" into a separate "events" build as well
|
|
|
|
|
|
- https://sourceware.org/binutils/docs/ld/WIN32.html
|
|
|
+ Run torture without FTP and reducing coverage to 20%
|
|
|
|
|
|
- lists, in the 'direct linking to a dll' section, the pattern
|
|
|
- of the searched import library, and libcurl_imp.lib is not there.
|
|
|
+ For some reason the torture tests now run a lot slower on travis and run
|
|
|
+ into the 50 minute limit all the time.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6225
|
|
|
+ Closes #6728
|
|
|
|
|
|
-Daniel Stenberg (9 Feb 2021)
|
|
|
-- urldata: move 'followlocation' to UrlState
|
|
|
+- ftp: fix memory leak in ftp_done
|
|
|
|
|
|
- As this is a state variable it does not belong in UserDefined which is
|
|
|
- used to store values set by the user.
|
|
|
+ If after a transfer is complete Curl_GetFTPResponse() returns an error,
|
|
|
+ curl would not free the ftp->pathalloc block.
|
|
|
|
|
|
- Closes #6582
|
|
|
+ Found by torture-testing test 576
|
|
|
+
|
|
|
+ Closes #6737
|
|
|
|
|
|
-- [Ikko Ashimine brought this change]
|
|
|
+- [oxalica brought this change]
|
|
|
|
|
|
- http_proxy: fix typo in http_proxy.c
|
|
|
-
|
|
|
- settting -> setting
|
|
|
+ http2: fail if connection terminated without END_STREAM
|
|
|
|
|
|
- Closes #6583
|
|
|
+ Closes #6736
|
|
|
|
|
|
-- [Fabian Keil brought this change]
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- tests/server: Bump MAX_TAG_LEN to 200
|
|
|
+- [Jacob Hoffman-Andrews brought this change]
|
|
|
+
|
|
|
+ rustls: support CURLOPT_SSL_VERIFYPEER
|
|
|
|
|
|
- This is useful for tests containing HTML inside of <data> sections.
|
|
|
- For <img> tags it's not uncommon to be longer than the previous
|
|
|
- limit of 79 bytes.
|
|
|
+ This requires the latest main branch of crustls, which provides
|
|
|
+ rustls_client_config_builder_dangerous_set_certificate_verifier and
|
|
|
+ rustls_client_config_builder_set_enable_sni.
|
|
|
|
|
|
- An example of a previously problem-causing tag is:
|
|
|
- <img src="http://config.privoxy.org/send-banner?type=auto" border="0" title="Killed-http://www.privoxy.org/images/privoxy.png-by-size" width="88" height="31">
|
|
|
- which is needed for a Privoxy test for the banners-by-size filter.
|
|
|
+ This refactors the session setup into its own function, and adds a new
|
|
|
+ function cr_hostname_is_ip. Because crustls doesn't support verification
|
|
|
+ of IP addresses, special handling is needed: We disable SNI and set a
|
|
|
+ placeholder hostname (which never actually gets sent on the wire).
|
|
|
|
|
|
- Previously it caused server failures like:
|
|
|
- 12:29:05.786961 ====> Client connect
|
|
|
- 12:29:05.787116 accept_connection 3 returned 4
|
|
|
- 12:29:05.787194 accept_connection 3 returned 0
|
|
|
- 12:29:05.787285 Read 119 bytes
|
|
|
- 12:29:05.787345 Process 119 bytes request
|
|
|
- 12:29:05.787407 Got request: GET /banners-by-size/9 HTTP/1.1
|
|
|
- 12:29:05.787464 Requested test number 9 part 0
|
|
|
- 12:29:05.787686 getpart() failed with error: -2
|
|
|
- 12:29:05.787744 - request found to be complete (9)
|
|
|
- 12:29:05.787912 getpart() failed with error: -2
|
|
|
- 12:29:05.788048 Wrote request (119 bytes) input to log/server.input
|
|
|
- 12:29:05.788157 Send response test9 section <data>
|
|
|
- 12:29:05.788443 getpart() failed with error: -2
|
|
|
- 12:29:05.788498 instructed to close connection after server-reply
|
|
|
- 12:29:05.788550 ====> Client disconnect 0
|
|
|
- 12:29:05.871448 exit_signal_handler: 15
|
|
|
- 12:29:05.871714 signalled to die
|
|
|
- 12:29:05.872040 ========> IPv4 sws (port 21108 pid: 51758) exits with signal (15)
|
|
|
-
|
|
|
-- [Fabian Keil brought this change]
|
|
|
-
|
|
|
- tests/badsymbols.pl: when opening '$incdir' fails include it in the error message
|
|
|
-
|
|
|
-- [Fabian Keil brought this change]
|
|
|
-
|
|
|
- runtests.1: document -o, -P, -L, and -E
|
|
|
-
|
|
|
-- [Fabian Keil brought this change]
|
|
|
+ Closes #6719
|
|
|
|
|
|
- runtests.pl: add %TESTNUMBER variable to make copying tests more convenient
|
|
|
+Daniel Gustafsson (12 Mar 2021)
|
|
|
+- cookies: Fix potential NULL pointer deref with PSL
|
|
|
+
|
|
|
+ Curl_cookie_init can be called with data being NULL, and this can in turn
|
|
|
+ be passed to Curl_cookie_add, meaning that both functions must be careful
|
|
|
+ to only use data where it's checked for being a NULL pointer. The libpsl
|
|
|
+ support code does however dereference data without checking, so if we are
|
|
|
+ indeed having an unset data pointer we cannot PSL check the cookiedomain.
|
|
|
+
|
|
|
+ This is currently not a reachable dereference, as the only caller with a
|
|
|
+ NULL data isn't passing a file to initialize cookies from, but since the
|
|
|
+ API has this contract let's ensure we hold it.
|
|
|
+
|
|
|
+ Closes #6731
|
|
|
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
|
|
|
-- [Fabian Keil brought this change]
|
|
|
+Daniel Stenberg (12 Mar 2021)
|
|
|
+- [Michael Hordijk brought this change]
|
|
|
|
|
|
- runtests.pl: add an -o option to change internal variables
|
|
|
+ configure: only add OpenSSL paths if they are defined
|
|
|
|
|
|
- runtests.pl has lots of internal variables one might want to
|
|
|
- change in certain situations, but adding a dedicated option
|
|
|
- for every single one of them isn't practical.
|
|
|
+ Add paths for OpenSSL compiling and linking only if they have been
|
|
|
+ defined. If they haven't been defined, we'll assume that the paths are
|
|
|
+ already available to the toolchain.
|
|
|
|
|
|
- Usage:
|
|
|
- ./runtests.pl -o TESTDIR=$privoxy_curl_test_dir -o HOSTIP=10.0.0.1 ...
|
|
|
-
|
|
|
-- [Fabian Keil brought this change]
|
|
|
+ Closes #6730
|
|
|
|
|
|
- runtests.pl: cleanups
|
|
|
+Jay Satiro (12 Mar 2021)
|
|
|
+- retry.d: Clarify transient 5xx HTTP response codes
|
|
|
|
|
|
- - show the summarized test result in the last line of the report
|
|
|
- - do not use $_ after mapping it to a named variable
|
|
|
- Doing that makes the code harder to follow.
|
|
|
- - log the restraints sorted by the number of their occurrences
|
|
|
- - fix language when logging restraints that only occured once
|
|
|
- - let runhttpserver() use $TESTDIR instead of $srcdir
|
|
|
- ... so it works if a non-default $TESTDIR is being used.
|
|
|
-
|
|
|
-- [Fabian Keil brought this change]
|
|
|
+ - Clarify the only 5xx response codes that are treated as transient are
|
|
|
+ 500, 502, 503 and 504.
|
|
|
+
|
|
|
+ Prior to this change it said it treated all 5xx as transient, but the
|
|
|
+ code says otherwise.
|
|
|
+
|
|
|
+ Ref: https://github.com/curl/curl/blob/curl-7_75_0/src/tool_operate.c#L462-L495
|
|
|
+
|
|
|
+ Closes https://github.com/curl/curl/pull/6724
|
|
|
|
|
|
- runtests.pl: add an -E option to specify an exclude file
|
|
|
+- retry-all-errors.d: Explain curl errors versus HTTP response errors
|
|
|
|
|
|
- It can contain additional restraints for test numbers,
|
|
|
- keywords and tools.
|
|
|
+ - Add a paragraph explaining that curl does not consider HTTP response
|
|
|
+ errors as curl errors, and how that behavior can be modified by using
|
|
|
+ --retry and --fail.
|
|
|
|
|
|
- The idea is to let third parties like the Privoxy project
|
|
|
- distribute an exclude file with their tarballs that specifies
|
|
|
- which curl tests are not expected to work when using Privoxy
|
|
|
- as a proxy, without having to fork the whole curl test suite.
|
|
|
+ The --retry-all-errors doc says "Retry on any error" which some users
|
|
|
+ may find misleading without the added explanation.
|
|
|
|
|
|
- The syntax could be changed to be extendable and maybe
|
|
|
- more closely reflect the "curl test" syntax. Currently
|
|
|
- it's a bunch of lines like these:
|
|
|
+ Ref: https://curl.se/docs/faq.html#Why_do_I_get_downloaded_data_eve
|
|
|
+ Ref: https://curl.se/docs/faq.html#curl_doesn_t_return_error_for_HT
|
|
|
|
|
|
- test:$TESTNUMBER:Reason why this test with number $TESTNUMBER should be skipped
|
|
|
- keyword:$KEYWORD:Reason why tests whose keywords contain the $KEYWORD should be skipped
|
|
|
- tool:$TOOL:Reason why tests with tools that contain $TOOL should be skipped
|
|
|
+ Reported-by: Lawrence Gripper
|
|
|
|
|
|
- To specify multiple $TESTNUMBERs, $KEYWORDs and $TOOLs
|
|
|
- on a single line, split them with commas.
|
|
|
-
|
|
|
-- [Fabian Keil brought this change]
|
|
|
+ Fixes https://github.com/curl/curl/issues/6712
|
|
|
+ Closes https://github.com/curl/curl/pull/6720
|
|
|
|
|
|
- runtests.pl: add -L parameter to require additional perl libraries
|
|
|
+Daniel Stenberg (11 Mar 2021)
|
|
|
+- travis: switch ngtcp2 build over to quictls
|
|
|
|
|
|
- This is useful to change the behaviour of the script without
|
|
|
- having to modify the file itself, for example to use a custom
|
|
|
- compareparts() function that ignores header differences that
|
|
|
- are expected to occur when an external proxy is being used.
|
|
|
+ The ngtcp2 project switched over to using the quictls OpenSSL fork
|
|
|
+ instead of their own patched OpenSSL. We follow suit.
|
|
|
|
|
|
- Such differences are proxy-specific and thus the modifications
|
|
|
- should be maintained together with the proxy.
|
|
|
+ Closes #6729
|
|
|
|
|
|
-- [Fabian Keil brought this change]
|
|
|
+- test220/314: adjust to run with Hyper
|
|
|
|
|
|
- runtests.pl: add a -P option to specify an external proxy
|
|
|
-
|
|
|
- ... that should be used when executing the tests.
|
|
|
-
|
|
|
- The assumption is that the proxy is an HTTP proxy.
|
|
|
-
|
|
|
- This option should be used together with -L to provide
|
|
|
- a customized compareparts() version that knows which
|
|
|
- proxy-specific header differences should be ignored.
|
|
|
+- c-hyper: support automatic content-encoding
|
|
|
|
|
|
- This option doesn't work for all test types yet.
|
|
|
+ Closes #6727
|
|
|
|
|
|
-- [Fabian Keil brought this change]
|
|
|
+- http: remove superfluous NULL assign
|
|
|
+
|
|
|
+ Closes #6727
|
|
|
|
|
|
- tests: fixup several tests
|
|
|
+- tool_operate: bail if set CURLOPT_HTTP09_ALLOWED returns error
|
|
|
|
|
|
- missing CRs and modified %hostip
|
|
|
+ Closes #6727
|
|
|
+
|
|
|
+- setopt: error on CURLOPT_HTTP09_ALLOWED set true with Hyper
|
|
|
|
|
|
- lib556/test556: use a real HTTP version to make test reuse more convenient
|
|
|
+ Not supported.
|
|
|
|
|
|
- make sure the weekday in Date headers matches the date
|
|
|
+ Closes #6727
|
|
|
+
|
|
|
+- test306: make it not run with Hyper
|
|
|
|
|
|
- test61: replace stray "^M" (5e 4d) at the end of a cookie with a '^M' (0d)
|
|
|
+ ... as it tests HTTP/0.9 which Hyper doesn't support.
|
|
|
+
|
|
|
+- test304: header CRLF cleanup to work with Hyper
|
|
|
+
|
|
|
+- FTP: allow SIZE to fail when doing (resumed) upload
|
|
|
|
|
|
- Gets the test working with external proxies like Privoxy again.
|
|
|
+ Added test 362 to verify.
|
|
|
|
|
|
- Closes #6463
|
|
|
+ Reported-by: Jordan Brown
|
|
|
+ Regression since 7ea2e1d0c5a7f (7.73.0)
|
|
|
+ Fixes #6715
|
|
|
+ Closes #6725
|
|
|
|
|
|
-- ftp: never set data->set.ftp_append outside setopt
|
|
|
-
|
|
|
- Since the set value then risks getting used like that when the easy
|
|
|
- handle is reused by the application.
|
|
|
+- configure: provide Largefile feature for curl-config
|
|
|
|
|
|
- Also: renamed the struct field from 'ftp_append' to 'remote_append'
|
|
|
- since it is also used for SSH protocols.
|
|
|
+ ... as cmake now does it correctly, and make test1014 check for it
|
|
|
|
|
|
- Closes #6579
|
|
|
+ Closes #6702
|
|
|
|
|
|
-- urldata: remove the 'rtspversion' field
|
|
|
+- config: remove CURL_SIZEOF_CURL_OFF_T use only SIZEOF_CURL_OFF_T
|
|
|
|
|
|
- from struct connectdata and the corresponding code in http.c that set
|
|
|
- it. It was never used for anything!
|
|
|
+ Make the code consistently use a single name for the size of the
|
|
|
+ "curl_off_t" type.
|
|
|
|
|
|
- Closes #6581
|
|
|
+ Closes #6702
|
|
|
|
|
|
-- CURLOPT_QUOTE.3: clarify that libcurl doesn't parse what's sent
|
|
|
+Jay Satiro (10 Mar 2021)
|
|
|
+- [Jun-ya Kato brought this change]
|
|
|
+
|
|
|
+ ngtcp2: Fix build error due to change in ngtcp2_addr_init
|
|
|
|
|
|
- ... so passed in commands may confuse libcurl's knowledge of state.
|
|
|
+ ngtcp2/ngtcp2@b8d90a9 changed the function prototype.
|
|
|
|
|
|
- Reported-by: Bodo Bergmann
|
|
|
- Fixes #6577
|
|
|
- Closes #6580
|
|
|
+ Closes https://github.com/curl/curl/pull/6716
|
|
|
|
|
|
-- [Jacob Hoffman-Andrews brought this change]
|
|
|
+Daniel Stenberg (10 Mar 2021)
|
|
|
+- [ejanchivdorj brought this change]
|
|
|
|
|
|
- vtls: factor out Curl_ssl_getsock to field of Curl_ssl
|
|
|
+ multi: update pending list when removing handle
|
|
|
|
|
|
- Closes #6558
|
|
|
+ when removing a handle, most of the lists are updated but pending list
|
|
|
+ is not updated. Updating now.
|
|
|
+
|
|
|
+ Closes #6713
|
|
|
|
|
|
-- RELEASE-PROCEDURE: remove old release dates, add new
|
|
|
+- [kokke brought this change]
|
|
|
|
|
|
-- docs/SSL-PROBLEMS: enhanced
|
|
|
-
|
|
|
- Elaborate on the intermediate cert issue, and mention that anything
|
|
|
- below TLS 1.2 is generally considered insecure these days.
|
|
|
+ lib1536: check ptr against NULL before dereferencing it
|
|
|
|
|
|
- Closes #6572
|
|
|
+ Closes #6710
|
|
|
|
|
|
-- THANKS: remove a Jon Rumsey dupe
|
|
|
+- [kokke brought this change]
|
|
|
|
|
|
-Daniel Gustafsson (5 Feb 2021)
|
|
|
-- [nimaje brought this change]
|
|
|
+ lib1537: check ptr against NULL before dereferencing it
|
|
|
+
|
|
|
+ Fixes #6707
|
|
|
+ Closes #6708
|
|
|
|
|
|
- docs: fix FILE example url in --metalink documentation
|
|
|
+- travis: make torture tests skip TLS-SRP tests
|
|
|
|
|
|
- In a url after <scheme>:// follows the possibly empty authority part
|
|
|
- till the next /, so that url missed a /.
|
|
|
+ ... as it seems to often hang.
|
|
|
|
|
|
- Closes #6573
|
|
|
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
- Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
|
|
|
+ Also: skip the "normal" tests as they're already run by many other
|
|
|
+ builds.
|
|
|
+
|
|
|
+ Closes #6705
|
|
|
|
|
|
-Daniel Stenberg (5 Feb 2021)
|
|
|
-- hostip: fix build with sync resolver
|
|
|
+- openssl: adapt to v3's new const for a few API calls
|
|
|
|
|
|
- Reported-by: David Goerger
|
|
|
- Follow-up from 8335c6417
|
|
|
- Fixes #6566
|
|
|
- Closes #6568
|
|
|
+ Closes #6703
|
|
|
|
|
|
-- mailmap: Jon Rumsey
|
|
|
+- quiche: fix crash when failing to connect
|
|
|
+
|
|
|
+ Reported-by: ウさん
|
|
|
+ Fixes #6664
|
|
|
+ Closes #6701
|
|
|
|
|
|
-- [Jon Rumsey brought this change]
|
|
|
+- RELEASE-NOTES: synced
|
|
|
+
|
|
|
+ Fixed the release counter and added a missing contributor
|
|
|
|
|
|
- gskit: correct the gskit_send() prototype
|
|
|
+- RELEASE-NOTES: synced
|
|
|
+
|
|
|
+- dynbuf: bump the max HTTP request to 1MB
|
|
|
|
|
|
- gskit_send() first paramater is a pointer to Curl_easy not connectdata
|
|
|
- struct.
|
|
|
+ Raised from 128KB to allow longer request headers.
|
|
|
|
|
|
- Closes #6570
|
|
|
- Fixes #6569
|
|
|
+ Reported-by: Carl Zogheib
|
|
|
+ Fixes #6681
|
|
|
+ Closes #6685
|
|
|
|
|
|
-- urldata: fix build without HTTP and MQTT
|
|
|
+Jay Satiro (6 Mar 2021)
|
|
|
+- schannel: Evaluate CURLOPT_SSL_OPTIONS via SSL_SET_OPTION macro
|
|
|
|
|
|
- Reported-by: Joseph Chen
|
|
|
- Fixes #6562
|
|
|
- Closes #6563
|
|
|
-
|
|
|
-- ftp: avoid SIZE when asking for a TYPE A file
|
|
|
+ - Change use of those options from CURLOPT_SSL_OPTIONS that are not
|
|
|
+ already evaluated via SSL_SET_OPTION in schannel and secure transport
|
|
|
+ to use that instead of data->set.ssl.optname.
|
|
|
|
|
|
- ... as we ignore it anyway because servers don't report the correct size
|
|
|
- and proftpd even blatantly returns a 550.
|
|
|
+ Example:
|
|
|
|
|
|
- Updates a set of tests accordingly.
|
|
|
+ Evaluate SSL_SET_OPTION(no_revoke) instead of data->set.ssl.no_revoke.
|
|
|
|
|
|
- Reported-by: awesomenode on github
|
|
|
- Fixes #6564
|
|
|
- Closes #6565
|
|
|
-
|
|
|
-- pingpong: rename the curl_pp_transfer enum to use PP prefix
|
|
|
+ This change is because options set via CURLOPT_SSL_OPTIONS
|
|
|
+ (data->set.ssl.optname) are separate from those set for HTTPS proxy via
|
|
|
+ CURLOPT_PROXY_SSL_OPTIONS (data->set.proxy_ssl.optname). The
|
|
|
+ SSL_SET_OPTION macro determines whether the connection is for HTTPS
|
|
|
+ proxy and based on that which option to evaluate.
|
|
|
|
|
|
- Using an FTP prefix for PP provided functionality was misleading.
|
|
|
-
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+ Since neither Schannel nor Secure Transport backends currently support
|
|
|
+ HTTPS proxy in libcurl, this change is for posterity and has no other
|
|
|
+ effect.
|
|
|
|
|
|
- ... and bump pending version to 7.75.1 (for now)
|
|
|
+ Closes https://github.com/curl/curl/pull/6690
|
|
|
+
|
|
|
+- [kokke brought this change]
|
|
|
|
|
|
-Jay Satiro (4 Feb 2021)
|
|
|
-- build: fix --disable-http-auth
|
|
|
+ c-hyper: Remove superfluous pointer check
|
|
|
|
|
|
- Broken since 215db08 (precedes 7.75.0).
|
|
|
+ `n` pointer is never NULL once set. Found by static analysis.
|
|
|
|
|
|
- Reported-by: Benbuck Nason
|
|
|
+ Ref: https://github.com/curl/curl/issues/6696
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/6567
|
|
|
+ Closes https://github.com/curl/curl/pull/6697
|
|
|
|
|
|
-- build: fix --disable-dateparse
|
|
|
+- version.d: Add missing features to the features list
|
|
|
|
|
|
- Broken since 215db08 (precedes 7.75.0).
|
|
|
+ - Add missing entries for gsasl, Kerberos, NTLM_WB, TrackMemory,
|
|
|
+ Unicode and zstd.
|
|
|
|
|
|
- Bug: https://curl.se/mail/lib-2021-02/0008.html
|
|
|
- Reported-by: Firefox OS
|
|
|
-
|
|
|
-Daniel Stenberg (4 Feb 2021)
|
|
|
-- [Jon Rumsey brought this change]
|
|
|
-
|
|
|
- OS400: update for CURLOPT_AWS_SIGV4
|
|
|
+ - Remove krb4 since it's no longer a feature.
|
|
|
|
|
|
- chkstrings fails because a new string option that could require codepage
|
|
|
- conversion has been added.
|
|
|
+ Reported-by: Ádler Jonas Gross
|
|
|
|
|
|
- Closes #6561
|
|
|
- Fixes #6560
|
|
|
-
|
|
|
-- BUG-BOUNTY: removed the cooperation mention
|
|
|
-
|
|
|
-Version 7.75.0 (3 Feb 2021)
|
|
|
-
|
|
|
-Daniel Stenberg (3 Feb 2021)
|
|
|
-- RELEASE-NOTES: synced
|
|
|
-
|
|
|
-- THANKS: added contributors from 7.75.0
|
|
|
+ Fixes https://github.com/curl/curl/issues/6677
|
|
|
+ Closes https://github.com/curl/curl/pull/6687
|
|
|
|
|
|
-- copyright: fix year ranges in need of updates
|
|
|
+- [Vladimir Varlamov brought this change]
|
|
|
|
|
|
-- TODO: remove items for next SONAME bump etc
|
|
|
+ docs: add missing Arg tag to --stderr
|
|
|
|
|
|
- We want to avoid that completely, so we don't plan for things after such
|
|
|
- an event.
|
|
|
-
|
|
|
-- [Jay Satiro brought this change]
|
|
|
-
|
|
|
- ngtcp2: Fix build error due to change in ngtcp2_settings
|
|
|
+ Prior to this change the required argument was not shown.
|
|
|
|
|
|
- - Separate ngtcp2_transport_params.
|
|
|
+ curl.1 before: --stderr
|
|
|
+ curl.1 after: --stderr <file>
|
|
|
|
|
|
- ngtcp2/ngtcp2@05d7adc made ngtcp2_transport_params separate from
|
|
|
- ngtcp2_settings.
|
|
|
+ curl --help before:
|
|
|
+ --stderr Where to redirect stderr
|
|
|
|
|
|
- ngtcp2 master is required to build curl with http3 support.
|
|
|
+ curl --help after:
|
|
|
+ --stderr <file> Where to redirect stderr
|
|
|
|
|
|
- Closes #6554
|
|
|
+ Closes https://github.com/curl/curl/pull/6692
|
|
|
|
|
|
-- vtls: remove md5sum
|
|
|
+- projects: Update VS projects for OpenSSL 1.1.x
|
|
|
|
|
|
- As it is not used anymore.
|
|
|
+ - Update VS project templates to use the OpenSSL lib names and include
|
|
|
+ directories for OpenSSL 1.1.x.
|
|
|
|
|
|
- Reported-by: Jacob Hoffman-Andrews
|
|
|
- Bug: https://curl.se/mail/lib-2021-02/0000.html
|
|
|
+ This change means the VS project files will now build only with OpenSSL
|
|
|
+ 1.1.x when an OpenSSL configuration is chosen. Prior to this change the
|
|
|
+ project files built only with OpenSSL 1.0.x (end-of-life) when an
|
|
|
+ OpenSSL configuration was chosen.
|
|
|
|
|
|
- Closes #6557
|
|
|
-
|
|
|
-- [Alessandro Ghedini brought this change]
|
|
|
-
|
|
|
- quiche: don't use primary_ip / primary_port
|
|
|
+ The template changes in this commit were made by script:
|
|
|
|
|
|
- Closes #6555
|
|
|
-
|
|
|
-Alessandro Ghedini (1 Feb 2021)
|
|
|
-- travis: enable quiche's FFI feature
|
|
|
-
|
|
|
-Daniel Stenberg (30 Jan 2021)
|
|
|
-- [Dmitry Wagin brought this change]
|
|
|
-
|
|
|
- http: improve AWS HTTP v4 Signature auth
|
|
|
+ libeay32.lib => libcrypto.lib
|
|
|
+ ssleay32.lib => libssl.lib
|
|
|
+ ..\..\..\..\..\openssl\inc32 => ..\..\..\..\..\openssl\include
|
|
|
|
|
|
- - Add support services without region and service prefixes in
|
|
|
- the URL endpoint (ex. Min.IO, GCP, Yandex Cloud, Mail.Ru Cloud Solutions, etc)
|
|
|
- by providing region and service parameters via aws-sigv4 option.
|
|
|
- - Add [:region[:service]] suffix to aws-sigv4 option;
|
|
|
- - Fix memory allocation errors.
|
|
|
- - Refactor memory management.
|
|
|
- - Use Curl_http_method instead() STRING_CUSTOMREQUEST.
|
|
|
- - Refactor canonical headers generating.
|
|
|
- - Remove repeated sha256_to_hex() usage.
|
|
|
- - Add some docs fixes.
|
|
|
- - Add some codestyle fixes.
|
|
|
- - Add overloaded strndup() for debug - curl_dbg_strndup().
|
|
|
- - Update tests.
|
|
|
+ And since the output directory now contains the includes it's prepended:
|
|
|
+ ..\..\..\..\..\openssl\build\Win{32,64}\VC{6..15}\{DLL,LIB}
|
|
|
+ {Debug,Release}\include
|
|
|
|
|
|
- Closes #6524
|
|
|
-
|
|
|
-- hyper: fix CONNECT to set 'data' as userdata
|
|
|
+ - Change build-openssl.bat to copy the build's include directory to the
|
|
|
+ output directory (as seen above).
|
|
|
|
|
|
- Follow-up to 14e075d1a7fd
|
|
|
-
|
|
|
-- [Layla brought this change]
|
|
|
-
|
|
|
- connect: fix compile errors in `Curl_conninfo_local`
|
|
|
+ Each build has its own opensslconf.h which is different so we can't just
|
|
|
+ include the source include directory any longer.
|
|
|
|
|
|
- .. for the `#else` (`!HAVE_GETSOCKNAME`) case
|
|
|
+ Note the include directory in the output directory is a full copy from
|
|
|
+ the build so technically we don't need to include the OpenSSL source
|
|
|
+ include directory in the template. However, I left it last in case the
|
|
|
+ user made a custom OpenSSL build using the old method which would put
|
|
|
+ opensslconf in the OpenSSL source include directory.
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/6548
|
|
|
- Closes #6549
|
|
|
+ - Change build-openssl.bat to use a temporary install directory that is
|
|
|
+ different from the temporary build directory.
|
|
|
|
|
|
- Signed-off-by: Layla <layla@insightfulvr.com>
|
|
|
-
|
|
|
-- [Michał Antoniak brought this change]
|
|
|
-
|
|
|
- transfer: fix GCC 10 warning with flag '-Wint-in-bool-context'
|
|
|
+ For OpenSSL 1.1.x the temporary paths must be separate not a descendant
|
|
|
+ of the other, otherwise pdb files will be lost between builds.
|
|
|
|
|
|
- ... and return the error code from the Curl_mime_rewind call.
|
|
|
+ Ref: https://curl.se/mail/lib-2018-10/0049.html
|
|
|
+ Ref: https://gist.github.com/jay/125191c35bbeb894444eff827651f755
|
|
|
+ Ref; https://github.com/openssl/openssl/issues/10005
|
|
|
|
|
|
- Closes #6537
|
|
|
-
|
|
|
-- [Michał Antoniak brought this change]
|
|
|
-
|
|
|
- avoid warning: enum constant in boolean context
|
|
|
-
|
|
|
-- copyright: fix missing year (range) updates
|
|
|
-
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+ Fixes https://github.com/curl/curl/issues/984
|
|
|
+ Closes https://github.com/curl/curl/pull/6675
|
|
|
|
|
|
-- openssl: lowercase the hostname before using it for SNI
|
|
|
+- doh: Inherit CURLOPT_STDERR from user's easy handle
|
|
|
|
|
|
- ... because it turns out several servers out there don't actually behave
|
|
|
- correctly otherwise in spite of the fact that the SNI field is
|
|
|
- specifically said to be case insensitive in RFC 6066 section 3.
|
|
|
+ Prior to this change if the user set their easy handle's error stream
|
|
|
+ to something other than stderr it was not inherited by the doh handles,
|
|
|
+ which meant that they would still write to the default standard error
|
|
|
+ stream (stderr) for verbose output.
|
|
|
|
|
|
- Reported-by: David Earl
|
|
|
- Fixes #6540
|
|
|
- Closes #6543
|
|
|
-
|
|
|
-- KNOWN_BUGS: cmake: ExternalProject_Add does not set CURL_CA_PATH
|
|
|
+ Bug: https://github.com/curl/curl/issues/6605
|
|
|
+ Reported-by: arvids-kokins-bidstack@users.noreply.github.com
|
|
|
|
|
|
- Closes #6313
|
|
|
+ Closes https://github.com/curl/curl/pull/6661
|
|
|
|
|
|
-- KNOWN_BUGS: Multi perform hangs waiting for threaded resolver
|
|
|
+Marc Hoersken (1 Mar 2021)
|
|
|
+- CI/azure: replace python-impacket with python3-impacket
|
|
|
|
|
|
- Closes #4852
|
|
|
+ As of this month Azure DevOps uses Ubuntu 20.04 LTS which
|
|
|
+ no longer supports Python 2 and instead ships Python 3.
|
|
|
+
|
|
|
+ Closes #6678
|
|
|
|
|
|
-- KNOWN_BUGS: "pulseUI VPN client" is known to be buggy
|
|
|
+- runtests.pl: kill processes locking test log files
|
|
|
|
|
|
- First entry in the new section "applications" for known problems in
|
|
|
- libcurl using applications.
|
|
|
+ Introduce a new runtests.pl command option: -rm
|
|
|
|
|
|
- Closes #6306
|
|
|
-
|
|
|
-- tool_writeout: make %{errormsg} blank for no errors
|
|
|
+ For now only required and implemented for Windows.
|
|
|
+ Ignore stunnel logs due to long running processes.
|
|
|
|
|
|
- Closes #6539
|
|
|
-
|
|
|
-Jay Satiro (27 Jan 2021)
|
|
|
-- [Gisle Vanem brought this change]
|
|
|
-
|
|
|
- build: fix djgpp builds
|
|
|
+ Requires Sysinternals handle[64].exe to be on PATH.
|
|
|
|
|
|
- - Update build instructions in packages/DOS/README
|
|
|
+ Reviewed-by: Jay Satiro
|
|
|
|
|
|
- - Extend 'VPATH' with 'vquic' and 'vssh'.
|
|
|
+ Ref: #6058
|
|
|
+ Closes #6179
|
|
|
+
|
|
|
+- pathhelp.pm: fix use of pwd -L in Msys environment
|
|
|
|
|
|
- - Allow 'Makefile.dist' to build both 'lib' and 'src'.
|
|
|
+ While Msys2 has a pwd binary which supports -L,
|
|
|
+ Msys1 only has a shell built-in with that feature.
|
|
|
|
|
|
- - Allow using the Windows hosted djgpp cross compiler to build for MSDOS
|
|
|
- under Windows.
|
|
|
+ Reviewed-by: Jay Satiro
|
|
|
|
|
|
- - 'USE_SSL' -> 'USE_OPENSSL'
|
|
|
+ Part of #6179
|
|
|
+
|
|
|
+Daniel Gustafsson (1 Mar 2021)
|
|
|
+- ldap: use correct memory free function
|
|
|
|
|
|
- - Added a 'link_EXE' macro. Etc, etc.
|
|
|
+ unescaped is coming from Curl_urldecode and not a unicode conversion
|
|
|
+ function, so reclaiming its memory should be performed with a normal
|
|
|
+ call to free rather than curlx_unicodefree. In reality, this is the
|
|
|
+ same thing as curlx_unicodefree is implemented as a call to free but
|
|
|
+ that's not guaranteed to always hold. Using the curlx macro present
|
|
|
+ issues with memory debugging as well.
|
|
|
|
|
|
- - Linking 'curl.exe' needs '$(CURLX_CFILES)' too.
|
|
|
+ Closes #6671
|
|
|
+ Reviewed-by: Jay Satiro <raysatiro@yahoo.com>
|
|
|
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+
|
|
|
+- url: fix typo in comment
|
|
|
|
|
|
- - Do not pick-up '../lib/djgpp/*.o' files. Recompile locally.
|
|
|
+ Correct a small typo which snuck in with a304051620.
|
|
|
+
|
|
|
+Jay Satiro (28 Feb 2021)
|
|
|
+- tool_help: Increase space between option and description
|
|
|
|
|
|
- - Generate a gzipped 'tool_hugehelp.c' if 'USE_ZLIB=1'.
|
|
|
+ - Increase the minimum number of spaces between the option and the
|
|
|
+ description from 1 to 2.
|
|
|
|
|
|
- - Remove 'djgpp-clean'
|
|
|
+ Before:
|
|
|
+ ~~~
|
|
|
+ -u, --user <user:password> Server user and password
|
|
|
+ -A, --user-agent <name> Send User-Agent <name> to server
|
|
|
+ -v, --verbose Make the operation more talkative
|
|
|
+ -V, --version Show version number and quit
|
|
|
+ -w, --write-out <format> Use output FORMAT after completion
|
|
|
+ --xattr Store metadata in extended file attributes
|
|
|
+ ~~~
|
|
|
|
|
|
- - Adapt to new C-ares directory structure
|
|
|
+ After:
|
|
|
+ ~~~
|
|
|
+ -u, --user <user:password> Server user and password
|
|
|
+ -A, --user-agent <name> Send User-Agent <name> to server
|
|
|
+ -v, --verbose Make the operation more talkative
|
|
|
+ -V, --version Show version number and quit
|
|
|
+ -w, --write-out <format> Use output FORMAT after completion
|
|
|
+ --xattr Store metadata in extended file attributes
|
|
|
+ ~~~
|
|
|
+
|
|
|
+ Closes https://github.com/curl/curl/pull/6674
|
|
|
+
|
|
|
+Daniel Stenberg (27 Feb 2021)
|
|
|
+- curl: set CURLOPT_NEW_FILE_PERMS if requested
|
|
|
|
|
|
- - Use conditional variable assignments
|
|
|
+ The --create-file-mode code logic accepted the value but never actually
|
|
|
+ passed it on to libcurl!
|
|
|
|
|
|
- Clarify the 'conditional variable assignment' in 'common.dj'.
|
|
|
+ Follow-up to a7696c73436f (shipped in 7.75.0)
|
|
|
+ Reported-by: Johannes Lesr
|
|
|
+ Fixes #6657
|
|
|
+ Closes #6666
|
|
|
+
|
|
|
+- tool_operate: check argc before accessing argv[1]
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6382
|
|
|
+ Follow-up to 09363500b
|
|
|
+ Reported-by: Emil Engler
|
|
|
+ Reviewed-by: Daniel Gustafsson
|
|
|
+ Closes #6668
|
|
|
|
|
|
-Daniel Stenberg (27 Jan 2021)
|
|
|
-- [Ikko Ashimine brought this change]
|
|
|
+Daniel Gustafsson (26 Feb 2021)
|
|
|
+- [Jean-Philippe Menil brought this change]
|
|
|
|
|
|
- hyper: fix typo in c-hyper.c
|
|
|
+ openssl: remove get_ssl_version_txt in favor of SSL_get_version
|
|
|
|
|
|
- settting -> setting
|
|
|
+ openssl: use SSL_get_version to get connection protocol
|
|
|
|
|
|
- Closes #6538
|
|
|
+ Replace our bespoke get_ssl_version_txt in favor of SSL_get_version.
|
|
|
+ We can get rid of few lines of code, since SSL_get_version achieve
|
|
|
+ the exact same thing
|
|
|
+
|
|
|
+ Closes #6665
|
|
|
+ Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
|
|
|
+ Signed-off-by: Jean-Philippe Menil <jpmenil@gmail.com>
|
|
|
|
|
|
-- libssh2: fix CURL_LIBSSH2_DEBUG-enabled build
|
|
|
+- gnutls: Fix nettle discovery
|
|
|
|
|
|
- Follow-up to 2dcc940959772a
|
|
|
+ Commit e06fa7462ac258c removed support for libgcrypt leaving only
|
|
|
+ support for nettle which has been the default crypto library in
|
|
|
+ GnuTLS for a long time. There were however a few conditionals on
|
|
|
+ USE_GNUTLS_NETTLE which cause compilation errors in the metalink
|
|
|
+ code (as it used the gcrypt fallback instead as a result). See the
|
|
|
+ below autobuild for an example of the error:
|
|
|
|
|
|
- Reported-by: Gisle Vanem
|
|
|
- Bug: https://github.com/curl/curl/commit/2dcc940959772a652f6813fb6bd3092095a4877b#commitcomment-46420088
|
|
|
-
|
|
|
-Jay Satiro (27 Jan 2021)
|
|
|
-- asyn-thread: fix build for when getaddrinfo missing
|
|
|
+ https://curl.se/dev/log.cgi?id=20210225123226-30704#prob1
|
|
|
|
|
|
- This is a follow-up to 8315343 which several days ago moved the resolver
|
|
|
- pointer into the async struct but did not update the code that uses it
|
|
|
- when getaddrinfo is not present.
|
|
|
+ This removes all uses of USE_GNUTLS_NETTLE and also removes the
|
|
|
+ gcrypt support from the metalink code while at it.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6536
|
|
|
+ Closes #6656
|
|
|
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
|
|
|
-Daniel Stenberg (27 Jan 2021)
|
|
|
-- urldata: move 'ints' to the end of 'connectdata'
|
|
|
+- cookies: Support multiple -b parameters
|
|
|
|
|
|
- To optimize storage slightly.
|
|
|
+ Previously only a single -b cookie parameter was supported with the last
|
|
|
+ one winning. This adds support for supplying multiple -b params to have
|
|
|
+ them serialized semicolon separated. Both cookiefiles and cookies can be
|
|
|
+ entered multiple times.
|
|
|
|
|
|
- Closes #6534
|
|
|
+ Closes #6649
|
|
|
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
|
|
|
-- urldata: store ip version in a single byte
|
|
|
+Daniel Stenberg (25 Feb 2021)
|
|
|
+- build: remove all traces of USE_BLOCKING_SOCKETS
|
|
|
|
|
|
- Closes #6534
|
|
|
-
|
|
|
-- urldata: remove duplicate 'upkeep_interval_ms' from connectdata
|
|
|
+ libcurl doesn't behave properly with the define set
|
|
|
|
|
|
- ... and rely only on the value already set in Curl_easy.
|
|
|
+ Closes #6655
|
|
|
+
|
|
|
+- RELEASE-NOTES: synced
|
|
|
+
|
|
|
+Daniel Gustafsson (25 Feb 2021)
|
|
|
+- docs: Fix typos
|
|
|
|
|
|
- Closes #6534
|
|
|
+ Random typos spotted when skimming docs.
|
|
|
|
|
|
-- urldata: remove 'local_ip' from the connectdata struct
|
|
|
+- cookies: Use named parameters in header prototypes
|
|
|
|
|
|
- As the info is already stored in the transfer handle anyway, there's no
|
|
|
- need to carry around a duplicate buffer for the life-time of the handle.
|
|
|
+ Align header with project style of using named parameters in the
|
|
|
+ function prototypes to aid readability and self-documentation.
|
|
|
|
|
|
- Closes #6534
|
|
|
+ Closes #6653
|
|
|
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
|
|
|
-- urldata: remove duplicate port number storage
|
|
|
+Daniel Stenberg (24 Feb 2021)
|
|
|
+- urldata: make 'actions[]' use unsigned char instead of int
|
|
|
|
|
|
- ... and use 'int' for ports. We don't use 'unsigned short' since -1 is
|
|
|
- still often used internally to signify "unknown value" and 0 - 65535 are
|
|
|
- all valid port numbers.
|
|
|
+ ... as it only needs a few bits per index anyway.
|
|
|
|
|
|
- Closes #6534
|
|
|
+ Reviewed-by: Daniel Gustafsson
|
|
|
+ Closes #6648
|
|
|
|
|
|
-- urldata: remove the duplicate 'ip_addr_str' field
|
|
|
-
|
|
|
- ... as the numerical IP address is already stored and kept in 'primary_ip'.
|
|
|
+- configure: fail if --with-quiche is used and quiche isn't found
|
|
|
|
|
|
- Closes #6534
|
|
|
+ Closes #6652
|
|
|
|
|
|
-- select: convert Curl_select() to private static function
|
|
|
+- [Gregor Jasny brought this change]
|
|
|
+
|
|
|
+ cmake: use CMAKE_INSTALL_INCLUDEDIR indirection
|
|
|
|
|
|
- The old function should not be used anywhere anymore (the only remaining
|
|
|
- gskit use has to be fixed to instead use Curl_poll or none at all).
|
|
|
+ Reviewed-by: Sergei Nikulov
|
|
|
+ Closes #6440
|
|
|
+
|
|
|
+Viktor Szakats (23 Feb 2021)
|
|
|
+- mingw: enable using strcasecmp()
|
|
|
|
|
|
- The static function version is now called our_select() and is only built
|
|
|
- if necessary.
|
|
|
+ This makes the 'Features:' list sorted case-insensitively,
|
|
|
+ bringing output in-line with *nix builds.
|
|
|
|
|
|
- Closes #6531
|
|
|
+ Reviewed-by: Jay Satiro
|
|
|
+ Closes #6644
|
|
|
|
|
|
-- Curl_chunker: shrink the struct
|
|
|
+- build: delete unused feature guards
|
|
|
|
|
|
- ... by removing a field, converting the hex index into a byte and
|
|
|
- rearranging the order. Cuts it down from 48 bytes to 32 on x86_64.
|
|
|
+ - `HAVE_STRNCASECMP`
|
|
|
+ - `HAVE_TCGETATTR`
|
|
|
+ - `HAVE_TCSETATTR`
|
|
|
|
|
|
- Closes #6527
|
|
|
+ Reviewed-by: Jay Satiro
|
|
|
+ Reviewed-by: Daniel Stenberg
|
|
|
+ Closes #6645
|
|
|
|
|
|
-- curl: include the file name in --xattr/--remote-time error msgs
|
|
|
+Jay Satiro (23 Feb 2021)
|
|
|
+- docs: add CURLOPT_CURLU to 'See also' in curl_url_ functions
|
|
|
+
|
|
|
+ Closes https://github.com/curl/curl/pull/6639
|
|
|
|
|
|
-- curl: s/config->global/global/ in single_transfer()
|
|
|
+Daniel Stenberg (23 Feb 2021)
|
|
|
+- [Jacob Hoffman-Andrews brought this change]
|
|
|
|
|
|
-- curl: move fprintf outputs to warnf
|
|
|
+ configure: make hyper opt-in, and fail if missing
|
|
|
|
|
|
- For setting and getting time of the download. To make the outputs
|
|
|
- respect --silent etc.
|
|
|
+ Previously, configure would look for hyper by default, and use it if
|
|
|
+ found; otherwise it would not use hyper, and not error.
|
|
|
|
|
|
- Reported-by: Viktor Szakats
|
|
|
- Fixes #6533
|
|
|
- Closes #6535
|
|
|
-
|
|
|
-- [Tatsuhiro Tsujikawa brought this change]
|
|
|
-
|
|
|
- ngtcp2: Fix http3 upload stall
|
|
|
+ Now, configure will not look for hyper unless --with-hyper is passed. If
|
|
|
+ configure looks for hyper and fails, it will error.
|
|
|
|
|
|
- Closes #6521
|
|
|
-
|
|
|
-- [Tatsuhiro Tsujikawa brought this change]
|
|
|
-
|
|
|
- ngtcp2: Fix stack buffer overflow
|
|
|
+ Also, add -ld -lpthread -lm to Hyper's libs. I think they are required.
|
|
|
|
|
|
- Closes #6521
|
|
|
+ Closes #6598
|
|
|
|
|
|
-- warnless.h: remove the prototype for curlx_ultosi
|
|
|
+- multi: do once-per-transfer inits in before_perform in DID state
|
|
|
|
|
|
- Follow-up to 217552503ff3
|
|
|
-
|
|
|
-- warnless: remove curlx_ultosi
|
|
|
+ ... since the state machine might go to RATELIMITING and then back to
|
|
|
+ PERFORMING doing once-per-transfer inits in that function is wrong and
|
|
|
+ it caused problems with receiving chunked HTTP and it set the
|
|
|
+ PRETRANSFER time much too often...
|
|
|
|
|
|
- ... not used anywhere
|
|
|
+ Regression from b68dc34af341805aeb7b3715 (shipped in 7.75.0)
|
|
|
|
|
|
- Closes #6530
|
|
|
-
|
|
|
-- [Patrick Monnerat brought this change]
|
|
|
+ Reported-by: Amaury Denoyelle
|
|
|
+ Fixes #6640
|
|
|
+ Closes #6641
|
|
|
|
|
|
- lib: remove conn->data uses
|
|
|
-
|
|
|
- Closes #6515
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
-- pingpong: remove the 'conn' struct member
|
|
|
+- CODE_STYLE.md: fix broken link to INTERNALS
|
|
|
|
|
|
- ... as it's superfluous now when Curl_easy is passed in and we can
|
|
|
- derive the connection from that instead and avoid the duplicate copy.
|
|
|
+ ... the link would only work if browsed on GitHub, while this link now
|
|
|
+ takes the user to the website instead and thus should work on either.
|
|
|
|
|
|
- Closes #6525
|
|
|
+ Reported-by: David Demelier
|
|
|
|
|
|
-- hostip/proxy: remove conn->data use
|
|
|
+- curl_url_set.3: mention CURLU_PATH_AS_IS
|
|
|
|
|
|
- Closes #6513
|
|
|
-
|
|
|
-- url: reduce conn->data references
|
|
|
+ ... it has been supported since the URL API was added.
|
|
|
|
|
|
- ... there are a few left but let's keep them to last
|
|
|
+ Bug: https://curl.se/mail/lib-2021-02/0046.html
|
|
|
|
|
|
- Closes #6512
|
|
|
-
|
|
|
-- scripts/singleuse: add curl_easy_option*
|
|
|
+ Closes #6638
|
|
|
|
|
|
-Jay Satiro (25 Jan 2021)
|
|
|
-- test410: fix for windows
|
|
|
+Viktor Szakats (21 Feb 2021)
|
|
|
+- time: enable 64-bit time_t in supported mingw environments
|
|
|
|
|
|
- - Pass the very long request header via file instead of command line.
|
|
|
+ (Unless 32-bit `time_t` is selected manually via the `_USE_32BIT_TIME_T`
|
|
|
+ mingw macro.)
|
|
|
|
|
|
- Prior to this change the 49k very long request header string was passed
|
|
|
- via command line and on Windows that is too long so it was truncated and
|
|
|
- the test would fail (specifically msys CI).
|
|
|
+ Previously, 64-bit `time_t` was enabled on VS2005 and newer only, and
|
|
|
+ 32-bit `time_t` was used on all other Windows builds.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6516
|
|
|
+ Assisted-by: Jay Satiro
|
|
|
+ Closes #6636
|
|
|
|
|
|
-Daniel Stenberg (25 Jan 2021)
|
|
|
-- libssh2: move data from connection object to transfer object
|
|
|
+Jay Satiro (20 Feb 2021)
|
|
|
+- test1188: Check for --fail HTTP status
|
|
|
|
|
|
- Readdir data, filenames and attributes are strictly related to the
|
|
|
- transfer and not the connection. This also reduces the total size of the
|
|
|
- fixed connectdata struct.
|
|
|
+ - Change the test to check for curl error on HTTP 404 Not Found.
|
|
|
|
|
|
- Closes #6519
|
|
|
-
|
|
|
-- RELEASE-NOTES: synced
|
|
|
-
|
|
|
-- [Patrick Monnerat brought this change]
|
|
|
-
|
|
|
- lib: remove conn->data uses
|
|
|
+ test1188 tests "--write-out with %{onerror} and %{urlnum} to stderr".
|
|
|
+ Prior to this change it did that by specifying a non-existent host which
|
|
|
+ would cause an error. ISPs may hijack DNS and resolve non-existent hosts
|
|
|
+ so the test would not work if that was the case.
|
|
|
|
|
|
- Closes #6499
|
|
|
+ Ref: https://en.wikipedia.org/wiki/DNS_hijacking#Manipulation_by_ISPs
|
|
|
+ Ref: https://github.com/curl/curl/issues/6621
|
|
|
+ Ref: https://github.com/curl/curl/pull/6623
|
|
|
+
|
|
|
+ Closes https://github.com/curl/curl/pull/6637
|
|
|
|
|
|
-- hyper: remove the conn->data references
|
|
|
+- memdebug: close debug logfile explicitly on exit
|
|
|
+
|
|
|
+ - Use atexit to register a dbg cleanup function that closes the logfile.
|
|
|
+
|
|
|
+ LeakSantizier (LSAN) calls _exit() instead of exit() when a leak is
|
|
|
+ detected on exit so the logfile must be closed explicitly or data could
|
|
|
+ be lost. Though _exit() does not call atexit handlers such as this,
|
|
|
+ LSAN's call to _exit() comes after the atexit handlers are called.
|
|
|
|
|
|
- Closes #6508
|
|
|
-
|
|
|
-- travis: build ngtcp2 --with-gnutls
|
|
|
+ Prior to this change the logfile was not explicitly closed so it was
|
|
|
+ possible that if LSAN detected a leak and called _exit (which does
|
|
|
+ not flush or close files like exit) then the logfile could be missing
|
|
|
+ data. That could then cause curl's memanalyze to report false leaks
|
|
|
+ (eg a malloc was recorded to the logfile but the corresponding free was
|
|
|
+ discarded from the buffer instead of written to the logfile, then
|
|
|
+ memanalyze reports that as a leak).
|
|
|
|
|
|
- ... since they disable it by default since a few days back.
|
|
|
+ Ref: https://github.com/google/sanitizers/issues/1374
|
|
|
|
|
|
- Closes #6506
|
|
|
- Fixes #6493
|
|
|
+ Bug: https://github.com/curl/curl/pull/6591#issuecomment-780396541
|
|
|
+
|
|
|
+ Closes https://github.com/curl/curl/pull/6620
|
|
|
|
|
|
-- hostip: remove conn->data from resolver functions
|
|
|
+- curl_multibyte: always return a heap-allocated copy of string
|
|
|
|
|
|
- This also moves the 'async' struct from the connectdata struct into the
|
|
|
- Curl_easy struct, which seems like a better home for it.
|
|
|
+ - Change the Windows char <-> UTF-8 conversion functions to return an
|
|
|
+ allocated copy of the passed in string instead of the original.
|
|
|
|
|
|
- Closes #6497
|
|
|
-
|
|
|
-Jay Satiro (22 Jan 2021)
|
|
|
-- strerror: skip errnum >= 0 assertion on windows
|
|
|
+ Prior to this change the curlx_convert_ functions would, as what I
|
|
|
+ assume was an optimization, not make a copy of the passed in string if
|
|
|
+ no conversion was required. No conversion is required in non-UNICODE
|
|
|
+ Windows builds since our tchar strings are type char and remain in
|
|
|
+ whatever the passed in encoding is, which is assumed to be UTF-8 but may
|
|
|
+ be other encoding.
|
|
|
|
|
|
- On Windows an error number may be greater than INT_MAX and negative once
|
|
|
- cast to int.
|
|
|
+ In contrast the UNICODE Windows builds require conversion
|
|
|
+ (wchar <-> char) and do return a copy. That inconsistency could lead to
|
|
|
+ programming errors where the developer expects a copy, and does not
|
|
|
+ realize that won't happen in all cases.
|
|
|
|
|
|
- The assertion is checked only in debug builds.
|
|
|
+ Closes https://github.com/curl/curl/pull/6602
|
|
|
+
|
|
|
+Viktor Szakats (19 Feb 2021)
|
|
|
+- http: add new files missed from referrer commit
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6504
|
|
|
+ Ref: 44872aefc2d54f297caf2b0cc887df321bc9d791
|
|
|
+ Ref: #6591
|
|
|
|
|
|
-Daniel Stenberg (21 Jan 2021)
|
|
|
-- doh: make Curl_doh_is_resolved survive a NULL pointer
|
|
|
+- http: add support to read and store the referrer header
|
|
|
|
|
|
- ... if Curl_doh() returned a NULL, this function gets called anyway as
|
|
|
- in a asynch procedure. Then the doh struct pointer is NULL and signifies
|
|
|
- an OOM situation.
|
|
|
+ - add CURLINFO_REFERER libcurl option
|
|
|
+ - add --write-out '%{referer}' command-line option
|
|
|
+ - extend --xattr command-line option to fill user.xdg.referrer.url extended
|
|
|
+ attribute with the referrer (if there was any)
|
|
|
|
|
|
- Follow-up to 6246a1d8c6776
|
|
|
+ Closes #6591
|
|
|
|
|
|
-- wolfssh: remove conn->data references
|
|
|
+Daniel Stenberg (19 Feb 2021)
|
|
|
+- urldata: remove the _ORIG suffix from string names
|
|
|
|
|
|
- ... and repair recent build breakage
|
|
|
+ It doesn't provide any useful info but only makes the names longer.
|
|
|
|
|
|
- Closes #6507
|
|
|
+ Closes #6624
|
|
|
|
|
|
-- http: empty reply connection are not left intact
|
|
|
+- url: fix memory leak if OOM in the HSTS handling
|
|
|
|
|
|
- ... so mark the connection as closed in this condition to prevent that
|
|
|
- verbose message to wrongly appear.
|
|
|
+ Reported-by: Viktor Szakats
|
|
|
+ Bug: https://github.com/curl/curl/pull/6627#issuecomment-781626205
|
|
|
|
|
|
- Reported-by: Matt Holt
|
|
|
- Bug: https://twitter.com/mholt6/status/1352130240265375744
|
|
|
- Closes #6503
|
|
|
+ Closes #6628
|
|
|
|
|
|
-- chunk/encoding: remove conn->data references
|
|
|
+- gnutls: assume nettle crypto support
|
|
|
|
|
|
- ... by anchoring more functions on Curl_easy instead of connectdata
|
|
|
+ nettle has been the default crypto library with GnuTLS since 2010. By
|
|
|
+ dropping support for the previous libcrypto, we simplify code.
|
|
|
|
|
|
- Closes #6498
|
|
|
-
|
|
|
-Jay Satiro (20 Jan 2021)
|
|
|
-- [Erik Olsson brought this change]
|
|
|
+ Closes #6625
|
|
|
|
|
|
- lib: save a bit of space with some structure packing
|
|
|
+- asyn-ares: use consistent resolve error message
|
|
|
|
|
|
- - Reorder some internal struct members so that less padding is used.
|
|
|
+ ... with the help of Curl_resolver_error() which now is moved from
|
|
|
+ asyn-thead.c and is provided globally for this purpose.
|
|
|
|
|
|
- This is an attempt at saving a bit of space by packing some structs
|
|
|
- (using pahole to find the holes) where it might make sense to do
|
|
|
- so without losing readability.
|
|
|
+ Follow-up to 35ca04ce1b77636
|
|
|
|
|
|
- I.e., I tried to avoid separating fields that seem grouped
|
|
|
- together (like the cwd... fields in struct ftp_conn for instance).
|
|
|
- Also abstained from touching fields behind conditional macros as
|
|
|
- that quickly can get complicated.
|
|
|
+ Makes test 1188 work for c-ares builds
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6483
|
|
|
+ Closes #6626
|
|
|
|
|
|
-Daniel Stenberg (20 Jan 2021)
|
|
|
-- INSTALL.md: fix typo
|
|
|
+Viktor Szakats (18 Feb 2021)
|
|
|
+- ci: stop building on freebsd-12-1
|
|
|
|
|
|
- Found-by: Marcel Raad
|
|
|
-
|
|
|
-- [Fabian Keil brought this change]
|
|
|
-
|
|
|
- http: get CURLOPT_REQUEST_TARGET working with a HTTP proxy
|
|
|
+ An updated freebsd-12-2 image was added a few months ago, and this
|
|
|
+ older one is consistently failing to go past `pkginstall`:
|
|
|
+ ```
|
|
|
+ Newer FreeBSD version for package py37-mlt:
|
|
|
+ To ignore this error set IGNORE_OSVERSION=yes
|
|
|
+ - package: 1202000
|
|
|
+ - running kernel: 1201000
|
|
|
+ Ignore the mismatch and continue? [Y/n]: pkg: repository FreeBSD contains packages for wrong OS version: FreeBSD:12:amd64
|
|
|
+ ```
|
|
|
|
|
|
- Added test 1613 to verify.
|
|
|
+ FreeBSD thread suggests that 12.1 is EOL, and best to avoid.
|
|
|
|
|
|
- Closes #6490
|
|
|
-
|
|
|
-- Merge branch 'bagder/curl_range-data-conn'
|
|
|
-
|
|
|
-- ftp: remove conn->data leftover
|
|
|
-
|
|
|
-- curl_range: remove conn->data
|
|
|
+ Ref: https://forums.freebsd.org/threads/78856/
|
|
|
|
|
|
- Closes #6496
|
|
|
-
|
|
|
-- INSTALL: now at 85 operating systems
|
|
|
+ Reviewed-by: Daniel Stenberg
|
|
|
+ Closes #6622
|
|
|
|
|
|
-- quiche: fix unused parameter ‘conn’
|
|
|
+Daniel Stenberg (18 Feb 2021)
|
|
|
+- test1188: change error from connect to resolve error
|
|
|
|
|
|
- Follow-up to 2bdec0b3
|
|
|
-
|
|
|
-- transfer: fix ‘conn’ undeclared mistake for iconv build
|
|
|
+ Using the %NOLISTENPORT to trigger a connection failure is somewhat
|
|
|
+ "risky" (since it isn't guaranteed to not be listened to) and caused
|
|
|
+ occasional CI problems. This fix changes the infused error to be a more
|
|
|
+ reliable one but still verifies the --write-out functionality properly -
|
|
|
+ which is the purpose of this test.
|
|
|
|
|
|
- Follow-up to 219d9f8620d
|
|
|
+ Reported-by: Jay Satiro
|
|
|
+ Fixes #6621
|
|
|
+ Closes #6623
|
|
|
|
|
|
-- doh: allocate state struct on demand
|
|
|
-
|
|
|
- ... instead of having it static within the Curl_easy struct. This takes
|
|
|
- away 1176 bytes (18%) from the Curl_easy struct that aren't used very
|
|
|
- often and instead makes the code allocate it when needed.
|
|
|
-
|
|
|
- Closes #6492
|
|
|
+- url.c: use consistent error message for failed resolve
|
|
|
|
|
|
-- socks: use the download buffer instead
|
|
|
+- BUGS: language polish
|
|
|
+
|
|
|
+- wolfssl: don't store a NULL sessionid
|
|
|
|
|
|
- The SOCKS code now uses the generic download buffer for temporary
|
|
|
- storage during the connection procedure, instead of having its own
|
|
|
- private 600 byte buffer that adds to the connectdata struct size. This
|
|
|
- works fine because this point the buffer is allocated but is not use for
|
|
|
- download yet since the connection hasn't completed.
|
|
|
+ This caused a memory leak as the session id cache entry was still
|
|
|
+ erroneously stored with a NULL sessionid and that would later be treated
|
|
|
+ as not needed to get freed.
|
|
|
|
|
|
- This reduces the connection struct size by 22% on a 64bit arch!
|
|
|
+ Reported-by: Gisle Vanem
|
|
|
+ Fixes #6616
|
|
|
+ Closes #6617
|
|
|
+
|
|
|
+- parse_proxy: fix a memory leak in the OOM path
|
|
|
|
|
|
- The SOCKS buffer needs to be at least 600 bytes, and the download buffer
|
|
|
- is guaranteed to never be smaller than 1000 bytes.
|
|
|
+ Reported-by: Jay Satiro
|
|
|
+ Reviewed-by: Jay Satiro
|
|
|
+ Reviewed-by: Emil Engler
|
|
|
|
|
|
- Closes #6491
|
|
|
+ Closes #6614
|
|
|
+ Bug: https://github.com/curl/curl/pull/6591#issuecomment-780396541
|
|
|
|
|
|
-- urldata: make magic be the first struct field
|
|
|
+Jay Satiro (17 Feb 2021)
|
|
|
+- url: fix possible use-after-free in default protocol
|
|
|
|
|
|
- By making the `magic` identifier the same size and at the same place
|
|
|
- within the structs (easy, multi, share), libcurl will be able to more
|
|
|
- reliably detect and safely error out if an application passes in the
|
|
|
- wrong handle to APIs. Easier to detect and less likely to cause crashes
|
|
|
- if done.
|
|
|
+ Prior to this change if the user specified a default protocol and a
|
|
|
+ separately allocated non-absolute URL was used then it was freed
|
|
|
+ prematurely, before it was then used to make the replacement URL.
|
|
|
|
|
|
- Such mixups can't be detected at compile-time due to them being
|
|
|
- typedefed void pointers - unless `CURL_STRICTER` is defined.
|
|
|
+ Bug: https://github.com/curl/curl/issues/6604#issuecomment-780138219
|
|
|
+ Reported-by: arvids-kokins-bidstack@users.noreply.github.com
|
|
|
|
|
|
- Closes #6484
|
|
|
+ Closes https://github.com/curl/curl/pull/6613
|
|
|
|
|
|
-- http_chunks: correct and clarify a comment on hexnumber length
|
|
|
-
|
|
|
- ... and also rename the define for max length.
|
|
|
+Daniel Stenberg (16 Feb 2021)
|
|
|
+- multi: rename the multi transfer states
|
|
|
|
|
|
- Closes #6489
|
|
|
-
|
|
|
-- curl_path: remove conn->data use
|
|
|
+ While working on documenting the states it dawned on me that step one is
|
|
|
+ to use more descriptive names on the states. This also changes prefix on
|
|
|
+ the states to make them shorter in the source.
|
|
|
|
|
|
- Closes #6487
|
|
|
-
|
|
|
-- transfer: remove conn->data use
|
|
|
+ State names NOT ending with *ing are transitional ones.
|
|
|
|
|
|
- Closes #6486
|
|
|
+ Closes #6612
|
|
|
|
|
|
-- quic: remove conn->data use
|
|
|
+Viktor Szakats (16 Feb 2021)
|
|
|
+- http: do not add a referrer header with empty value
|
|
|
|
|
|
- Closes #6485
|
|
|
-
|
|
|
-- [Fabian Keil brought this change]
|
|
|
-
|
|
|
- Add test1181: Proxy request with --proxy-header "Connection: Keep-Alive"
|
|
|
-
|
|
|
-- [Fabian Keil brought this change]
|
|
|
-
|
|
|
- Add test1180: Proxy request with -H "Proxy-Connection: Keep-Alive"
|
|
|
+ Previously an empty 'Referer:' header was added to the HTTP request when
|
|
|
+ passing `--referer ';auto'` or `--referer ''` on the command-line. This
|
|
|
+ patch makes `--referer` work like `--header 'Referer:'` and will only add
|
|
|
+ the header if it has a non-zero length value.
|
|
|
|
|
|
- At the moment the test fails as curl sends two Proxy-Connection
|
|
|
- headers.
|
|
|
-
|
|
|
-- c-hyper: avoid duplicated Proxy-Connection headers
|
|
|
+ Reviewed-by: Jay Satiro
|
|
|
+ Closes #6610
|
|
|
|
|
|
-- http: make providing Proxy-Connection header not cause duplicated headers
|
|
|
+Daniel Stenberg (16 Feb 2021)
|
|
|
+- lib: remove 'conn->data' completely
|
|
|
|
|
|
- Fixes test 1180
|
|
|
+ The Curl_easy pointer struct entry in connectdata is now gone. Just
|
|
|
+ before commit 215db086e0 landed on January 8, 2021 there were 919
|
|
|
+ references to conn->data.
|
|
|
|
|
|
- Bug: https://curl.se/mail/lib-2021-01/0095.html
|
|
|
- Reported-by: Fabian Keil
|
|
|
- Closes #6472
|
|
|
+ Closes #6608
|
|
|
|
|
|
-- runtests: preprocess DISABLED to allow conditionals
|
|
|
+- openldap: pass 'data' to the callbacks instead of 'conn'
|
|
|
+
|
|
|
+Jay Satiro (15 Feb 2021)
|
|
|
+- doh: Fix sharing user's resolve list with DOH handles
|
|
|
|
|
|
- ... with this function provided, we can disable tests for specific
|
|
|
- environments and setups directly within this file.
|
|
|
+ - Share the shared object from the user's easy handle with the DOH
|
|
|
+ handles.
|
|
|
|
|
|
- Closes #6477
|
|
|
-
|
|
|
-- runtests: turn preprocessing into a separate function
|
|
|
+ Prior to this change if the user had set a shared object with shared
|
|
|
+ cached DNS (CURL_LOCK_DATA_DNS) for their easy handle then that wasn't
|
|
|
+ used by any associated DOH handles, since they used the multi's default
|
|
|
+ hostcache.
|
|
|
|
|
|
- ... and remove all other variable substitutions as they're now done once
|
|
|
- and for all in the preprocessor.
|
|
|
-
|
|
|
-- lib/Makefile.inc: convert to listing each file on its own line
|
|
|
+ This change means all the handles now use the same hostcache, which is
|
|
|
+ either the shared hostcache from the user created shared object if it
|
|
|
+ exists or if not then the multi's default hostcache.
|
|
|
|
|
|
- ... to make it diff friendlier and easier to read.
|
|
|
+ Reported-by: Manuj Bhatia
|
|
|
|
|
|
- Closes #6448
|
|
|
+ Fixes https://github.com/curl/curl/issues/6589
|
|
|
+ Closes https://github.com/curl/curl/pull/6607
|
|
|
|
|
|
-- ftplistparser: remove use of conn->data
|
|
|
+Daniel Stenberg (15 Feb 2021)
|
|
|
+- http2: remove conn->data use
|
|
|
|
|
|
- Closes #6482
|
|
|
-
|
|
|
-- lib: more conn->data cleanups
|
|
|
+ ... but instead use a private alternative that points to the "driving
|
|
|
+ transfer" from the connection. We set the "user data" associated with
|
|
|
+ the connection to be the connectdata struct, but when we drive transfers
|
|
|
+ the code still needs to know the pointer to the transfer. We can change
|
|
|
+ the user data to become the Curl_easy handle, but with older nghttp2
|
|
|
+ version we cannot dynamically update that pointer properly when
|
|
|
+ different transfers are used over the same connection.
|
|
|
|
|
|
- Closes #6479
|
|
|
-
|
|
|
-- [Patrick Monnerat brought this change]
|
|
|
+ Closes #6520
|
|
|
|
|
|
- vtls: reduce conn->data use
|
|
|
+- openssl: remove conn->data use
|
|
|
|
|
|
- Closes #6474
|
|
|
-
|
|
|
-- hyper: deliver data to application with Curl_client_write
|
|
|
+ We still make the trace callback function get the connectdata struct
|
|
|
+ passed to it, since the callback is anchored on the connection.
|
|
|
|
|
|
- ... just as the native code path does. Avoids sending too large data
|
|
|
- chunks in the callback and more.
|
|
|
+ Repeatedly updating the callback pointer to set 'data' with
|
|
|
+ SSL_CTX_set_msg_callback_arg() doesn't seem to work, probably because
|
|
|
+ there might already be messages in the queue with the old pointer.
|
|
|
|
|
|
- Reported-by: Gisle Vanem
|
|
|
- Fixes #6462
|
|
|
- Closes #6473
|
|
|
+ This code therefore makes sure to set the "logger" handle before using
|
|
|
+ OpenSSL calls so that the right easy handle gets used for tracing.
|
|
|
+
|
|
|
+ Closes #6522
|
|
|
|
|
|
-- gopher: remove accidental conn->data leftover
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
-- libssh: avoid plain free() of libssh-memory
|
|
|
+Jay Satiro (14 Feb 2021)
|
|
|
+- doh: add options to disable ssl verification
|
|
|
|
|
|
- Since curl's own memory debugging system redefines free() calls to track
|
|
|
- and fiddle with memory, it cannot be used on memory allocated by 3rd
|
|
|
- party libraries.
|
|
|
+ - New libcurl options CURLOPT_DOH_SSL_VERIFYHOST,
|
|
|
+ CURLOPT_DOH_SSL_VERIFYPEER and CURLOPT_DOH_SSL_VERIFYSTATUS do the
|
|
|
+ same as their respective counterparts.
|
|
|
+
|
|
|
+ - New curl tool options --doh-insecure and --doh-cert-status do the same
|
|
|
+ as their respective counterparts.
|
|
|
|
|
|
- Third party libraries SHOULD NOT require free() to release allocated
|
|
|
- resources for this reason - and libs can use separate healp allocators
|
|
|
- on some systems (like Windows) so free() doesn't necessarily work
|
|
|
- anyway.
|
|
|
+ Prior to this change DOH SSL certificate verification settings for
|
|
|
+ verifyhost and verifypeer were supposed to be inherited respectively
|
|
|
+ from CURLOPT_SSL_VERIFYHOST and CURLOPT_SSL_VERIFYPEER, but due to a bug
|
|
|
+ were not. As a result DOH verification remained at the default, ie
|
|
|
+ enabled, and it was not possible to disable. This commit changes
|
|
|
+ behavior so that the DOH verification settings are independent and not
|
|
|
+ inherited.
|
|
|
|
|
|
- Filed as an issue with libssh: https://bugs.libssh.org/T268
|
|
|
+ Ref: https://github.com/curl/curl/pull/4579#issuecomment-554723676
|
|
|
|
|
|
- Closes #6481
|
|
|
+ Fixes https://github.com/curl/curl/issues/4578
|
|
|
+ Closes https://github.com/curl/curl/pull/6597
|
|
|
|
|
|
-- send: assert that Curl_write_plain() has a ->conn when called
|
|
|
+- hostip: fix crash in sync resolver builds that use DOH
|
|
|
|
|
|
- To help catch bad invokes.
|
|
|
+ - Guard some Curl_async accesses with USE_CURL_ASYNC instead of
|
|
|
+ !CURLRES_SYNCH.
|
|
|
|
|
|
- Closes #6476
|
|
|
-
|
|
|
-- test410: verify HTTPS GET with a 49K request header
|
|
|
+ This is another follow-up to 8335c64 which moved the async struct from
|
|
|
+ the connectdata struct into the Curl_easy struct. A previous follow-up
|
|
|
+ 6cd167a fixed building for sync resolver by guarding some async struct
|
|
|
+ accesses with !CURLRES_SYNCH. The problem is since DOH (DNS-over-HTTPS)
|
|
|
+ is available as an asynchronous secondary resolver the async struct may
|
|
|
+ be used even when libcurl is built for the sync resolver. That means
|
|
|
+ that CURLRES_SYNCH and USE_CURL_ASYNC may be defined at the same time.
|
|
|
|
|
|
- skip test 410 for mesalink in the CI as it otherwise hangs "forever"
|
|
|
+ Closes https://github.com/curl/curl/pull/6603
|
|
|
|
|
|
-- lib: pass in 'struct Curl_easy *' to most functions
|
|
|
+Daniel Stenberg (13 Feb 2021)
|
|
|
+- KNOWN_BUGS: cannot enable LDAPS on Windows with cmake
|
|
|
|
|
|
- ... in most cases instead of 'struct connectdata *' but in some cases in
|
|
|
- addition to.
|
|
|
+ Reported-by: Jack Boos Yu
|
|
|
+ Closes #6284
|
|
|
+
|
|
|
+- KNOWN_BUGS: Excessive HTTP/2 packets with TCP_NODELAY
|
|
|
|
|
|
- - We mostly operate on transfers and not connections.
|
|
|
+ Reported-by: Alex Xu
|
|
|
+ Closes #6363
|
|
|
+
|
|
|
+- http: use credentials from transfer, not connection
|
|
|
|
|
|
- - We need the transfer handle to log, store data and more. Everything in
|
|
|
- libcurl is driven by a transfer (the CURL * in the public API).
|
|
|
+ HTTP auth "accidentally" worked before this cleanup since the code would
|
|
|
+ always overwrite the connection credentials with the credentials from
|
|
|
+ the most recent transfer and since HTTP auth is typically done first
|
|
|
+ thing, this has not been an issue. It was still wrong and subject to
|
|
|
+ possible race conditions or future breakage if the sequence of functions
|
|
|
+ would change.
|
|
|
|
|
|
- - This work clarifies and separates the transfers from the connections
|
|
|
- better.
|
|
|
+ The data.set.str[] strings MUST remain unmodified exactly as set by the
|
|
|
+ user, and the credentials to use internally are instead set/updated in
|
|
|
+ state.aptr.*
|
|
|
|
|
|
- - We should avoid "conn->data". Since individual connections can be used
|
|
|
- by many transfers when multiplexing, making sure that conn->data
|
|
|
- points to the current and correct transfer at all times is difficult
|
|
|
- and has been notoriously error-prone over the years. The goal is to
|
|
|
- ultimately remove the conn->data pointer for this reason.
|
|
|
+ Added test 675 to verify different credentials used in two requests done
|
|
|
+ over a reused HTTP connection, which previously behaved wrongly.
|
|
|
|
|
|
- Closes #6425
|
|
|
+ Fixes #6542
|
|
|
+ Closes #6545
|
|
|
|
|
|
-Emil Engler (17 Jan 2021)
|
|
|
-- docs: fix typos in NEW-PROTOCOL.md
|
|
|
+- test433: clear some home dir env variables
|
|
|
|
|
|
- This fixes a misspelled "it" and a grammatically wrong "-ing" suffix.
|
|
|
+ Follow-up to bd6b54ba1f55b5
|
|
|
+
|
|
|
+ ... so that XDG_CONFIG_HOME is the only home dir variable set and thus
|
|
|
+ used correctly in the test!
|
|
|
|
|
|
- Closes #6471
|
|
|
+ Fixes #6599
|
|
|
+ Closes #6600
|
|
|
|
|
|
-Daniel Stenberg (16 Jan 2021)
|
|
|
- RELEASE-NOTES: synced
|
|
|
+
|
|
|
+ bumped the version to 7.76.0
|
|
|
|
|
|
-Jay Satiro (16 Jan 2021)
|
|
|
-- [Razvan Cojocaru brought this change]
|
|
|
+- travis: install libgsasl-dev to add that to the builds
|
|
|
+
|
|
|
+ Closes #6588
|
|
|
|
|
|
- cmake: expose CURL_DISABLE_OPENSSL_AUTO_LOAD_CONFIG
|
|
|
+- urldata: don't touch data->set.httpversion at run-time
|
|
|
|
|
|
- This does for cmake builds what --disable-openssl-auto-load-config
|
|
|
- does for autoconf builds.
|
|
|
+ Rename it to 'httpwant' and make a cloned field in the state struct as
|
|
|
+ well for run-time updates.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6435
|
|
|
-
|
|
|
-Daniel Stenberg (15 Jan 2021)
|
|
|
-- test1918: verify curl_easy_option_by_name() and curl_easy_option_by_id()
|
|
|
+ Also: refuse non-supported HTTP versions. Verified with test 129.
|
|
|
|
|
|
- ... and as a practical side-effect, make sure that the
|
|
|
- Curl_easyopts_check() function is asserted in debug builds, which we
|
|
|
- want to detect mismatches between the options list in easyoptions.c and
|
|
|
- the options in curl.h
|
|
|
+ Closes #6585
|
|
|
+
|
|
|
+Viktor Szakats (11 Feb 2021)
|
|
|
+- tests: disable .curlrc in more environments
|
|
|
|
|
|
- Found-by: Gisle Vanem
|
|
|
- Bug: https://github.com/curl/curl/commit/08e8455dddc5e48e58a12ade3815c01ae3da3b64#commitcomment-45991815
|
|
|
+ by also setting CURL_HOME and XDG_CONFIG_HOME envvars to the local
|
|
|
+ directory.
|
|
|
|
|
|
- Closes #6461
|
|
|
+ Reviewed-by: Daniel Stenberg
|
|
|
+ Fixes #6595
|
|
|
+ Closes #6596
|
|
|
|
|
|
-- [Gisle Vanem brought this change]
|
|
|
+- docs/Makefile.inc: format to be update-friendly
|
|
|
+
|
|
|
+ - one source file per line
|
|
|
+ - convert tabs to spaces
|
|
|
+ - do not align line-continuation backslashes
|
|
|
+ - sort source files alphabetically
|
|
|
+
|
|
|
+ Reviewed-by: Daniel Stenberg
|
|
|
+ Closes #6593
|
|
|
|
|
|
- easyoptions: add the missing AWS_SIGV4
|
|
|
+Daniel Stenberg (11 Feb 2021)
|
|
|
+- curl: provide libgsasl version and feature info in -V output
|
|
|
|
|
|
- Follow-up from AWS_SIGV4
|
|
|
+ Closes #6592
|
|
|
|
|
|
-- schannel_verify: fix safefree call typo
|
|
|
+- gsasl: provide CURL_VERSION_GSASL if built-in
|
|
|
|
|
|
- Follow-up from e87ad71d1ba00519
|
|
|
+ To let applications know the feature is available.
|
|
|
|
|
|
- Closes #6459
|
|
|
+ Closes #6592
|
|
|
|
|
|
-- mime: make sure setting MIMEPOST to NULL resets properly
|
|
|
-
|
|
|
- ... so that a function can first use MIMEPOST and then set it to NULL to
|
|
|
- reset it back to a blank POST.
|
|
|
+- curl: add --fail-with-body
|
|
|
|
|
|
- Added test 584 to verify the fix.
|
|
|
+ Prevent both --fail and --fail-with-body on the same command line.
|
|
|
|
|
|
- Reported-by: Christoph M. Becker
|
|
|
+ Verify with test 349, 360 and 361.
|
|
|
|
|
|
- Fixes #6455
|
|
|
- Closes #6456
|
|
|
+ Closes #6449
|
|
|
|
|
|
-- multi: set the PRETRANSFER time-stamp when we switch to PERFORM
|
|
|
+- TODO: remove HSTS
|
|
|
|
|
|
- ... instead of at end of the DO state. This makes the timer more
|
|
|
- accurate for the protocols that use the DOING state (such as FTP), and
|
|
|
- simplifies how the function (now called init_perform) is called.
|
|
|
+ Provided now since commit 7385610d0c74
|
|
|
+
|
|
|
+Jay Satiro (10 Feb 2021)
|
|
|
+- tests: Fix tests failing due to change in curl --help
|
|
|
|
|
|
- The timer will then include the entire procedure up to PERFORM -
|
|
|
- including all instructions for getting the transfer started.
|
|
|
+ Follow-up to parent 3183217 which added add missing <mode> argument to
|
|
|
+ --create-file-mode <mode>.
|
|
|
|
|
|
- Closes #6454
|
|
|
+ Ref: https://github.com/curl/curl/issues/6590
|
|
|
|
|
|
-- CURLINFO_PRETRANSFER_TIME.3: clarify
|
|
|
+- tool_help: add missing argument for --create-file-mode
|
|
|
|
|
|
- ... the timer *does* include the instructions for getting the remote
|
|
|
- file.
|
|
|
+ Prior to this change the required argument was not shown in curl --help.
|
|
|
|
|
|
- Ref: #6452
|
|
|
- Closes #6453
|
|
|
-
|
|
|
-- [Gisle Vanem brought this change]
|
|
|
-
|
|
|
- schannel: plug a memory-leak
|
|
|
+ before:
|
|
|
+ --create-file-mode File mode for created files
|
|
|
+
|
|
|
+ after:
|
|
|
+ --create-file-mode <mode> File mode (octal) for created files
|
|
|
|
|
|
- ... when built without -DUNICODE.
|
|
|
+ Reported-by: ZimCodes@users.noreply.github.com
|
|
|
|
|
|
- Closes #6457
|
|
|
+ Fixes https://github.com/curl/curl/issues/6590
|
|
|
|
|
|
-Jay Satiro (14 Jan 2021)
|
|
|
-- gitattributes: Set batch files to CRLF line endings on checkout
|
|
|
+- create-file-mode.d: add missing Arg tag
|
|
|
|
|
|
- If a batch file is run without CRLF line endings (ie LF-only) then
|
|
|
- arbitrary behavior may occur. I consider that a bug in Windows, however
|
|
|
- the effects can be serious enough (eg unintended code executed) that
|
|
|
- we're fixing it in the repo by requiring CRLF line endings for batch
|
|
|
- files on checkout.
|
|
|
+ Prior to this change the required argument was not shown.
|
|
|
+
|
|
|
+ curl.1 before: --create-file-mode
|
|
|
+ curl.1 after: --create-file-mode <mode>
|
|
|
|
|
|
- Prior to this change the checked-out line endings of batch files were
|
|
|
- dependent on a user's git preferences. On Windows it is common for git
|
|
|
- users to have automatic CRLF conversion enabled (core.autocrlf true),
|
|
|
- but those users that don't would run into this behavior.
|
|
|
+ Reported-by: ZimCodes@users.noreply.github.com
|
|
|
|
|
|
- For example a user has reported running the Visual Studio project
|
|
|
- generator batch file (projects/generate.bat) and it looped forever.
|
|
|
- Output showed that the Windows OS interpreter was occasionally jumping
|
|
|
- to arbitrary points in the batch file and executing commands. This
|
|
|
- resulted in unintended files being removed (a removal sequence called)
|
|
|
- and looping forever.
|
|
|
+ Fixes https://github.com/curl/curl/issues/6590
|
|
|
+
|
|
|
+Viktor Szakats (10 Feb 2021)
|
|
|
+- gsasl: fix errors/warnings building against libgsasl
|
|
|
|
|
|
- Ref: https://serverfault.com/q/429594
|
|
|
- Ref: https://stackoverflow.com/q/232651
|
|
|
- Ref: https://www.dostips.com/forum/viewtopic.php?t=8988
|
|
|
- Ref: https://git-scm.com/docs/gitattributes#_checking_out_and_checking_in
|
|
|
- Ref: https://git-scm.com/book/en/v2/Customizing-Git-Git-Configuration#_core_autocrlf
|
|
|
+ - also fix an indentation
|
|
|
+ - make Curl_auth_gsasl_token() use CURLcode (by Daniel Stenberg)
|
|
|
|
|
|
- Bug: https://github.com/curl/curl/discussions/6427
|
|
|
- Reported-by: Ganesh Kamath
|
|
|
+ Ref: https://github.com/curl/curl/pull/6372#issuecomment-776118711
|
|
|
+ Ref: https://github.com/curl/curl/pull/6588
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6442
|
|
|
-
|
|
|
-Daniel Stenberg (14 Jan 2021)
|
|
|
-- tool_operate: spellfix a comment
|
|
|
+ Reviewed-by: Jay Satiro
|
|
|
+ Assisted-by: Daniel Stenberg
|
|
|
+ Reviewed-by: Simon Josefsson
|
|
|
+ Closes #6587
|
|
|
|
|
|
-- ROADMAP: refreshed
|
|
|
+- Makefile.m32: add support for libgsasl dependency
|
|
|
|
|
|
- o removed HSTS - already implemented
|
|
|
- o added HTTPS RR records
|
|
|
- o mention HTTP/3 completion
|
|
|
-
|
|
|
-- http_chunks: remove Curl_ prefix from static functions
|
|
|
-
|
|
|
-- transfer: remove Curl_ prefix from static functions
|
|
|
-
|
|
|
-- tftp: remove Curl_ prefix from static functions
|
|
|
-
|
|
|
-- multi: remove Curl_ prefix from static functions
|
|
|
-
|
|
|
-- ldap: remove Curl_ prefix from static functions
|
|
|
-
|
|
|
-- doh: remove Curl_ prefix from static functions
|
|
|
-
|
|
|
-- asyn-ares: remove Curl_ prefix from static functions
|
|
|
-
|
|
|
-- vtls: remove Curl_ prefix from static functions
|
|
|
-
|
|
|
-- bearssl: remove Curl_ prefix from static functions
|
|
|
-
|
|
|
-- mbedtls: remove Curl_ prefix from static functions
|
|
|
-
|
|
|
-- wolfssl: remove Curl_ prefix from static functions
|
|
|
-
|
|
|
-- nss: remove Curl_ prefix from static functions
|
|
|
+ Reviewed-by: Marcel Raad
|
|
|
+ Closes #6586
|
|
|
|
|
|
-- gnutls: remove Curl_ prefix from static functions
|
|
|
+Marcel Raad (10 Feb 2021)
|
|
|
+- ngtcp2: clarify calculation precedence
|
|
|
+
|
|
|
+ As suggested by Codacy/cppcheck.
|
|
|
+
|
|
|
+ Closes https://github.com/curl/curl/pull/6576
|
|
|
|
|
|
-- openssl: remove Curl_ prefix from static functions
|
|
|
+- server: remove redundant condition
|
|
|
|
|
|
- ... as we reserve this prefix to library-wide functions.
|
|
|
+ `end` is always non-null here.
|
|
|
|
|
|
- Closes #6443
|
|
|
+ Closes https://github.com/curl/curl/pull/6576
|
|
|
|
|
|
-- nss: get the run-time version instead of build-time
|
|
|
+- lib: remove redundant code
|
|
|
|
|
|
- Closes #6445
|
|
|
+ Closes https://github.com/curl/curl/pull/6576
|
|
|
|
|
|
-Jay Satiro (12 Jan 2021)
|
|
|
-- tool_doswin: Restore original console settings on CTRL signal
|
|
|
+- mqttd: remove unused variable
|
|
|
|
|
|
- - Move Windows terminal init code from tool_main to tool_doswin.
|
|
|
+ Closes https://github.com/curl/curl/pull/6576
|
|
|
+
|
|
|
+- tool_paramhlp: reduce variable scope
|
|
|
|
|
|
- - Restore the original console settings on CTRL+C and CTRL+BREAK.
|
|
|
+ Closes https://github.com/curl/curl/pull/6576
|
|
|
+
|
|
|
+- tests: reduce variable scopes
|
|
|
|
|
|
- Background: On Windows the curl tool changes the console settings to
|
|
|
- enable virtual terminal processing (eg color output) if supported
|
|
|
- (ie Win 10). The original settings are restored on exit but prior to
|
|
|
- this change were not restored in the case of the CTRL signals.
|
|
|
+ Closes https://github.com/curl/curl/pull/6576
|
|
|
+
|
|
|
+- lib: reduce variable scopes
|
|
|
|
|
|
- Windows VT behavior varies depending on console/powershell/terminal;
|
|
|
- refer to the discussion in #6226.
|
|
|
+ Closes https://github.com/curl/curl/pull/6576
|
|
|
+
|
|
|
+- ftp: fix Codacy/cppcheck warning about null pointer arithmetic
|
|
|
|
|
|
- Assisted-by: Rich Turner
|
|
|
+ Increment `bytes` only if it is non-null.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6226
|
|
|
+ Closes https://github.com/curl/curl/pull/6576
|
|
|
|
|
|
-Daniel Stenberg (12 Jan 2021)
|
|
|
-- gen.pl: fix perl syntax
|
|
|
-
|
|
|
- Follow-up to 324cf1d2e
|
|
|
+Daniel Stenberg (9 Feb 2021)
|
|
|
+- ngtcp2: adapt to the new recv_datagram callback
|
|
|
|
|
|
-- [Emil Engler brought this change]
|
|
|
+- quiche: fix build error: use 'int' for port number
|
|
|
+
|
|
|
+ Follow-up to cb2dc1ba8
|
|
|
|
|
|
- help: update to current codebase
|
|
|
+- ftp: add 'list_only' to the transfer state struct
|
|
|
|
|
|
- This commit bumps the help to the current state of the project.
|
|
|
+ and rename it from 'ftp_list_only' since it is also used for SSH and
|
|
|
+ POP3. The state is updated internally for 'type=D' FTP URLs.
|
|
|
|
|
|
- Closes #6437
|
|
|
-
|
|
|
-- [Emil Engler brought this change]
|
|
|
+ Added test case 1570 to verify.
|
|
|
+
|
|
|
+ Closes #6578
|
|
|
|
|
|
- docs: fix line length bug in gen.pl
|
|
|
+- ftp: add 'prefer_ascii' to the transfer state struct
|
|
|
+
|
|
|
+ ... and make sure the code never updates 'set.prefer_ascii' as it breaks
|
|
|
+ handle reuse which should use the setting as the user specified it.
|
|
|
|
|
|
- The script warns if the length of $opt and $desc is > 78. However, these
|
|
|
- two variables are on totally separate lines so the check makes no sense.
|
|
|
- Also the $bitmask field is totally forgotten. Currently this leads to
|
|
|
- two warnings within `--resolve` and `--aws-sigv4`.
|
|
|
+ Added test 1569 to verify: it first makes an FTP transfer with ';type=A'
|
|
|
+ and then another without type on the same handle and the second should
|
|
|
+ then use binary. Previously, curl failed this.
|
|
|
|
|
|
- Closes #6438
|
|
|
+ Closes #6578
|
|
|
|
|
|
-- [Emil Engler brought this change]
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- docs: fix wrong documentation in help.d
|
|
|
-
|
|
|
- curl does not list all categories when you invoke "--help" without any
|
|
|
- parameters.
|
|
|
-
|
|
|
- Closes #6436
|
|
|
+- [Jacob Hoffman-Andrews brought this change]
|
|
|
|
|
|
-- aws-sigv4.d: polish the wording
|
|
|
+ vtls: initial implementation of rustls backend
|
|
|
|
|
|
- Make it shorter and imperative form
|
|
|
+ This adds a new TLS backend, rustls. It uses the C-to-rustls bindings
|
|
|
+ from https://github.com/abetterinternet/crustls.
|
|
|
|
|
|
- Closes #6439
|
|
|
-
|
|
|
-- [Fabian Keil brought this change]
|
|
|
-
|
|
|
- misc: fix typos
|
|
|
+ Rustls is at https://github.com/ctz/rustls/.
|
|
|
|
|
|
- Bug: https://curl.se/mail/lib-2021-01/0063.html
|
|
|
- Closes #6434
|
|
|
-
|
|
|
-- multi_runsingle: bail out early on data->conn == NULL
|
|
|
+ There is still a fair bit to be done, like sending CloseNotify on
|
|
|
+ connection shutdown, respecting CAPATH, and properly indicating features
|
|
|
+ like "supports TLS 1.3 ciphersuites." But it works well enough to make
|
|
|
+ requests and receive responses.
|
|
|
|
|
|
- As that's a significant error condition and scan-build warns for NULL
|
|
|
- pointer dereferences if we don't.
|
|
|
+ Blog post for context:
|
|
|
+ https://www.abetterinternet.org/post/memory-safe-curl/
|
|
|
|
|
|
- Closes #6433
|
|
|
+ Closes #6350
|
|
|
|
|
|
-- multi: skip DONE state if there's no connection left for ftp wildcard
|
|
|
-
|
|
|
- ... to avoid running in that state with data->conn being NULL.
|
|
|
+- [Simon Josefsson brought this change]
|
|
|
|
|
|
-- libssh2: fix "Value stored to 'readdir_len' is never read"
|
|
|
+ sasl: support SCRAM-SHA-1 and SCRAM-SHA-256 via libgsasl
|
|
|
|
|
|
- Detected by scan-build
|
|
|
+ Closes #6372
|
|
|
|
|
|
-- connect: mark intentional ignores of setsockopt return values
|
|
|
+Jay Satiro (9 Feb 2021)
|
|
|
+- lib: use int type for more port variables
|
|
|
|
|
|
- Pointed out by Coverity
|
|
|
+ This is a follow-up to 764c6bd. Prior to that change port variables
|
|
|
+ were usually type long.
|
|
|
|
|
|
- Closes #6431
|
|
|
+ Closes https://github.com/curl/curl/pull/6553
|
|
|
|
|
|
-Jay Satiro (11 Jan 2021)
|
|
|
-- http_proxy: Fix CONNECT chunked encoding race condition
|
|
|
+- tool_writeout: refactor write-out and write-out json
|
|
|
|
|
|
- - During the end-of-headers response phase do not mark the tunnel
|
|
|
- complete unless the response body was completely parsed/ignored.
|
|
|
+ - Deduplicate the logic used by write-out and write-out json.
|
|
|
|
|
|
- Prior to this change if the entirety of a CONNECT response with chunked
|
|
|
- encoding was not received by the time the final header was parsed then
|
|
|
- the connection would be marked done prematurely, before all the chunked
|
|
|
- data could be read in and ignored (since this is what we do with any
|
|
|
- CONNECT response body) and the connection could not be used.
|
|
|
+ Rather than have separate writeLong, writeString, etc, logic for
|
|
|
+ each of write-out and write-out json instead have respective shared
|
|
|
+ functions that can output either format and a 'use_json' parameter to
|
|
|
+ indicate whether it is json that is output.
|
|
|
|
|
|
- Bug: https://curl.se/mail/lib-2021-01/0033.html
|
|
|
- Reported-by: Fabian Keil
|
|
|
+ This will make it easier to maintain. Rather than have to go through
|
|
|
+ two sets of logic now we only have to go through one.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6432
|
|
|
-
|
|
|
-Daniel Stenberg (11 Jan 2021)
|
|
|
-- RELEASE-NOTES: synced
|
|
|
-
|
|
|
-- url: if IDNA conversion fails, fallback to Transitional
|
|
|
+ - Support write-out %{errormsg} and %{exitcode} in json.
|
|
|
|
|
|
- This improves IDNA2003 compatiblity.
|
|
|
+ - Clarify in the doc that %{exitcode} is the exit code of the transfer.
|
|
|
|
|
|
- Reported-by: Bubu on github
|
|
|
- Fixes #6423
|
|
|
- Closes #6428
|
|
|
-
|
|
|
-- travis: make the Hyper build from its master branch
|
|
|
+ Prior to this change it just said "The numerical exitcode" which
|
|
|
+ implies it's the exit code of the tool, and it's not necessarily that.
|
|
|
|
|
|
- Closes #6430
|
|
|
+ Closes https://github.com/curl/curl/pull/6544
|
|
|
|
|
|
-- http: make 'authneg' also work for Hyper
|
|
|
+- lib: drop USE_SOCKETPAIR in favor of CURL_DISABLE_SOCKETPAIR
|
|
|
|
|
|
- When doing a request with a request body expecting a 401/407 back, that
|
|
|
- initial request is sent with a zero content-length. Test 177 and more.
|
|
|
+ .. since the former is undocumented and they both do the same thing.
|
|
|
|
|
|
- Closes #6424
|
|
|
+ Closes https://github.com/curl/curl/pull/6517
|
|
|
|
|
|
-Jay Satiro (8 Jan 2021)
|
|
|
-- cmake: Add an option to disable libidn2
|
|
|
-
|
|
|
- New option USE_LIBIDN2 defaults to ON for libidn2 detection. Prior to
|
|
|
- this change libidn2 detection could not be turned off in cmake builds.
|
|
|
+- curl_multibyte: fall back to local code page stat/access on Windows
|
|
|
|
|
|
- Reported-by: William A Rowe Jr
|
|
|
+ If libcurl is built with Unicode support for Windows then it is assumed
|
|
|
+ the filename string is Unicode in UTF-8 encoding and it is converted to
|
|
|
+ UTF-16 to be passed to the wide character version of the respective
|
|
|
+ function (eg wstat). However the filename string may actually be in the
|
|
|
+ local encoding so, even if it successfully converted to UTF-16, if it
|
|
|
+ could not be stat/accessed then try again using the local code page
|
|
|
+ version of the function (eg wstat fails try stat).
|
|
|
|
|
|
- Fixes https://github.com/curl/curl/issues/6361
|
|
|
- Closes https://github.com/curl/curl/pull/6362
|
|
|
-
|
|
|
-Daniel Stenberg (8 Jan 2021)
|
|
|
-- HYPER: no longer needs the special branch
|
|
|
-
|
|
|
-- test179: use consistent header line endings
|
|
|
+ We already do this with fopen (ie wfopen fails try fopen), so I think it
|
|
|
+ makes sense to extend it to stat and access functions.
|
|
|
|
|
|
- ... to make "Hyper mode" work better.
|
|
|
+ Closes https://github.com/curl/curl/pull/6514
|
|
|
|
|
|
-- file: don't provide content-length for directories
|
|
|
-
|
|
|
- ... as it is misleading.
|
|
|
-
|
|
|
- Ref #6379
|
|
|
- Closes #6421
|
|
|
+- [Stephan Szabo brought this change]
|
|
|
|
|
|
-- TODO: Directory listing for FILE:
|
|
|
+ file: Support unicode urls on windows
|
|
|
|
|
|
- Ref #6379
|
|
|
+ Closes https://github.com/curl/curl/pull/6501
|
|
|
|
|
|
-- curl.h: add CURLPROTO_GOPHERS as own protocol identifier
|
|
|
-
|
|
|
- Follow-up to a1f06f32b860, to make sure it can be handled separately
|
|
|
- from plain gopher.
|
|
|
-
|
|
|
- Closes #6418
|
|
|
+- [Vincent Torri brought this change]
|
|
|
|
|
|
-- http: have CURLOPT_FAILONERROR fail after all headers
|
|
|
+ cmake: fix import library name for non-MS compiler on Windows
|
|
|
|
|
|
- ... so that Retry-After and other meta-content can still be used.
|
|
|
+ - Use _imp.lib suffix only for Microsoft's compiler (MSVC).
|
|
|
|
|
|
- Added 1634 to verify. Adjusted test 194 and 281 since --fail now also
|
|
|
- includes the header-terminating CRLF in the output before it exits.
|
|
|
+ Prior to this change library suffix _imp.lib was used for the import
|
|
|
+ library on Windows regardless of compiler.
|
|
|
|
|
|
- Fixes #6408
|
|
|
- Closes #6409
|
|
|
-
|
|
|
-- global_init: debug builds allocates a byte in init
|
|
|
+ With this change the other compilers should now use their default
|
|
|
+ suffix which should be .dll.a.
|
|
|
|
|
|
- ... to make build tools/valgrind warn if no curl_global_cleanup is
|
|
|
- called.
|
|
|
+ This change is motivated by the usage of pkg-config on MSYS2.
|
|
|
+ Indeed, when 'pkg-config --libs libcurl' is used, -lcurl is
|
|
|
+ passed to ld. The documentation of ld on Windows :
|
|
|
|
|
|
- This is conditionally only done for debug builds with the env variable
|
|
|
- CURL_GLOBAL_INIT set.
|
|
|
+ https://sourceware.org/binutils/docs/ld/WIN32.html
|
|
|
|
|
|
- Closes #6410
|
|
|
-
|
|
|
-- lib/unit tests: add missing curl_global_cleanup() calls
|
|
|
-
|
|
|
-- travis: adapt to Hyper build change
|
|
|
+ lists, in the 'direct linking to a dll' section, the pattern
|
|
|
+ of the searched import library, and libcurl_imp.lib is not there.
|
|
|
|
|
|
- Closes #6419
|
|
|
+ Closes https://github.com/curl/curl/pull/6225
|
|
|
|
|
|
-- pretransfer: setup the User-Agent header here
|
|
|
+Daniel Stenberg (9 Feb 2021)
|
|
|
+- urldata: move 'followlocation' to UrlState
|
|
|
|
|
|
- ... and not in the connection setup, as for multiplexed transfers the
|
|
|
- connection setup might be skipped and then the transfer would end up
|
|
|
- without the set user-agent!
|
|
|
+ As this is a state variable it does not belong in UserDefined which is
|
|
|
+ used to store values set by the user.
|
|
|
|
|
|
- Reported-by: Flameborn on github
|
|
|
- Assisted-by: Andrey Gursky
|
|
|
- Assisted-by: Jay Satiro
|
|
|
- Assisted-by: Mike Gelfand
|
|
|
- Fixes #6312
|
|
|
- Closes #6417
|
|
|
+ Closes #6582
|
|
|
|
|
|
-- test66: disable with Hyper
|
|
|
-
|
|
|
- ...as Hyper doesn't support HTTP/0.9
|
|
|
+- [Ikko Ashimine brought this change]
|
|
|
|
|
|
-- c-hyper: poll the tasks until end correctly
|
|
|
+ http_proxy: fix typo in http_proxy.c
|
|
|
|
|
|
- ... makes test 36 work.
|
|
|
+ settting -> setting
|
|
|
|
|
|
- Closes #6412
|
|
|
+ Closes #6583
|
|
|
|
|
|
-- [Gergely Nagy brought this change]
|
|
|
+- [Fabian Keil brought this change]
|
|
|
|
|
|
- mk-ca-bundle.pl: deterministic output when using -t
|
|
|
+ tests/server: Bump MAX_TAG_LEN to 200
|
|
|
|
|
|
- Printing trust purposes are now sorted, making the output deterministic
|
|
|
- when running on the same input certdata.txt.
|
|
|
+ This is useful for tests containing HTML inside of <data> sections.
|
|
|
+ For <img> tags it's not uncommon to be longer than the previous
|
|
|
+ limit of 79 bytes.
|
|
|
|
|
|
- Closes #6413
|
|
|
-
|
|
|
-- KNOWN_BUGS: fixed "wolfSSL lacks support for renegotiation"
|
|
|
+ An example of a previously problem-causing tag is:
|
|
|
+ <img src="http://config.privoxy.org/send-banner?type=auto" border="0" title="Killed-http://www.privoxy.org/images/privoxy.png-by-size" width="88" height="31">
|
|
|
+ which is needed for a Privoxy test for the banners-by-size filter.
|
|
|
|
|
|
- Fixed by #6411
|
|
|
+ Previously it caused server failures like:
|
|
|
+ 12:29:05.786961 ====> Client connect
|
|
|
+ 12:29:05.787116 accept_connection 3 returned 4
|
|
|
+ 12:29:05.787194 accept_connection 3 returned 0
|
|
|
+ 12:29:05.787285 Read 119 bytes
|
|
|
+ 12:29:05.787345 Process 119 bytes request
|
|
|
+ 12:29:05.787407 Got request: GET /banners-by-size/9 HTTP/1.1
|
|
|
+ 12:29:05.787464 Requested test number 9 part 0
|
|
|
+ 12:29:05.787686 getpart() failed with error: -2
|
|
|
+ 12:29:05.787744 - request found to be complete (9)
|
|
|
+ 12:29:05.787912 getpart() failed with error: -2
|
|
|
+ 12:29:05.788048 Wrote request (119 bytes) input to log/server.input
|
|
|
+ 12:29:05.788157 Send response test9 section <data>
|
|
|
+ 12:29:05.788443 getpart() failed with error: -2
|
|
|
+ 12:29:05.788498 instructed to close connection after server-reply
|
|
|
+ 12:29:05.788550 ====> Client disconnect 0
|
|
|
+ 12:29:05.871448 exit_signal_handler: 15
|
|
|
+ 12:29:05.871714 signalled to die
|
|
|
+ 12:29:05.872040 ========> IPv4 sws (port 21108 pid: 51758) exits with signal (15)
|
|
|
|
|
|
-- [Himanshu Gupta brought this change]
|
|
|
+- [Fabian Keil brought this change]
|
|
|
|
|
|
- wolfssl: add SECURE_RENEGOTIATION support
|
|
|
-
|
|
|
- Closes #6411
|
|
|
+ tests/badsymbols.pl: when opening '$incdir' fails include it in the error message
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+- [Fabian Keil brought this change]
|
|
|
|
|
|
-- wolfssl: update copyright year range
|
|
|
-
|
|
|
- Follow-up to 7de2e96535e9
|
|
|
+ runtests.1: document -o, -P, -L, and -E
|
|
|
|
|
|
-- c-hyper: make CURLE_GOT_NOTHING work
|
|
|
-
|
|
|
- Test 30
|
|
|
-
|
|
|
- Closes #6407
|
|
|
+- [Fabian Keil brought this change]
|
|
|
|
|
|
-- http_proxy: make CONNECT work with the Hyper backend
|
|
|
-
|
|
|
- Makes test 80 run
|
|
|
-
|
|
|
- Closes #6406
|
|
|
+ runtests.pl: add %TESTNUMBER variable to make copying tests more convenient
|
|
|
|
|
|
-- TODO: --fail-with-body perchance?
|
|
|
+- [Fabian Keil brought this change]
|
|
|
|
|
|
-Jay Satiro (4 Jan 2021)
|
|
|
-- tool_operate: fix the suppression logic of some error messages
|
|
|
-
|
|
|
- - Fix the failed truncation and failed writing body error messages to
|
|
|
- not be shown unless error messages are shown. (ie the user has
|
|
|
- specified -sS, or has not specified -s).
|
|
|
-
|
|
|
- - Also prefix same error messages with "curl: ", for example:
|
|
|
- curl: (23) Failed to truncate, exiting
|
|
|
-
|
|
|
- Prior to this change the failed truncation error messages would be shown
|
|
|
- if not -s, but did not account for -sS which should show.
|
|
|
-
|
|
|
- Prior to this change the failed writing body error messages would be
|
|
|
- shown always.
|
|
|
+ runtests.pl: add an -o option to change internal variables
|
|
|
|
|
|
- Ref: https://curl.se/docs/manpage.html#-S
|
|
|
+ runtests.pl has lots of internal variables one might want to
|
|
|
+ change in certain situations, but adding a dedicated option
|
|
|
+ for every single one of them isn't practical.
|
|
|
|
|
|
- Bug: https://curl.se/mail/archive-2020-12/0017.html
|
|
|
- Reported-by: Hongyi Zhao
|
|
|
+ Usage:
|
|
|
+ ./runtests.pl -o TESTDIR=$privoxy_curl_test_dir -o HOSTIP=10.0.0.1 ...
|
|
|
+
|
|
|
+- [Fabian Keil brought this change]
|
|
|
+
|
|
|
+ runtests.pl: cleanups
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6402
|
|
|
+ - show the summarized test result in the last line of the report
|
|
|
+ - do not use $_ after mapping it to a named variable
|
|
|
+ Doing that makes the code harder to follow.
|
|
|
+ - log the restraints sorted by the number of their occurrences
|
|
|
+ - fix language when logging restraints that only occured once
|
|
|
+ - let runhttpserver() use $TESTDIR instead of $srcdir
|
|
|
+ ... so it works if a non-default $TESTDIR is being used.
|
|
|
+
|
|
|
+- [Fabian Keil brought this change]
|
|
|
|
|
|
-- wolfssl: Support wolfSSL builds missing TLS 1.1
|
|
|
+ runtests.pl: add an -E option to specify an exclude file
|
|
|
|
|
|
- The wolfSSL TLS library defines NO_OLD_TLS in some of their build
|
|
|
- configurations and that causes the library to be built without TLS 1.1.
|
|
|
- For example if MD5 is explicitly disabled when building wolfSSL then
|
|
|
- that defines NO_OLD_TLS and the library is built without TLS 1.1 [1].
|
|
|
+ It can contain additional restraints for test numbers,
|
|
|
+ keywords and tools.
|
|
|
|
|
|
- Prior to this change attempting to build curl with a wolfSSL that was
|
|
|
- built with NO_OLD_TLS would cause a build link error undefined reference
|
|
|
- to wolfTLSv1_client_method.
|
|
|
+ The idea is to let third parties like the Privoxy project
|
|
|
+ distribute an exclude file with their tarballs that specifies
|
|
|
+ which curl tests are not expected to work when using Privoxy
|
|
|
+ as a proxy, without having to fork the whole curl test suite.
|
|
|
|
|
|
- [1]: https://github.com/wolfSSL/wolfssl/blob/v4.5.0-stable/configure.ac#L2366
|
|
|
+ The syntax could be changed to be extendable and maybe
|
|
|
+ more closely reflect the "curl test" syntax. Currently
|
|
|
+ it's a bunch of lines like these:
|
|
|
|
|
|
- Bug: https://curl.se/mail/lib-2020-12/0121.html
|
|
|
- Reported-by: Julian Montes
|
|
|
+ test:$TESTNUMBER:Reason why this test with number $TESTNUMBER should be skipped
|
|
|
+ keyword:$KEYWORD:Reason why tests whose keywords contain the $KEYWORD should be skipped
|
|
|
+ tool:$TOOL:Reason why tests with tools that contain $TOOL should be skipped
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6388
|
|
|
+ To specify multiple $TESTNUMBERs, $KEYWORDs and $TOOLs
|
|
|
+ on a single line, split them with commas.
|
|
|
|
|
|
-Daniel Stenberg (4 Jan 2021)
|
|
|
-- test1633: set appropriate name
|
|
|
-
|
|
|
- "--retry with a 429 response and Retry-After:"
|
|
|
+- [Fabian Keil brought this change]
|
|
|
|
|
|
-- travis: limit the tests with quiche builds to HTTPS and FTPS only
|
|
|
+ runtests.pl: add -L parameter to require additional perl libraries
|
|
|
|
|
|
- ... since it runs into the 50 minute time limit too often otherwise.
|
|
|
+ This is useful to change the behaviour of the script without
|
|
|
+ having to modify the file itself, for example to use a custom
|
|
|
+ compareparts() function that ignores header differences that
|
|
|
+ are expected to occur when an external proxy is being used.
|
|
|
|
|
|
- Closes #6403
|
|
|
+ Such differences are proxy-specific and thus the modifications
|
|
|
+ should be maintained together with the proxy.
|
|
|
|
|
|
-- HISTORY: added dates to early history
|
|
|
-
|
|
|
- Mostly thanks to this archived web page for urlget:
|
|
|
-
|
|
|
- https://web.archive.org/web/19980216125115/http://www.inf.ufrgs.br/~sagula/urlget.html
|
|
|
+- [Fabian Keil brought this change]
|
|
|
|
|
|
-- httpauth: make multi-request auth work with custom port
|
|
|
-
|
|
|
- When doing HTTP authentication and a port number set with CURLOPT_PORT,
|
|
|
- the code would previously have the URL's port number override as if it
|
|
|
- had been a redirect to an absolute URL.
|
|
|
+ runtests.pl: add a -P option to specify an external proxy
|
|
|
|
|
|
- Added test 1568 to verify.
|
|
|
+ ... that should be used when executing the tests.
|
|
|
|
|
|
- Reported-by: UrsusArctos on github
|
|
|
- Fixes #6397
|
|
|
- Closes #6400
|
|
|
-
|
|
|
-- [Emil Engler brought this change]
|
|
|
-
|
|
|
- language: s/behaviour/behavior/g
|
|
|
+ The assumption is that the proxy is an HTTP proxy.
|
|
|
|
|
|
- We currently use both spellings the british "behaviour" and the american
|
|
|
- "behavior". However "behavior" is more used in the project so I think
|
|
|
- it's worth dropping the british name.
|
|
|
+ This option should be used together with -L to provide
|
|
|
+ a customized compareparts() version that knows which
|
|
|
+ proxy-specific header differences should be ignored.
|
|
|
|
|
|
- Closes #6395
|
|
|
+ This option doesn't work for all test types yet.
|
|
|
|
|
|
-- cmdline-opts/retry.d: mention response code 429 as well
|
|
|
-
|
|
|
- Reported-by: Cherish98
|
|
|
- Bug: https://curl.se/mail/archive-2020-12/0018.html
|
|
|
+- [Fabian Keil brought this change]
|
|
|
|
|
|
-- docs/HYPER.md: mention outstanding issues
|
|
|
+ tests: fixup several tests
|
|
|
|
|
|
- To make it more obvious to users what doesn't work (yet)
|
|
|
+ missing CRs and modified %hostip
|
|
|
|
|
|
- Closes #6389
|
|
|
-
|
|
|
-- COPYING/configure: bump copyright year range
|
|
|
-
|
|
|
-- c-hyper: add timecondition to the request
|
|
|
+ lib556/test556: use a real HTTP version to make test reuse more convenient
|
|
|
|
|
|
- Test 77-78
|
|
|
+ make sure the weekday in Date headers matches the date
|
|
|
|
|
|
- Closes #6391
|
|
|
-
|
|
|
-- c-hyper: make Digest and NTLM work
|
|
|
+ test61: replace stray "^M" (5e 4d) at the end of a cookie with a '^M' (0d)
|
|
|
|
|
|
- Test 64, 65, 67, 68, 69, 70, 72
|
|
|
+ Gets the test working with external proxies like Privoxy again.
|
|
|
|
|
|
- Closes #6390
|
|
|
+ Closes #6463
|
|
|
|
|
|
-- examples/curlgtk.c: fix the copyright year range
|
|
|
+- ftp: never set data->set.ftp_append outside setopt
|
|
|
|
|
|
- ... and make private functions static.
|
|
|
-
|
|
|
-- [Olaf Hering brought this change]
|
|
|
-
|
|
|
- docs/examples: adjust prototypes for CURLOPT_READFUNCTION
|
|
|
+ Since the set value then risks getting used like that when the easy
|
|
|
+ handle is reused by the application.
|
|
|
|
|
|
- The type of the buffer in curl_read_callback is 'char *', not 'void *'.
|
|
|
+ Also: renamed the struct field from 'ftp_append' to 'remote_append'
|
|
|
+ since it is also used for SSH protocols.
|
|
|
|
|
|
- Signed-off-by: Olaf Hering <olaf@aepfle.de>
|
|
|
- Closes #6392
|
|
|
+ Closes #6579
|
|
|
|
|
|
-- examples: fix more empty expression statement has no effect
|
|
|
+- urldata: remove the 'rtspversion' field
|
|
|
|
|
|
- Follow-up to 26e46617b9
|
|
|
-
|
|
|
-- cleanup: fix two empty expression statement has no effect
|
|
|
+ from struct connectdata and the corresponding code in http.c that set
|
|
|
+ it. It was never used for anything!
|
|
|
|
|
|
- Follow-up to 26e46617b9
|
|
|
+ Closes #6581
|
|
|
|
|
|
-- configure: set -Wextra-semi-stmt for clang with --enable-debug
|
|
|
+- CURLOPT_QUOTE.3: clarify that libcurl doesn't parse what's sent
|
|
|
|
|
|
- To have it properly complain on empty statements with no effect.
|
|
|
+ ... so passed in commands may confuse libcurl's knowledge of state.
|
|
|
|
|
|
- Ref: #6376
|
|
|
- Closes #6378
|
|
|
+ Reported-by: Bodo Bergmann
|
|
|
+ Fixes #6577
|
|
|
+ Closes #6580
|
|
|
+
|
|
|
+- [Jacob Hoffman-Andrews brought this change]
|
|
|
|
|
|
-- tests/unit: fix empty statements with no effect
|
|
|
+ vtls: factor out Curl_ssl_getsock to field of Curl_ssl
|
|
|
|
|
|
- ... by making macros use "do {} while(0)"
|
|
|
+ Closes #6558
|
|
|
|
|
|
-- [Paul Groke brought this change]
|
|
|
+- RELEASE-PROCEDURE: remove old release dates, add new
|
|
|
|
|
|
- dns: extend CURLOPT_RESOLVE syntax for adding non-permanent entries
|
|
|
-
|
|
|
- Extend the syntax of CURLOPT_RESOLVE strings: allow using a '+' prefix
|
|
|
- (similar to the existing '-' prefix for removing entries) to add
|
|
|
- DNS cache entries that will time out just like entries that are added
|
|
|
- by libcurl itself.
|
|
|
-
|
|
|
- Append " (non-permanent)" to info log message in case a non-permanent
|
|
|
- entry is added.
|
|
|
-
|
|
|
- Adjust relevant comments to reflect the new behavior.
|
|
|
-
|
|
|
- Adjust documentation.
|
|
|
+- docs/SSL-PROBLEMS: enhanced
|
|
|
|
|
|
- Extend unit1607 to test the new functionality.
|
|
|
+ Elaborate on the intermediate cert issue, and mention that anything
|
|
|
+ below TLS 1.2 is generally considered insecure these days.
|
|
|
|
|
|
- Closes #6294
|
|
|
+ Closes #6572
|
|
|
|
|
|
-- schannel: fix "empty expression statement has no effect"
|
|
|
-
|
|
|
- Bug: https://github.com/curl/curl/commit/8ab78f720ae478d533e30b202baec4b451741579#commitcomment-45445950
|
|
|
- Reported-by: Gisle Vanem
|
|
|
- Closes #6381
|
|
|
+- THANKS: remove a Jon Rumsey dupe
|
|
|
|
|
|
-- [Denis Laxalde brought this change]
|
|
|
+Daniel Gustafsson (5 Feb 2021)
|
|
|
+- [nimaje brought this change]
|
|
|
|
|
|
- docs: remove redundant "better" in --fail help
|
|
|
+ docs: fix FILE example url in --metalink documentation
|
|
|
|
|
|
- Closes #6385
|
|
|
-
|
|
|
-- [Kevin Ushey brought this change]
|
|
|
-
|
|
|
- curl.1: fix typo microsft -> microsoft
|
|
|
+ In a url after <scheme>:// follows the possibly empty authority part
|
|
|
+ till the next /, so that url missed a /.
|
|
|
|
|
|
- Closes #6380
|
|
|
-
|
|
|
-- [XhmikosR brought this change]
|
|
|
+ Closes #6573
|
|
|
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
|
|
|
+ Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
|
|
|
|
|
|
- misc: assorted typo fixes
|
|
|
+Daniel Stenberg (5 Feb 2021)
|
|
|
+- hostip: fix build with sync resolver
|
|
|
|
|
|
- Closes #6375
|
|
|
+ Reported-by: David Goerger
|
|
|
+ Follow-up from 8335c6417
|
|
|
+ Fixes #6566
|
|
|
+ Closes #6568
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+- mailmap: Jon Rumsey
|
|
|
|
|
|
-- tool_operate: avoid NULL dereference of first_arg
|
|
|
-
|
|
|
- Follow-up to 6a5e020d4d2b04a
|
|
|
- Identified by OSS-Fuzz
|
|
|
- Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28999
|
|
|
- Closes #6377
|
|
|
+- [Jon Rumsey brought this change]
|
|
|
|
|
|
-- misc: fix "warning: empty expression statement has no effect"
|
|
|
+ gskit: correct the gskit_send() prototype
|
|
|
|
|
|
- Turned several macros into do-while(0) style to allow their use to work
|
|
|
- find with semicolon.
|
|
|
+ gskit_send() first paramater is a pointer to Curl_easy not connectdata
|
|
|
+ struct.
|
|
|
|
|
|
- Bug: https://github.com/curl/curl/commit/08e8455dddc5e48e58a12ade3815c01ae3da3b64#commitcomment-45433279
|
|
|
- Follow-up to 08e8455dddc5e4
|
|
|
- Reported-by: Gisle Vanem
|
|
|
- Closes #6376
|
|
|
+ Closes #6570
|
|
|
+ Fixes #6569
|
|
|
|
|
|
-- KNOWN_BUGS: 6.10 curl never completes Negotiate over HTTP
|
|
|
+- urldata: fix build without HTTP and MQTT
|
|
|
|
|
|
- Closes #5235
|
|
|
- Closes #6370
|
|
|
+ Reported-by: Joseph Chen
|
|
|
+ Fixes #6562
|
|
|
+ Closes #6563
|
|
|
|
|
|
-- writeout: fix NULL dereference for "this url"
|
|
|
+- ftp: avoid SIZE when asking for a TYPE A file
|
|
|
|
|
|
- Detected by torture test 1029
|
|
|
+ ... as we ignore it anyway because servers don't report the correct size
|
|
|
+ and proftpd even blatantly returns a 550.
|
|
|
|
|
|
- Follow-up to 7a90ddf88f5a
|
|
|
+ Updates a set of tests accordingly.
|
|
|
|
|
|
- Closes #6374
|
|
|
+ Reported-by: awesomenode on github
|
|
|
+ Fixes #6564
|
|
|
+ Closes #6565
|
|
|
|
|
|
-- failf: remove newline from formatting strings
|
|
|
-
|
|
|
- ... as failf adds one itself.
|
|
|
-
|
|
|
- Also: add an assert() to failf() that triggers on a newline in the
|
|
|
- format string!
|
|
|
+- pingpong: rename the curl_pp_transfer enum to use PP prefix
|
|
|
|
|
|
- Closes #6365
|
|
|
-
|
|
|
-- [XhmikosR brought this change]
|
|
|
+ Using an FTP prefix for PP provided functionality was misleading.
|
|
|
|
|
|
- CI: fix warning with the latest versions
|
|
|
-
|
|
|
- `git checkout HEAD^2` is no longer needed
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
- Closes #6369
|
|
|
+ ... and bump pending version to 7.75.1 (for now)
|
|
|
|
|
|
-- INSTALL: update the list known OSes and CPU archs curl has run on
|
|
|
+Jay Satiro (4 Feb 2021)
|
|
|
+- build: fix --disable-http-auth
|
|
|
|
|
|
- Closes #6366
|
|
|
-
|
|
|
-- [Cherish98 brought this change]
|
|
|
-
|
|
|
- curl: fix handling of -q option
|
|
|
+ Broken since 215db08 (precedes 7.75.0).
|
|
|
|
|
|
- The match of the "-q" option (short for "--disable") should:
|
|
|
- a) allow concatenation with other single-letters; and
|
|
|
- b) be case-sensitive, lest confusing with "-Q" ("--quote")
|
|
|
+ Reported-by: Benbuck Nason
|
|
|
|
|
|
- Closes #6364
|
|
|
+ Fixes https://github.com/curl/curl/issues/6567
|
|
|
|
|
|
-- tests/badsymbols.pl: ignore stand-alone single hash lines
|
|
|
+- build: fix --disable-dateparse
|
|
|
|
|
|
- Bug: https://curl.se/mail/lib-2020-12/0084.html
|
|
|
- Reported-by: Dennis Clarke
|
|
|
- Assisted-by: Jay Satiro
|
|
|
+ Broken since 215db08 (precedes 7.75.0).
|
|
|
|
|
|
- Closes #6355
|
|
|
+ Bug: https://curl.se/mail/lib-2021-02/0008.html
|
|
|
+ Reported-by: Firefox OS
|
|
|
|
|
|
-- curl_easy_pause.3: add multiplexed pause effects
|
|
|
-
|
|
|
- and generally refresh and update. Remove details for ancient versions.
|
|
|
-
|
|
|
- Reviewed-by: Jay Satiro
|
|
|
- Closes #6360
|
|
|
+Daniel Stenberg (4 Feb 2021)
|
|
|
+- [Jon Rumsey brought this change]
|
|
|
|
|
|
-Jay Satiro (22 Dec 2020)
|
|
|
-- curl_easy_pause.3: fix man page reference
|
|
|
-
|
|
|
- Follow-up to ac9a724 from earlier today.
|
|
|
+ OS400: update for CURLOPT_AWS_SIGV4
|
|
|
|
|
|
- Ref: https://github.com/curl/curl/pull/6359
|
|
|
-
|
|
|
-Daniel Stenberg (22 Dec 2020)
|
|
|
-- EXPERIMENTAL: add the Hyper backend to the list
|
|
|
+ chkstrings fails because a new string option that could require codepage
|
|
|
+ conversion has been added.
|
|
|
|
|
|
- ... of current experimental features in curl.
|
|
|
+ Closes #6561
|
|
|
+ Fixes #6560
|
|
|
|
|
|
-- speedcheck: exclude paused transfers
|
|
|
-
|
|
|
- Paused transfers should not be stopped due to slow speed even when
|
|
|
- CURLOPT_LOW_SPEED_LIMIT is set. Additionally, the slow speed timer is
|
|
|
- now reset when the transfer is unpaused - as otherwise it would easily
|
|
|
- just trigger immediately after unpausing.
|
|
|
-
|
|
|
- Reported-by: Harry Sintonen
|
|
|
- Fixes #6358
|
|
|
- Closes #6359
|
|
|
+- BUG-BOUNTY: removed the cooperation mention
|
|
|
|
|
|
-- h2: do not wait for RECV on paused transfers
|
|
|
-
|
|
|
- ... as the socket might be readable all the time when paused and thus
|
|
|
- causing a busy-loop.
|
|
|
-
|
|
|
- Reported-by: Harry Sintonen
|
|
|
- Reviewed-by: Jay Satiro
|
|
|
- Fixes #6356
|
|
|
- Closes #6357
|
|
|
+Version 7.75.0 (3 Feb 2021)
|
|
|
|
|
|
+Daniel Stenberg (3 Feb 2021)
|
|
|
- RELEASE-NOTES: synced
|
|
|
|
|
|
-- cmdline-opts/gen.pl: return hard on errors
|
|
|
-
|
|
|
- ... as the warnings tend to go unnoticed otherwise!
|
|
|
-
|
|
|
- Closes #6354
|
|
|
+- THANKS: added contributors from 7.75.0
|
|
|
|
|
|
-- examples/libtest: add .checksrc to dist
|
|
|
-
|
|
|
- ... so that (auto)builds from tarballs also get the correct instructions.
|
|
|
-
|
|
|
- Fixes #6176
|
|
|
- Closes #6353
|
|
|
+- copyright: fix year ranges in need of updates
|
|
|
|
|
|
-- test: verify new --write-out variables
|
|
|
+- TODO: remove items for next SONAME bump etc
|
|
|
|
|
|
- Extended test 1029 and added 1188
|
|
|
+ We want to avoid that completely, so we don't plan for things after such
|
|
|
+ an event.
|
|
|
|
|
|
-- test970: adapted to the new internal order of variables
|
|
|
+- [Jay Satiro brought this change]
|
|
|
|
|
|
-- curl: add variables to --write-out
|
|
|
-
|
|
|
- In particular, these ones can help a user to create its own error
|
|
|
- message when one or transfers fail.
|
|
|
+ ngtcp2: Fix build error due to change in ngtcp2_settings
|
|
|
|
|
|
- writeout: add 'onerror', 'url', 'urlnum', 'exitcode', 'errormsg'
|
|
|
+ - Separate ngtcp2_transport_params.
|
|
|
|
|
|
- onerror - lets a user only show the rest on non-zero exit codes
|
|
|
+ ngtcp2/ngtcp2@05d7adc made ngtcp2_transport_params separate from
|
|
|
+ ngtcp2_settings.
|
|
|
|
|
|
- url - the input URL used for this transfer
|
|
|
+ ngtcp2 master is required to build curl with http3 support.
|
|
|
|
|
|
- urlnum - the numerical URL counter (0 indexed) for this transfer
|
|
|
+ Closes #6554
|
|
|
+
|
|
|
+- vtls: remove md5sum
|
|
|
|
|
|
- exitcode - the numerical exit code for the transfer
|
|
|
+ As it is not used anymore.
|
|
|
|
|
|
- errormsg - obvious
|
|
|
+ Reported-by: Jacob Hoffman-Andrews
|
|
|
+ Bug: https://curl.se/mail/lib-2021-02/0000.html
|
|
|
|
|
|
- Reported-by: Earnestly on github
|
|
|
- Fixes #6199
|
|
|
- Closes #6207
|
|
|
+ Closes #6557
|
|
|
|
|
|
-- [Matthias Gatto brought this change]
|
|
|
+- [Alessandro Ghedini brought this change]
|
|
|
|
|
|
- tests: add very simple AWS HTTP v4 Signature test
|
|
|
+ quiche: don't use primary_ip / primary_port
|
|
|
|
|
|
- Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
|
|
|
-
|
|
|
-- [Matthias Gatto brought this change]
|
|
|
+ Closes #6555
|
|
|
|
|
|
- docs: add AWS HTTP v4 Signature
|
|
|
+Alessandro Ghedini (1 Feb 2021)
|
|
|
+- travis: enable quiche's FFI feature
|
|
|
|
|
|
-- [Matthias Gatto brought this change]
|
|
|
+Daniel Stenberg (30 Jan 2021)
|
|
|
+- [Dmitry Wagin brought this change]
|
|
|
|
|
|
- tool: add AWS HTTP v4 Signature support
|
|
|
+ http: improve AWS HTTP v4 Signature auth
|
|
|
|
|
|
- Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
|
|
|
-
|
|
|
-- [Matthias Gatto brought this change]
|
|
|
-
|
|
|
- http: Make the call to v4 signature
|
|
|
+ - Add support services without region and service prefixes in
|
|
|
+ the URL endpoint (ex. Min.IO, GCP, Yandex Cloud, Mail.Ru Cloud Solutions, etc)
|
|
|
+ by providing region and service parameters via aws-sigv4 option.
|
|
|
+ - Add [:region[:service]] suffix to aws-sigv4 option;
|
|
|
+ - Fix memory allocation errors.
|
|
|
+ - Refactor memory management.
|
|
|
+ - Use Curl_http_method instead() STRING_CUSTOMREQUEST.
|
|
|
+ - Refactor canonical headers generating.
|
|
|
+ - Remove repeated sha256_to_hex() usage.
|
|
|
+ - Add some docs fixes.
|
|
|
+ - Add some codestyle fixes.
|
|
|
+ - Add overloaded strndup() for debug - curl_dbg_strndup().
|
|
|
+ - Update tests.
|
|
|
|
|
|
- This patch allow to call the v4 signature introduce in previous commit
|
|
|
+ Closes #6524
|
|
|
+
|
|
|
+- hyper: fix CONNECT to set 'data' as userdata
|
|
|
|
|
|
- Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
|
|
|
+ Follow-up to 14e075d1a7fd
|
|
|
|
|
|
-- [Matthias Gatto brought this change]
|
|
|
+- [Layla brought this change]
|
|
|
|
|
|
- http: introduce AWS HTTP v4 Signature
|
|
|
-
|
|
|
- It is a security process for HTTP.
|
|
|
-
|
|
|
- It doesn't seems to be standard, but it is used by some cloud providers.
|
|
|
-
|
|
|
- Aws:
|
|
|
- https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html
|
|
|
- Outscale:
|
|
|
- https://wiki.outscale.net/display/EN/Creating+a+Canonical+Request
|
|
|
- GCP (I didn't test that this code work with GCP though):
|
|
|
- https://cloud.google.com/storage/docs/access-control/signing-urls-manually
|
|
|
-
|
|
|
- most of the code is in lib/http_v4_signature.c
|
|
|
-
|
|
|
- Information require by the algorithm:
|
|
|
- - The URL
|
|
|
- - Current time
|
|
|
- - some prefix that are append to some of the signature parameters.
|
|
|
-
|
|
|
- The data extracted from the URL are: the URI, the region,
|
|
|
- the host and the API type
|
|
|
-
|
|
|
- example:
|
|
|
- https://api.eu-west-2.outscale.com/api/latest/ReadNets
|
|
|
- ~~~ ~~~~~~~~ ~~~~~~~~~~~~~~~~~~~
|
|
|
- ^ ^ ^
|
|
|
- / \ URI
|
|
|
- API type region
|
|
|
+ connect: fix compile errors in `Curl_conninfo_local`
|
|
|
|
|
|
- Small description of the algorithm:
|
|
|
- - make canonical header using content type, the host, and the date
|
|
|
- - hash the post data
|
|
|
- - make canonical_request using custom request, the URI,
|
|
|
- the get data, the canonical header, the signed header
|
|
|
- and post data hash
|
|
|
- - hash canonical_request
|
|
|
- - make str_to_sign using one of the prefix pass in parameter,
|
|
|
- the date, the credential scope and the canonical_request hash
|
|
|
- - compute hmac from date, using secret key as key.
|
|
|
- - compute hmac from region, using above hmac as key
|
|
|
- - compute hmac from api_type, using above hmac as key
|
|
|
- - compute hmac from request_type, using above hmac as key
|
|
|
- - compute hmac from str_to_sign using above hmac as key
|
|
|
- - create Authorization header using above hmac, prefix pass in parameter,
|
|
|
- the date, and above hash
|
|
|
+ .. for the `#else` (`!HAVE_GETSOCKNAME`) case
|
|
|
|
|
|
- Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
|
|
|
+ Fixes https://github.com/curl/curl/issues/6548
|
|
|
+ Closes #6549
|
|
|
|
|
|
- Closes #5703
|
|
|
+ Signed-off-by: Layla <layla@insightfulvr.com>
|
|
|
|
|
|
-- [Matthias Gatto brought this change]
|
|
|
+- [Michał Antoniak brought this change]
|
|
|
|
|
|
- http: add hmac support for sha256
|
|
|
-
|
|
|
- It seems current hmac implementation use md5 for the hash,
|
|
|
- V4 signature require sha256, so I've added the needed struct in
|
|
|
- this commit.
|
|
|
+ transfer: fix GCC 10 warning with flag '-Wint-in-bool-context'
|
|
|
|
|
|
- I've added the functions that do the hmac in v4 signature file
|
|
|
- as a static function ,in the next patch of the serie,
|
|
|
- because it's used only by this file.
|
|
|
+ ... and return the error code from the Curl_mime_rewind call.
|
|
|
|
|
|
- Signed-off-by: Matthias Gatto <matthias.gatto@outscale.com>
|
|
|
+ Closes #6537
|
|
|
|
|
|
-- [Cristian Rodríguez brought this change]
|
|
|
+- [Michał Antoniak brought this change]
|
|
|
|
|
|
- connect: on linux, enable reporting of all ICMP errors on UDP sockets
|
|
|
-
|
|
|
- The linux kernel does not report all ICMP errors back to userspace due
|
|
|
- to historical reasons.
|
|
|
-
|
|
|
- IP*_RECVERR sockopt must be turned on to have the correct behaviour
|
|
|
- which is to pass all ICMP errors to userspace.
|
|
|
+ avoid warning: enum constant in boolean context
|
|
|
+
|
|
|
+- copyright: fix missing year (range) updates
|
|
|
+
|
|
|
+- RELEASE-NOTES: synced
|
|
|
+
|
|
|
+- openssl: lowercase the hostname before using it for SNI
|
|
|
|
|
|
- See https://bugzilla.kernel.org/show_bug.cgi?id=202355
|
|
|
+ ... because it turns out several servers out there don't actually behave
|
|
|
+ correctly otherwise in spite of the fact that the SNI field is
|
|
|
+ specifically said to be case insensitive in RFC 6066 section 3.
|
|
|
|
|
|
- Closes #6341
|
|
|
+ Reported-by: David Earl
|
|
|
+ Fixes #6540
|
|
|
+ Closes #6543
|
|
|
|
|
|
-- curl: add --create-file-mode [mode]
|
|
|
-
|
|
|
- This option sets the (octal) mode to use for the remote file when one is
|
|
|
- created, using the SFTP, SCP or FILE protocols. When not set, the
|
|
|
- default is 0644.
|
|
|
+- KNOWN_BUGS: cmake: ExternalProject_Add does not set CURL_CA_PATH
|
|
|
|
|
|
- Closes #6244
|
|
|
+ Closes #6313
|
|
|
|
|
|
-- c-hyper: fix compiler warnings
|
|
|
+- KNOWN_BUGS: Multi perform hangs waiting for threaded resolver
|
|
|
|
|
|
- Identified by clang on windows.
|
|
|
+ Closes #4852
|
|
|
+
|
|
|
+- KNOWN_BUGS: "pulseUI VPN client" is known to be buggy
|
|
|
|
|
|
- Reported-by: Gisle Vanem
|
|
|
- Bug: 58974d25d8173aec154e593ed9d866da566c9811
|
|
|
+ First entry in the new section "applications" for known problems in
|
|
|
+ libcurl using applications.
|
|
|
|
|
|
- Closes #6351
|
|
|
+ Closes #6306
|
|
|
|
|
|
-- KNOWN_BUGS: Remote recursive folder creation with SFTP
|
|
|
+- tool_writeout: make %{errormsg} blank for no errors
|
|
|
|
|
|
- Closes #5204
|
|
|
+ Closes #6539
|
|
|
+
|
|
|
+Jay Satiro (27 Jan 2021)
|
|
|
+- [Gisle Vanem brought this change]
|
|
|
|
|
|
-Jay Satiro (20 Dec 2020)
|
|
|
-- badsymbols.pl: Add verbose mode -v
|
|
|
+ build: fix djgpp builds
|
|
|
|
|
|
- Use -v as the first option to enable verbose mode which will show source
|
|
|
- input, extracted symbol and line info. For example:
|
|
|
+ - Update build instructions in packages/DOS/README
|
|
|
|
|
|
- Source: ./../include/curl/typecheck-gcc.h
|
|
|
- Symbol: curlcheck_socket_info(info)
|
|
|
- Line #423: #define curlcheck_socket_info(info) \
|
|
|
+ - Extend 'VPATH' with 'vquic' and 'vssh'.
|
|
|
|
|
|
- Ref: https://curl.se/mail/lib-2020-12/0084.html
|
|
|
+ - Allow 'Makefile.dist' to build both 'lib' and 'src'.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6349
|
|
|
-
|
|
|
-- KNOWN_BUGS: Secure Transport disabling hostname validation also disables SNI
|
|
|
+ - Allow using the Windows hosted djgpp cross compiler to build for MSDOS
|
|
|
+ under Windows.
|
|
|
|
|
|
- That behavior is a limitation of Apple's Secure Transport.
|
|
|
+ - 'USE_SSL' -> 'USE_OPENSSL'
|
|
|
|
|
|
- Reported-by: Cory Benfield
|
|
|
- Reported-by: Ian Spence
|
|
|
- Confirmed-by: Nick Zitzmann
|
|
|
+ - Added a 'link_EXE' macro. Etc, etc.
|
|
|
|
|
|
- Ref: https://github.com/curl/curl/issues/998
|
|
|
+ - Linking 'curl.exe' needs '$(CURLX_CFILES)' too.
|
|
|
|
|
|
- Closes https://github.com/curl/curl/issues/6347
|
|
|
- Closes https://github.com/curl/curl/pull/6348
|
|
|
-
|
|
|
-Daniel Stenberg (18 Dec 2020)
|
|
|
-- TODO: alt-svc should fallback if alt-svc doesn't work
|
|
|
+ - Do not pick-up '../lib/djgpp/*.o' files. Recompile locally.
|
|
|
|
|
|
- Closes #4908
|
|
|
-
|
|
|
-- travis: restrict the openssl3 job to only run https and ftps tests
|
|
|
+ - Generate a gzipped 'tool_hugehelp.c' if 'USE_ZLIB=1'.
|
|
|
|
|
|
- ... as it runs too long otherwise and the other tests are verified in
|
|
|
- other builds anyway.
|
|
|
+ - Remove 'djgpp-clean'
|
|
|
|
|
|
- Closes #6345
|
|
|
-
|
|
|
-- build: repair http disabled but mqtt enabled build
|
|
|
+ - Adapt to new C-ares directory structure
|
|
|
|
|
|
- ... as the mqtt code reuses the "method" originally used for HTTP.
|
|
|
+ - Use conditional variable assignments
|
|
|
|
|
|
- Closes #6344
|
|
|
-
|
|
|
-- [Jon Wilkes brought this change]
|
|
|
-
|
|
|
- cookie: avoid the C1001 internal compiler error with MSVC 14
|
|
|
+ Clarify the 'conditional variable assignment' in 'common.dj'.
|
|
|
|
|
|
- Fixes #6112
|
|
|
- Closes #6135
|
|
|
+ Closes https://github.com/curl/curl/pull/6382
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+Daniel Stenberg (27 Jan 2021)
|
|
|
+- [Ikko Ashimine brought this change]
|
|
|
|
|
|
-- mqtt: handle POST/PUBLISH without a set POSTFIELDSIZE
|
|
|
-
|
|
|
- Detected by OSS-Fuzz
|
|
|
- Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28735
|
|
|
+ hyper: fix typo in c-hyper.c
|
|
|
|
|
|
- Added test 1916 and 1917 to verify.
|
|
|
+ settting -> setting
|
|
|
|
|
|
- Closes #6338
|
|
|
-
|
|
|
-- travis: add CI job for Hyper build
|
|
|
-
|
|
|
-- tests: updated tests for Hyper
|
|
|
+ Closes #6538
|
|
|
|
|
|
-- lib: introduce c-hyper for using Hyper
|
|
|
+- libssh2: fix CURL_LIBSSH2_DEBUG-enabled build
|
|
|
|
|
|
- ... as an alternative HTTP backend within libcurl.
|
|
|
-
|
|
|
-- tool_setopt: provide helper output in debug builds
|
|
|
+ Follow-up to 2dcc940959772a
|
|
|
|
|
|
- ... for when setopt() returns error.
|
|
|
-
|
|
|
-- setopt: adjust to Hyper and disabled HTTP builds
|
|
|
-
|
|
|
-- rtsp: disable if Hyper is used
|
|
|
-
|
|
|
-- getinfo: build with disabled HTTP support
|
|
|
-
|
|
|
-- version: include hyper version
|
|
|
-
|
|
|
-- docs: add HYPER.md
|
|
|
+ Reported-by: Gisle Vanem
|
|
|
+ Bug: https://github.com/curl/curl/commit/2dcc940959772a652f6813fb6bd3092095a4877b#commitcomment-46420088
|
|
|
|
|
|
-- configure: add --with-hyper
|
|
|
+Jay Satiro (27 Jan 2021)
|
|
|
+- asyn-thread: fix build for when getaddrinfo missing
|
|
|
|
|
|
- As the first (optional) HTTP backend alternative instead of native
|
|
|
+ This is a follow-up to 8315343 which several days ago moved the resolver
|
|
|
+ pointer into the async struct but did not update the code that uses it
|
|
|
+ when getaddrinfo is not present.
|
|
|
|
|
|
- Close #6110
|
|
|
+ Closes https://github.com/curl/curl/pull/6536
|
|
|
|
|
|
-- test1522: add debug tracing
|
|
|
+Daniel Stenberg (27 Jan 2021)
|
|
|
+- urldata: move 'ints' to the end of 'connectdata'
|
|
|
|
|
|
- I used this to track down some issues and I figured I could just as well
|
|
|
- keep this extra logging in here for future needs.
|
|
|
+ To optimize storage slightly.
|
|
|
|
|
|
- Closes #6331
|
|
|
+ Closes #6534
|
|
|
|
|
|
-- http: show the request as headers even when split-sending
|
|
|
+- urldata: store ip version in a single byte
|
|
|
|
|
|
- When the initial request isn't possible to send in its entirety, the
|
|
|
- remainder of request would be delivered to the debug callback as data
|
|
|
- and would wrongly be counted internally as body-bytes sent.
|
|
|
+ Closes #6534
|
|
|
+
|
|
|
+- urldata: remove duplicate 'upkeep_interval_ms' from connectdata
|
|
|
|
|
|
- Extended test 1295 to verify.
|
|
|
+ ... and rely only on the value already set in Curl_easy.
|
|
|
|
|
|
- Closes #6328
|
|
|
+ Closes #6534
|
|
|
|
|
|
-- multi: when erroring in TOOFAST state, act as for PERFORM
|
|
|
+- urldata: remove 'local_ip' from the connectdata struct
|
|
|
|
|
|
- When failing in TOOFAST, the multi_done() wasn't called so the same
|
|
|
- cleanup and handling wasn't done like when it fails in PERFORM, which in
|
|
|
- the case of FTP could mean that the control connection wouldn't be
|
|
|
- marked as "dead" for the CURLE_ABORTED_BY_CALLBACK case. Which caused
|
|
|
- ftp_disconnect() to use it to send "QUIT", which could end up waiting
|
|
|
- for a response a long time before giving up!
|
|
|
+ As the info is already stored in the transfer handle anyway, there's no
|
|
|
+ need to carry around a duplicate buffer for the life-time of the handle.
|
|
|
|
|
|
- Reported-by: Tomas Berger
|
|
|
- Fixes #6333
|
|
|
- Closes #6337
|
|
|
+ Closes #6534
|
|
|
|
|
|
-- cmake: enable gophers correctly in curl-config
|
|
|
+- urldata: remove duplicate port number storage
|
|
|
|
|
|
- Closes #6336
|
|
|
-
|
|
|
-- test1198/9: add two mqtt publish tests without payload lengths
|
|
|
+ ... and use 'int' for ports. We don't use 'unsigned short' since -1 is
|
|
|
+ still often used internally to signify "unknown value" and 0 - 65535 are
|
|
|
+ all valid port numbers.
|
|
|
|
|
|
- Closes #6335
|
|
|
+ Closes #6534
|
|
|
|
|
|
-- tests/mqttd: extract the client id from the correct offset
|
|
|
+- urldata: remove the duplicate 'ip_addr_str' field
|
|
|
|
|
|
- Closes #6334
|
|
|
-
|
|
|
-- TODO: Prevent terminal injection when writing to terminal
|
|
|
+ ... as the numerical IP address is already stored and kept in 'primary_ip'.
|
|
|
|
|
|
- Closes #6150
|
|
|
+ Closes #6534
|
|
|
|
|
|
-- Revert "CI/github: work-around for brew breakage on macOS"
|
|
|
+- select: convert Curl_select() to private static function
|
|
|
|
|
|
- This reverts commit 4cbb17a2cbbbe6337142d39479e21c3990b9c22f.
|
|
|
+ The old function should not be used anywhere anymore (the only remaining
|
|
|
+ gskit use has to be fixed to instead use Curl_poll or none at all).
|
|
|
|
|
|
- ... as the work-around now causes failures.
|
|
|
+ The static function version is now called our_select() and is only built
|
|
|
+ if necessary.
|
|
|
|
|
|
- Closes #6332
|
|
|
+ Closes #6531
|
|
|
|
|
|
-- examples: remove superfluous asterisk uses
|
|
|
+- Curl_chunker: shrink the struct
|
|
|
|
|
|
- ... for function pointers. Breaks in ancient compilers.
|
|
|
-
|
|
|
-- RELEASE-NOTES: synced
|
|
|
-
|
|
|
-- test1272: fix line ending
|
|
|
+ ... by removing a field, converting the hex index into a byte and
|
|
|
+ rearranging the order. Cuts it down from 48 bytes to 32 on x86_64.
|
|
|
|
|
|
- Follow-up to f24784f9143
|
|
|
-
|
|
|
-- URL-SYNTAX: add gophers details
|
|
|
-
|
|
|
-- test1272: test gophers
|
|
|
+ Closes #6527
|
|
|
|
|
|
-- runtests: add support for gophers, gopher over TLS
|
|
|
+- curl: include the file name in --xattr/--remote-time error msgs
|
|
|
|
|
|
-- [parazyd brought this change]
|
|
|
+- curl: s/config->global/global/ in single_transfer()
|
|
|
|
|
|
- gopher: Implement secure gopher protocol.
|
|
|
-
|
|
|
- This commit introduces a "gophers" handler inside the gopher protocol if
|
|
|
- USE_SSL is defined. This protocol is no different than the usual gopher
|
|
|
- prococol, with the added TLS encapsulation upon connecting. The protocol
|
|
|
- has been adopted in the gopher community, and many people have enabled
|
|
|
- TLS in their gopher daemons like geomyidae(8), and clients, like clic(1)
|
|
|
- and hurl(1).
|
|
|
-
|
|
|
- I have not implemented test units for this protocol because my knowledge
|
|
|
- of Perl is sub-par. However, for someone more knowledgeable it might be
|
|
|
- fairly trivial, because the same test that tests the plain gopher
|
|
|
- protocol can be used for "gophers" just by adding a TLS listener.
|
|
|
+- curl: move fprintf outputs to warnf
|
|
|
|
|
|
- Signed-off-by: parazyd <parazyd@dyne.org>
|
|
|
+ For setting and getting time of the download. To make the outputs
|
|
|
+ respect --silent etc.
|
|
|
|
|
|
- Closes #6208
|
|
|
+ Reported-by: Viktor Szakats
|
|
|
+ Fixes #6533
|
|
|
+ Closes #6535
|
|
|
|
|
|
-- TODO: Package curl for Windows in a signed installer
|
|
|
-
|
|
|
- Closes #5424
|
|
|
+- [Tatsuhiro Tsujikawa brought this change]
|
|
|
|
|
|
-- mqtt: deal with 0 byte reads correctly
|
|
|
-
|
|
|
- OSS-Fuzz found it
|
|
|
- Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=28676
|
|
|
+ ngtcp2: Fix http3 upload stall
|
|
|
|
|
|
- Closes #6327
|
|
|
+ Closes #6521
|
|
|
+
|
|
|
+- [Tatsuhiro Tsujikawa brought this change]
|
|
|
|
|
|
-- BUG-BOUNTY: minor language update
|
|
|
+ ngtcp2: Fix stack buffer overflow
|
|
|
|
|
|
- ... and remove the wording about entries from before 2019 as the "within
|
|
|
- 12 months" is still there and covers that.
|
|
|
+ Closes #6521
|
|
|
+
|
|
|
+- warnless.h: remove the prototype for curlx_ultosi
|
|
|
|
|
|
- Closes #6318
|
|
|
+ Follow-up to 217552503ff3
|
|
|
|
|
|
-- tooĺ_writeout: fix the -w time output units
|
|
|
+- warnless: remove curlx_ultosi
|
|
|
|
|
|
- Fix regression from commit fc813f80e1bcac (#6248) that changed the unit
|
|
|
- to microseconds instead of seconds with fractions
|
|
|
+ ... not used anywhere
|
|
|
|
|
|
- Reported-by: 不确定
|
|
|
- Fixes #6321
|
|
|
- Closes #6322
|
|
|
+ Closes #6530
|
|
|
|
|
|
-- quiche: remove fprintf() leftover
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
|
|
|
-Jay Satiro (14 Dec 2020)
|
|
|
-- KNOWN_BUGS: SHA-256 digest not supported in Windows SSPI builds
|
|
|
+ lib: remove conn->data uses
|
|
|
|
|
|
- Closes https://github.com/curl/curl/issues/6302
|
|
|
+ Closes #6515
|
|
|
|
|
|
-- digest_sspi: Show InitializeSecurityContext errors in verbose mode
|
|
|
-
|
|
|
- The error is shown with infof rather than failf so that the user will
|
|
|
- see the extended error message information only in verbose mode, and
|
|
|
- will still see the standard CURLE_AUTH_ERROR message. For example:
|
|
|
+- pingpong: remove the 'conn' struct member
|
|
|
|
|
|
- ---
|
|
|
+ ... as it's superfluous now when Curl_easy is passed in and we can
|
|
|
+ derive the connection from that instead and avoid the duplicate copy.
|
|
|
|
|
|
- * schannel: InitializeSecurityContext failed: SEC_E_QOP_NOT_SUPPORTED
|
|
|
- (0x8009030A) - The per-message Quality of Protection is not supported by
|
|
|
- the security package
|
|
|
- * multi_done
|
|
|
- * Connection #1 to host 127.0.0.1 left intact
|
|
|
- curl: (94) An authentication function returned an error
|
|
|
+ Closes #6525
|
|
|
+
|
|
|
+- hostip/proxy: remove conn->data use
|
|
|
|
|
|
- ---
|
|
|
+ Closes #6513
|
|
|
+
|
|
|
+- url: reduce conn->data references
|
|
|
|
|
|
- Ref: https://github.com/curl/curl/issues/6302
|
|
|
+ ... there are a few left but let's keep them to last
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6315
|
|
|
+ Closes #6512
|
|
|
|
|
|
-Daniel Stenberg (13 Dec 2020)
|
|
|
-- URL-SYNTAX: add default port numbers and IDNA details
|
|
|
-
|
|
|
- Closes #6316
|
|
|
+- scripts/singleuse: add curl_easy_option*
|
|
|
|
|
|
-- URL-SYNTAX: mention how FILE:// access can access network on windows
|
|
|
+Jay Satiro (25 Jan 2021)
|
|
|
+- test410: fix for windows
|
|
|
|
|
|
- Closes #6314
|
|
|
-
|
|
|
-Jay Satiro (12 Dec 2020)
|
|
|
-- URL-SYNTAX: Document default SMTP port 25
|
|
|
+ - Pass the very long request header via file instead of command line.
|
|
|
|
|
|
- Note that ports 25 and 587 are common ports for smtp, the former being
|
|
|
- the default.
|
|
|
+ Prior to this change the 49k very long request header string was passed
|
|
|
+ via command line and on Windows that is too long so it was truncated and
|
|
|
+ the test would fail (specifically msys CI).
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6310
|
|
|
+ Closes https://github.com/curl/curl/pull/6516
|
|
|
|
|
|
-Daniel Stenberg (12 Dec 2020)
|
|
|
-- CURLOPT_URL.3: remove scheme specific details
|
|
|
-
|
|
|
- ... that are now found in URL-SYNTAX.md
|
|
|
+Daniel Stenberg (25 Jan 2021)
|
|
|
+- libssh2: move data from connection object to transfer object
|
|
|
|
|
|
- Closes #6307
|
|
|
-
|
|
|
-Dan Fandrich (12 Dec 2020)
|
|
|
-- docs: Fix some typos
|
|
|
+ Readdir data, filenames and attributes are strictly related to the
|
|
|
+ transfer and not the connection. This also reduces the total size of the
|
|
|
+ fixed connectdata struct.
|
|
|
|
|
|
- [skip ci]
|
|
|
+ Closes #6519
|
|
|
|
|
|
-Daniel Stenberg (12 Dec 2020)
|
|
|
-- URL-SYNTAX: mention all supported schemes
|
|
|
-
|
|
|
- Closes #6311
|
|
|
+- RELEASE-NOTES: synced
|
|
|
|
|
|
-- [Douglas R. Reno brought this change]
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
|
|
|
- URL-SYNTAX.md: minor language improvements
|
|
|
+ lib: remove conn->data uses
|
|
|
|
|
|
- Closes #6308
|
|
|
+ Closes #6499
|
|
|
|
|
|
-- docs/URL-SYNTAX: the URL syntax curl accepts and works with
|
|
|
+- hyper: remove the conn->data references
|
|
|
|
|
|
- Closes #6285
|
|
|
-
|
|
|
-- [0xflotus brought this change]
|
|
|
+ Closes #6508
|
|
|
|
|
|
- docs: enable syntax highlighting in several docs files
|
|
|
+- travis: build ngtcp2 --with-gnutls
|
|
|
|
|
|
- ... for better readability
|
|
|
+ ... since they disable it by default since a few days back.
|
|
|
|
|
|
- Closes #6286
|
|
|
+ Closes #6506
|
|
|
+ Fixes #6493
|
|
|
|
|
|
-- test1564/1565: require the 'wakeup' feature to run
|
|
|
+- hostip: remove conn->data from resolver functions
|
|
|
|
|
|
- Fixes #6299
|
|
|
- Fixes #6300
|
|
|
- Closes #6301
|
|
|
-
|
|
|
-- runtests: add 'wakeup' as a feature
|
|
|
-
|
|
|
-- tests/server/disabled: add "wakeup"
|
|
|
+ This also moves the 'async' struct from the connectdata struct into the
|
|
|
+ Curl_easy struct, which seems like a better home for it.
|
|
|
|
|
|
- To allow the test suite to know if wakeup support is disabled in the
|
|
|
- build.
|
|
|
-
|
|
|
-- lib1564/5: verify that curl_multi_wakeup returns OK
|
|
|
+ Closes #6497
|
|
|
|
|
|
-- tests: make --libcurl tests only test FTP options if ftp enabled
|
|
|
+Jay Satiro (22 Jan 2021)
|
|
|
+- strerror: skip errnum >= 0 assertion on windows
|
|
|
|
|
|
- Adjust six --libcurl tests to only check the FTP option if FTP is
|
|
|
- actually present in the build.
|
|
|
+ On Windows an error number may be greater than INT_MAX and negative once
|
|
|
+ cast to int.
|
|
|
|
|
|
- Fixes #6303
|
|
|
- Closes #6305
|
|
|
-
|
|
|
-- runtests.pl: fix "uninitialized value" warning
|
|
|
+ The assertion is checked only in debug builds.
|
|
|
|
|
|
- follow-up to e12825c642a88774
|
|
|
+ Closes https://github.com/curl/curl/pull/6504
|
|
|
|
|
|
-- runtests: add support for %if [feature] conditions
|
|
|
-
|
|
|
- ... to make tests run differently or expect different results depending
|
|
|
- on what features that are present or not in curl.
|
|
|
+Daniel Stenberg (21 Jan 2021)
|
|
|
+- doh: make Curl_doh_is_resolved survive a NULL pointer
|
|
|
|
|
|
- Bonus: initial minor 'Hyper' awareness but nothing is using that yet
|
|
|
+ ... if Curl_doh() returned a NULL, this function gets called anyway as
|
|
|
+ in a asynch procedure. Then the doh struct pointer is NULL and signifies
|
|
|
+ an OOM situation.
|
|
|
|
|
|
- Closes #6304
|
|
|
-
|
|
|
-- [Jon Rumsey brought this change]
|
|
|
+ Follow-up to 6246a1d8c6776
|
|
|
|
|
|
- OS400: update ccsidcurl.c
|
|
|
+- wolfssh: remove conn->data references
|
|
|
|
|
|
- Add 'struct' to cast and declaration of cfcdata to fix compilation
|
|
|
- error.
|
|
|
+ ... and repair recent build breakage
|
|
|
|
|
|
- Fixes #6292
|
|
|
- Closes #6297
|
|
|
+ Closes #6507
|
|
|
|
|
|
-- ngtcp2: make it build it current master again
|
|
|
+- http: empty reply connection are not left intact
|
|
|
|
|
|
- Closes #6296
|
|
|
-
|
|
|
-- [Cristian Rodríguez brought this change]
|
|
|
-
|
|
|
- connect: defer port selection until connect() time
|
|
|
+ ... so mark the connection as closed in this condition to prevent that
|
|
|
+ verbose message to wrongly appear.
|
|
|
|
|
|
- If supported, defer port selection until connect() time
|
|
|
- if --interface is given and source port is 0.
|
|
|
+ Reported-by: Matt Holt
|
|
|
+ Bug: https://twitter.com/mholt6/status/1352130240265375744
|
|
|
+ Closes #6503
|
|
|
+
|
|
|
+- chunk/encoding: remove conn->data references
|
|
|
|
|
|
- Reproducer:
|
|
|
+ ... by anchoring more functions on Curl_easy instead of connectdata
|
|
|
|
|
|
- * start fast webserver on port 80
|
|
|
- * starve system of ephemeral ports
|
|
|
- $ sysctl net.ipv4.ip_local_port_range="60990 60999"
|
|
|
+ Closes #6498
|
|
|
+
|
|
|
+Jay Satiro (20 Jan 2021)
|
|
|
+- [Erik Olsson brought this change]
|
|
|
+
|
|
|
+ lib: save a bit of space with some structure packing
|
|
|
|
|
|
- * start a curl/libcurl "crawler"
|
|
|
- $curl --keepalive --parallel --parallel-immediate --head --interface
|
|
|
- 127.0.0.2 "http://127.0.0.[1-254]/file[001-002].txt"
|
|
|
+ - Reorder some internal struct members so that less padding is used.
|
|
|
|
|
|
- current result:
|
|
|
- (possible some successful data)
|
|
|
- curl: (45) bind failed with errno 98: Address already in use
|
|
|
+ This is an attempt at saving a bit of space by packing some structs
|
|
|
+ (using pahole to find the holes) where it might make sense to do
|
|
|
+ so without losing readability.
|
|
|
|
|
|
- result after patch:
|
|
|
- (complete success or few connections failing, higlhy depending on load)
|
|
|
+ I.e., I tried to avoid separating fields that seem grouped
|
|
|
+ together (like the cwd... fields in struct ftp_conn for instance).
|
|
|
+ Also abstained from touching fields behind conditional macros as
|
|
|
+ that quickly can get complicated.
|
|
|
|
|
|
- Fail only when all the possible 4-tuple combinations are exhausted,
|
|
|
- which is impossible to do when port is selected at bind() time becuse
|
|
|
- the kernel does not know if socket will be listen()'ed on or connect'ed
|
|
|
- yet.
|
|
|
+ Closes https://github.com/curl/curl/pull/6483
|
|
|
+
|
|
|
+Daniel Stenberg (20 Jan 2021)
|
|
|
+- INSTALL.md: fix typo
|
|
|
|
|
|
- Closes #6295
|
|
|
+ Found-by: Marcel Raad
|
|
|
|
|
|
-- [Hans-Christian Noren Egtvedt brought this change]
|
|
|
+- [Fabian Keil brought this change]
|
|
|
|
|
|
- connect: zero variable on stack to silence valgrind complaint
|
|
|
-
|
|
|
- Valgrind will complain that ssrem buffer usage if not explicit
|
|
|
- initialized, hence initialize it to zero.
|
|
|
+ http: get CURLOPT_REQUEST_TARGET working with a HTTP proxy
|
|
|
|
|
|
- This completes the change intially started in commit 2c0d7212151 ('ftp:
|
|
|
- retry getpeername for FTP with TCP_FASTOPEN') where the ssloc buffer has
|
|
|
- a similar memset to zero.
|
|
|
+ Added test 1613 to verify.
|
|
|
|
|
|
- Signed-off-by: Hans-Christian Noren Egtvedt <hegtvedt@cisco.com>
|
|
|
- Closes #6289
|
|
|
+ Closes #6490
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
-
|
|
|
- start over on the next release cycle
|
|
|
+- Merge branch 'bagder/curl_range-data-conn'
|
|
|
|
|
|
-Version 7.74.0 (9 Dec 2020)
|
|
|
+- ftp: remove conn->data leftover
|
|
|
|
|
|
-Daniel Stenberg (9 Dec 2020)
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+- curl_range: remove conn->data
|
|
|
|
|
|
- for 7.74.0
|
|
|
+ Closes #6496
|
|
|
|
|
|
-Jay Satiro (7 Dec 2020)
|
|
|
-- [Jacob Hoffman-Andrews brought this change]
|
|
|
+- INSTALL: now at 85 operating systems
|
|
|
|
|
|
- urldata: restore comment on ssl_connect_data.use
|
|
|
-
|
|
|
- This comment was originally on the `use` field, but was separated from
|
|
|
- its field in 62a2534.
|
|
|
+- quiche: fix unused parameter ‘conn’
|
|
|
|
|
|
- Closes https://github.com/curl/curl/pull/6287
|
|
|
+ Follow-up to 2bdec0b3
|
|
|
|
|
|
-Daniel Stenberg (7 Dec 2020)
|
|
|
-- VERSIONS: refreshed
|
|
|
+- transfer: fix ‘conn’ undeclared mistake for iconv build
|
|
|
|
|
|
- We always use the patch number these days: all releases are
|
|
|
- "major.minor.patch"
|
|
|
-
|
|
|
-- [Jakub Zakrzewski brought this change]
|
|
|
+ Follow-up to 219d9f8620d
|
|
|
|
|
|
- cmake: don't use reserved target name 'test'
|
|
|
+- doh: allocate state struct on demand
|
|
|
|
|
|
- CMake up to 3.10 always reserves this name
|
|
|
+ ... instead of having it static within the Curl_easy struct. This takes
|
|
|
+ away 1176 bytes (18%) from the Curl_easy struct that aren't used very
|
|
|
+ often and instead makes the code allocate it when needed.
|
|
|
|
|
|
- Fixes #6257
|
|
|
- Closes #6258
|
|
|
+ Closes #6492
|
|
|
|
|
|
-- openssl: make the OCSP verification verify the certificate id
|
|
|
-
|
|
|
- CVE-2020-8286
|
|
|
+- socks: use the download buffer instead
|
|
|
|
|
|
- Reported by anonymous
|
|
|
+ The SOCKS code now uses the generic download buffer for temporary
|
|
|
+ storage during the connection procedure, instead of having its own
|
|
|
+ private 600 byte buffer that adds to the connectdata struct size. This
|
|
|
+ works fine because this point the buffer is allocated but is not use for
|
|
|
+ download yet since the connection hasn't completed.
|
|
|
|
|
|
- Bug: https://curl.se/docs/CVE-2020-8286.html
|
|
|
-
|
|
|
-- ftp: make wc_statemach loop instead of recurse
|
|
|
+ This reduces the connection struct size by 22% on a 64bit arch!
|
|
|
|
|
|
- CVE-2020-8285
|
|
|
+ The SOCKS buffer needs to be at least 600 bytes, and the download buffer
|
|
|
+ is guaranteed to never be smaller than 1000 bytes.
|
|
|
|
|
|
- Fixes #6255
|
|
|
- Bug: https://curl.se/docs/CVE-2020-8285.html
|
|
|
- Reported-by: xnynx on github
|
|
|
+ Closes #6491
|
|
|
|
|
|
-- ftp: CURLOPT_FTP_SKIP_PASV_IP by default
|
|
|
-
|
|
|
- The command line tool also independently sets --ftp-skip-pasv-ip by
|
|
|
- default.
|
|
|
+- urldata: make magic be the first struct field
|
|
|
|
|
|
- Ten test cases updated to adapt the modified --libcurl output.
|
|
|
+ By making the `magic` identifier the same size and at the same place
|
|
|
+ within the structs (easy, multi, share), libcurl will be able to more
|
|
|
+ reliably detect and safely error out if an application passes in the
|
|
|
+ wrong handle to APIs. Easier to detect and less likely to cause crashes
|
|
|
+ if done.
|
|
|
|
|
|
- Bug: https://curl.se/docs/CVE-2020-8284.html
|
|
|
- CVE-2020-8284
|
|
|
+ Such mixups can't be detected at compile-time due to them being
|
|
|
+ typedefed void pointers - unless `CURL_STRICTER` is defined.
|
|
|
|
|
|
- Reported-by: Varnavas Papaioannou
|
|
|
+ Closes #6484
|
|
|
|
|
|
-- urlapi: don't accept blank port number field without scheme
|
|
|
-
|
|
|
- ... as it makes the URL parser accept "very-long-hostname://" as a valid
|
|
|
- host name and we don't want that. The parser now only accepts a blank
|
|
|
- (no digits) after the colon if the URL starts with a scheme.
|
|
|
+- http_chunks: correct and clarify a comment on hexnumber length
|
|
|
|
|
|
- Reported-by: d4d on hackerone
|
|
|
+ ... and also rename the define for max length.
|
|
|
|
|
|
- Closes #6283
|
|
|
+ Closes #6489
|
|
|
|
|
|
-- Revert "multi: implement wait using winsock events"
|
|
|
+- curl_path: remove conn->data use
|
|
|
|
|
|
- This reverts commit d2a7d7c185f98df8f3e585e5620cbc0482e45fac.
|
|
|
+ Closes #6487
|
|
|
+
|
|
|
+- transfer: remove conn->data use
|
|
|
|
|
|
- This commit also reverts the subsequent follow-ups to that commit, which
|
|
|
- were all done within windows #ifdefs that are removed in this
|
|
|
- change. Marc helped me verify this.
|
|
|
+ Closes #6486
|
|
|
+
|
|
|
+- quic: remove conn->data use
|
|
|
|
|
|
- Fixes #6146
|
|
|
- Closes #6281
|
|
|
+ Closes #6485
|
|
|
|
|
|
-- [Klaus Crusius brought this change]
|
|
|
+- [Fabian Keil brought this change]
|
|
|
|
|
|
- ftp: retry getpeername for FTP with TCP_FASTOPEN
|
|
|
-
|
|
|
- In the case of TFO, the remote host name is not resolved at the
|
|
|
- connetion time.
|
|
|
-
|
|
|
- For FTP that has lead to missing hostname for the secondary connection.
|
|
|
- Therefore the name resolution is done at the time, when FTP requires it.
|
|
|
-
|
|
|
- Fixes #6252
|
|
|
- Closes #6265
|
|
|
- Closes #6282
|
|
|
+ Add test1181: Proxy request with --proxy-header "Connection: Keep-Alive"
|
|
|
|
|
|
-- [Thomas Danielsson brought this change]
|
|
|
+- [Fabian Keil brought this change]
|
|
|
|
|
|
- scripts/completion.pl: parse all opts
|
|
|
-
|
|
|
- For tab-completion it may be preferable to include all the
|
|
|
- available options.
|
|
|
+ Add test1180: Proxy request with -H "Proxy-Connection: Keep-Alive"
|
|
|
|
|
|
- Closes #6280
|
|
|
+ At the moment the test fails as curl sends two Proxy-Connection
|
|
|
+ headers.
|
|
|
|
|
|
-- RELEASE-NOTES: synced
|
|
|
+- c-hyper: avoid duplicated Proxy-Connection headers
|
|
|
|
|
|
-- openssl: use OPENSSL_init_ssl() with >= 1.1.0
|
|
|
+- http: make providing Proxy-Connection header not cause duplicated headers
|
|
|
+
|
|
|
+ Fixes test 1180
|
|
|
|
|
|
- Reported-by: Kovalkov Dmitrii and Per Nilsson
|
|
|
- Fixes #6254
|
|
|
- Fixes #6256
|
|
|
- Closes #6260
|
|
|
+ Bug: https://curl.se/mail/lib-2021-01/0095.html
|
|
|
+ Reported-by: Fabian Keil
|
|
|
+ Closes #6472
|
|
|
|
|
|
-- SECURITY-PROCESS: disclose on hackerone
|
|
|
+- runtests: preprocess DISABLED to allow conditionals
|
|
|
|
|
|
- Once a vulnerability has been published, the hackerone issue should be
|
|
|
- disclosed. For tranparency.
|
|
|
+ ... with this function provided, we can disable tests for specific
|
|
|
+ environments and setups directly within this file.
|
|
|
|
|
|
- Closes #6275
|
|
|
+ Closes #6477
|
|
|
|
|
|
-Marc Hoersken (3 Dec 2020)
|
|
|
-- tests/util.py: fix compatibility with Python 2
|
|
|
+- runtests: turn preprocessing into a separate function
|
|
|
|
|
|
- Backporting the Python 3 implementation of setStream
|
|
|
- to ClosingFileHandler as a fallback within Python 2.
|
|
|
+ ... and remove all other variable substitutions as they're now done once
|
|
|
+ and for all in the preprocessor.
|
|
|
+
|
|
|
+- lib/Makefile.inc: convert to listing each file on its own line
|
|
|
|
|
|
- Reported-by: Jay Satiro
|
|
|
+ ... to make it diff friendlier and easier to read.
|
|
|
|
|
|
- Fixes #6259
|
|
|
- Closes #6270
|
|
|
+ Closes #6448
|
|
|
|
|
|
-Daniel Gustafsson (3 Dec 2020)
|
|
|
-- docs: fix typos and markup in ETag manpage sections
|
|
|
+- ftplistparser: remove use of conn->data
|
|
|
|
|
|
- Reported-by: emanruse on github
|
|
|
- Fixes #6273
|
|
|
+ Closes #6482
|
|
|
|
|
|
-Daniel Stenberg (2 Dec 2020)
|
|
|
-- quiche: close the connection
|
|
|
+- lib: more conn->data cleanups
|
|
|
|
|
|
- Reported-by: Junho Choi
|
|
|
- Fixes #6213
|
|
|
- Closes #6217
|
|
|
+ Closes #6479
|
|
|
|
|
|
-Jay Satiro (2 Dec 2020)
|
|
|
-- ngtcp2: Fix build error due to symbol name change
|
|
|
-
|
|
|
- - NGTCP2_CRYPTO_LEVEL_APP -> NGTCP2_CRYPTO_LEVEL_APPLICATION
|
|
|
-
|
|
|
- ngtcp2/ngtcp2@76232e9 changed the name.
|
|
|
-
|
|
|
- ngtcp2 master is required to build curl with http3 support.
|
|
|
-
|
|
|
- Closes https://github.com/curl/curl/pull/6271
|
|
|
+- [Patrick Monnerat brought this change]
|
|
|
|
|
|
-Daniel Stenberg (1 Dec 2020)
|
|
|
-- [Klaus Crusius brought this change]
|
|
|
+ vtls: reduce conn->data use
|
|
|
+
|
|
|
+ Closes #6474
|
|
|
|
|
|
- cmake: check for linux/tcp.h
|
|
|
+- hyper: deliver data to application with Curl_client_write
|
|
|
|
|
|
- The HAVE_LINUX_TCP_H define was not set by cmake.
|
|
|
+ ... just as the native code path does. Avoids sending too large data
|
|
|
+ chunks in the callback and more.
|
|
|
|
|
|
- Closes #6252
|
|
|
+ Reported-by: Gisle Vanem
|
|
|
+ Fixes #6462
|
|
|
+ Closes #6473
|
|
|
+
|
|
|
+- gopher: remove accidental conn->data leftover
|