aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/libs/curl/CHANGES
diff options
context:
space:
mode:
authorthegeorg <thegeorg@yandex-team.ru>2022-02-10 16:45:12 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:45:12 +0300
commit49116032d905455a7b1c994e4a696afc885c1e71 (patch)
treebe835aa92c6248212e705f25388ebafcf84bc7a1 /contrib/libs/curl/CHANGES
parent4e839db24a3bbc9f1c610c43d6faaaa99824dcca (diff)
downloadydb-49116032d905455a7b1c994e4a696afc885c1e71.tar.gz
Restoring authorship annotation for <thegeorg@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'contrib/libs/curl/CHANGES')
-rw-r--r--contrib/libs/curl/CHANGES10140
1 files changed, 5070 insertions, 5070 deletions
diff --git a/contrib/libs/curl/CHANGES b/contrib/libs/curl/CHANGES
index 72697aabbb..56859b4993 100644
--- a/contrib/libs/curl/CHANGES
+++ b/contrib/libs/curl/CHANGES
@@ -6,7435 +6,7435 @@
Changelog
-Version 7.74.0 (9 Dec 2020)
-
-Daniel Stenberg (9 Dec 2020)
-- RELEASE-NOTES: synced
-
- for 7.74.0
-
-Jay Satiro (7 Dec 2020)
-- [Jacob Hoffman-Andrews brought this change]
-
- urldata: restore comment on ssl_connect_data.use
-
- This comment was originally on the `use` field, but was separated from
- its field in 62a2534.
-
- Closes https://github.com/curl/curl/pull/6287
-
-Daniel Stenberg (7 Dec 2020)
-- VERSIONS: refreshed
-
- We always use the patch number these days: all releases are
- "major.minor.patch"
-
-- [Jakub Zakrzewski brought this change]
-
- cmake: don't use reserved target name 'test'
-
- CMake up to 3.10 always reserves this name
-
- Fixes #6257
- Closes #6258
-
-- openssl: make the OCSP verification verify the certificate id
-
- CVE-2020-8286
-
- Reported by anonymous
-
- Bug: https://curl.se/docs/CVE-2020-8286.html
-
-- ftp: make wc_statemach loop instead of recurse
-
- CVE-2020-8285
-
- Fixes #6255
- Bug: https://curl.se/docs/CVE-2020-8285.html
- Reported-by: xnynx on github
-
-- ftp: CURLOPT_FTP_SKIP_PASV_IP by default
-
- The command line tool also independently sets --ftp-skip-pasv-ip by
- default.
-
- Ten test cases updated to adapt the modified --libcurl output.
-
- Bug: https://curl.se/docs/CVE-2020-8284.html
- CVE-2020-8284
-
- Reported-by: Varnavas Papaioannou
-
-- 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.
-
- Reported-by: d4d on hackerone
-
- Closes #6283
+Version 7.74.0 (9 Dec 2020)
-- Revert "multi: implement wait using winsock events"
-
- This reverts commit d2a7d7c185f98df8f3e585e5620cbc0482e45fac.
-
- 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.
-
- Fixes #6146
- Closes #6281
+Daniel Stenberg (9 Dec 2020)
+- RELEASE-NOTES: synced
+
+ for 7.74.0
+
+Jay Satiro (7 Dec 2020)
+- [Jacob Hoffman-Andrews brought this change]
+
+ urldata: restore comment on ssl_connect_data.use
+
+ This comment was originally on the `use` field, but was separated from
+ its field in 62a2534.
+
+ Closes https://github.com/curl/curl/pull/6287
-- [Klaus Crusius brought this change]
-
- ftp: retry getpeername for FTP with TCP_FASTOPEN
+Daniel Stenberg (7 Dec 2020)
+- VERSIONS: refreshed
- 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
+ We always use the patch number these days: all releases are
+ "major.minor.patch"
-- [Thomas Danielsson brought this change]
+- [Jakub Zakrzewski brought this change]
- scripts/completion.pl: parse all opts
+ cmake: don't use reserved target name 'test'
- For tab-completion it may be preferable to include all the
- available options.
+ CMake up to 3.10 always reserves this name
- Closes #6280
+ Fixes #6257
+ Closes #6258
-- RELEASE-NOTES: synced
-
-- openssl: use OPENSSL_init_ssl() with >= 1.1.0
+- openssl: make the OCSP verification verify the certificate id
+
+ CVE-2020-8286
+
+ Reported by anonymous
- Reported-by: Kovalkov Dmitrii and Per Nilsson
- Fixes #6254
- Fixes #6256
- Closes #6260
+ Bug: https://curl.se/docs/CVE-2020-8286.html
-- SECURITY-PROCESS: disclose on hackerone
+- ftp: make wc_statemach loop instead of recurse
- Once a vulnerability has been published, the hackerone issue should be
- disclosed. For tranparency.
+ CVE-2020-8285
- Closes #6275
+ Fixes #6255
+ Bug: https://curl.se/docs/CVE-2020-8285.html
+ Reported-by: xnynx on github
-Marc Hoersken (3 Dec 2020)
-- tests/util.py: fix compatibility with Python 2
+- ftp: CURLOPT_FTP_SKIP_PASV_IP by default
+
+ The command line tool also independently sets --ftp-skip-pasv-ip by
+ default.
+
+ Ten test cases updated to adapt the modified --libcurl output.
- Backporting the Python 3 implementation of setStream
- to ClosingFileHandler as a fallback within Python 2.
+ Bug: https://curl.se/docs/CVE-2020-8284.html
+ CVE-2020-8284
- Reported-by: Jay Satiro
-
- Fixes #6259
- Closes #6270
+ Reported-by: Varnavas Papaioannou
-Daniel Gustafsson (3 Dec 2020)
-- docs: fix typos and markup in ETag manpage sections
-
- Reported-by: emanruse on github
- Fixes #6273
+- 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.
+
+ Reported-by: d4d on hackerone
+
+ Closes #6283
-Daniel Stenberg (2 Dec 2020)
-- quiche: close the connection
-
- Reported-by: Junho Choi
- Fixes #6213
- Closes #6217
+- Revert "multi: implement wait using winsock events"
+
+ This reverts commit d2a7d7c185f98df8f3e585e5620cbc0482e45fac.
+
+ 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.
+
+ Fixes #6146
+ Closes #6281
+
+- [Klaus Crusius brought this change]
-Jay Satiro (2 Dec 2020)
-- ngtcp2: Fix build error due to symbol name change
+ ftp: retry getpeername for FTP with TCP_FASTOPEN
- - NGTCP2_CRYPTO_LEVEL_APP -> NGTCP2_CRYPTO_LEVEL_APPLICATION
+ In the case of TFO, the remote host name is not resolved at the
+ connetion time.
- ngtcp2/ngtcp2@76232e9 changed the name.
+ 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.
- ngtcp2 master is required to build curl with http3 support.
-
- Closes https://github.com/curl/curl/pull/6271
+ Fixes #6252
+ Closes #6265
+ Closes #6282
-Daniel Stenberg (1 Dec 2020)
-- [Klaus Crusius brought this change]
-
- cmake: check for linux/tcp.h
+- [Thomas Danielsson brought this change]
+
+ scripts/completion.pl: parse all opts
- The HAVE_LINUX_TCP_H define was not set by cmake.
+ For tab-completion it may be preferable to include all the
+ available options.
- Closes #6252
+ Closes #6280
+
+- RELEASE-NOTES: synced
-- NEW-PROTOCOL: document what needs to be done to add one
+- openssl: use OPENSSL_init_ssl() with >= 1.1.0
- Closes #6263
+ Reported-by: Kovalkov Dmitrii and Per Nilsson
+ Fixes #6254
+ Fixes #6256
+ Closes #6260
-- splay: rename Curl_splayremovebyaddr to Curl_splayremove
+- SECURITY-PROCESS: disclose on hackerone
+
+ Once a vulnerability has been published, the hackerone issue should be
+ disclosed. For tranparency.
- ... and remove the old unused proto for the old Curl_splayremove
- version.
+ Closes #6275
+
+Marc Hoersken (3 Dec 2020)
+- tests/util.py: fix compatibility with Python 2
- Closes #6269
-
-- openssl: free mem_buf in error path
+ Backporting the Python 3 implementation of setStream
+ to ClosingFileHandler as a fallback within Python 2.
- To fix a memory-leak.
+ Reported-by: Jay Satiro
- Closes #6267
+ Fixes #6259
+ Closes #6270
-- openssl: remove #if 0 leftover
+Daniel Gustafsson (3 Dec 2020)
+- docs: fix typos and markup in ETag manpage sections
- Follow-up to 4c9768565ec3a9 (from Sep 2008)
+ Reported-by: emanruse on github
+ Fixes #6273
+
+Daniel Stenberg (2 Dec 2020)
+- quiche: close the connection
- Closes #6268
+ Reported-by: Junho Choi
+ Fixes #6213
+ Closes #6217
-- ntlm: avoid malloc(0) on zero length user and domain
+Jay Satiro (2 Dec 2020)
+- ngtcp2: Fix build error due to symbol name change
+
+ - NGTCP2_CRYPTO_LEVEL_APP -> NGTCP2_CRYPTO_LEVEL_APPLICATION
- ... and simplify the too-long checks somewhat.
-
- Detected by OSS-Fuzz
-
- Closes #6264
+ ngtcp2/ngtcp2@76232e9 changed the name.
+
+ ngtcp2 master is required to build curl with http3 support.
+
+ Closes https://github.com/curl/curl/pull/6271
-- RELEASE-NOTES: synced
+Daniel Stenberg (1 Dec 2020)
+- [Klaus Crusius brought this change]
-Marc Hoersken (28 Nov 2020)
-- tests/server/tftpd.c: close upload file in case of abort
+ cmake: check for linux/tcp.h
- Commit c353207 removed the closing right after do_tftp
- which covered the case of abort. This handles that case.
+ The HAVE_LINUX_TCP_H define was not set by cmake.
- Reviewed-by: Jay Satiro
- Reviewed-by: Daniel Stenberg
+ Closes #6252
+
+- NEW-PROTOCOL: document what needs to be done to add one
- Follow up to #6209
- Closes #6234
+ Closes #6263
-Daniel Stenberg (26 Nov 2020)
-- [Daiki Ueno brought this change]
+- splay: rename Curl_splayremovebyaddr to Curl_splayremove
+
+ ... and remove the old unused proto for the old Curl_splayremove
+ version.
+
+ Closes #6269
- ngtcp2: use the minimal version of QUIC supported by ngtcp2
-
- Closes #6250
+- openssl: free mem_buf in error path
+
+ To fix a memory-leak.
+
+ Closes #6267
-- [Daiki Ueno brought this change]
+- openssl: remove #if 0 leftover
+
+ Follow-up to 4c9768565ec3a9 (from Sep 2008)
+
+ Closes #6268
- ngtcp2: advertise h3 ALPN unconditionally
-
- Closes #6250
+- ntlm: avoid malloc(0) on zero length user and domain
+
+ ... and simplify the too-long checks somewhat.
+
+ Detected by OSS-Fuzz
+
+ Closes #6264
-- [Daiki Ueno brought this change]
+- RELEASE-NOTES: synced
- vquic/ngtcp2.h: define local_addr as sockaddr_storage
+Marc Hoersken (28 Nov 2020)
+- tests/server/tftpd.c: close upload file in case of abort
+
+ Commit c353207 removed the closing right after do_tftp
+ which covered the case of abort. This handles that case.
- This field needs to be wide enough to hold sockaddr_in6 when
- connecting via IPv6. Otherwise, ngtcp2_conn_read_pkt will drop the
- packets because of the address mismatch:
- I00000022 [...] con ignore packet from unknown path
-
- We can safely assume that struct sockaddr_storage is available, as it
- is used in the public interface of ngtcp2.
-
- Closes #6250
+ Reviewed-by: Jay Satiro
+ Reviewed-by: Daniel Stenberg
+
+ Follow up to #6209
+ Closes #6234
+
+Daniel Stenberg (26 Nov 2020)
+- [Daiki Ueno brought this change]
-- socks: check for DNS entries with the right port number
+ ngtcp2: use the minimal version of QUIC supported by ngtcp2
- The resolve call is done with the right port number, but the subsequent
- check used the wrong one, which then could find a previous resolve which
- would return and leave the fresh resolve "incomplete" and leaking
- memory.
+ Closes #6250
+
+- [Daiki Ueno brought this change]
+
+ ngtcp2: advertise h3 ALPN unconditionally
- Fixes #6247
- Closes #6253
+ Closes #6250
+
+- [Daiki Ueno brought this change]
-- curl_setup: USE_RESOLVE_ON_IPS is for Apple native resolver use
+ vquic/ngtcp2.h: define local_addr as sockaddr_storage
- ... so don't define it when instructed to use c-ares!
+ This field needs to be wide enough to hold sockaddr_in6 when
+ connecting via IPv6. Otherwise, ngtcp2_conn_read_pkt will drop the
+ packets because of the address mismatch:
+ I00000022 [...] con ignore packet from unknown path
+
+ We can safely assume that struct sockaddr_storage is available, as it
+ is used in the public interface of ngtcp2.
+
+ Closes #6250
-- test506: make it not run in c-ares builds
-
- As the asynch nature of it may trigger events in another order. A c-ares
- upgrade made it break.
-
- Reported-by: Marc Hörsken
- Fixes #6247
+- socks: check for DNS entries with the right port number
+
+ The resolve call is done with the right port number, but the subsequent
+ check used the wrong one, which then could find a previous resolve which
+ would return and leave the fresh resolve "incomplete" and leaking
+ memory.
+
+ Fixes #6247
+ Closes #6253
-- runtests: make 'c-ares' a "feature" to depend on
+- curl_setup: USE_RESOLVE_ON_IPS is for Apple native resolver use
- ... also added to the docs.
+ ... so don't define it when instructed to use c-ares!
-- tool_writeout: use off_t getinfo-types instead of doubles
+- test506: make it not run in c-ares builds
- Commit 3b80d3ca46b12e52342 (June 2017) introduced getinfo replacement
- variables that use curl_off_t instead of doubles. Switch the --write-out
- function over to use them.
+ As the asynch nature of it may trigger events in another order. A c-ares
+ upgrade made it break.
- Closes #6248
+ Reported-by: Marc Hörsken
+ Fixes #6247
-- [Emil Engler brought this change]
+- runtests: make 'c-ares' a "feature" to depend on
+
+ ... also added to the docs.
- file: avoid duplicated code sequence
+- tool_writeout: use off_t getinfo-types instead of doubles
- file_disconnect() is identical with file_do() except the function header
- but as the arguments are unused anyway so why not just return file_do()
- directly!
+ Commit 3b80d3ca46b12e52342 (June 2017) introduced getinfo replacement
+ variables that use curl_off_t instead of doubles. Switch the --write-out
+ function over to use them.
- Reviewed-by: Daniel Stenberg
- Closes #6249
+ Closes #6248
-- [Rikard Falkeborn brought this change]
+- [Emil Engler brought this change]
- infof/failf calls: fix format specifiers
+ file: avoid duplicated code sequence
- Update a few format specifiers to match what is being printed.
+ file_disconnect() is identical with file_do() except the function header
+ but as the arguments are unused anyway so why not just return file_do()
+ directly!
- Closes #6241
+ Reviewed-by: Daniel Stenberg
+ Closes #6249
-- docs/INTERNALS: remove reference to Curl_sendf()
+- [Rikard Falkeborn brought this change]
+
+ infof/failf calls: fix format specifiers
- The function has been removed from common usage. Also removed comment in
- gopher.c that still referenced it.
+ Update a few format specifiers to match what is being printed.
- Reported-by: Rikard Falkeborn
- Fixes #6242
- Closes #6243
+ Closes #6241
-- [Rikard Falkeborn brought this change]
+- docs/INTERNALS: remove reference to Curl_sendf()
+
+ The function has been removed from common usage. Also removed comment in
+ gopher.c that still referenced it.
+
+ Reported-by: Rikard Falkeborn
+ Fixes #6242
+ Closes #6243
- examples: update .gitignore
+- [Rikard Falkeborn brought this change]
+
+ examples: update .gitignore
+
+ Add files that are generated by 'make examples' and remove some that
+ have been renamed.
- Add files that are generated by 'make examples' and remove some that
- have been renamed.
-
- The commits that renamed the programs are e9625c5bc6c046a (imap.c and
- simplesmtp.c were renamed to imap-fetch.c and smtp-send.c) and
- ad39e7ec01e7 (pop3slist.c and pop3s.c were renamed to pop3-list.c and
- pop3-ssl.c).
-
- Closes #6240
+ The commits that renamed the programs are e9625c5bc6c046a (imap.c and
+ simplesmtp.c were renamed to imap-fetch.c and smtp-send.c) and
+ ad39e7ec01e7 (pop3slist.c and pop3s.c were renamed to pop3-list.c and
+ pop3-ssl.c).
+
+ Closes #6240
-- asyn: use 'struct thread_data *' instead of 'void *'
+- asyn: use 'struct thread_data *' instead of 'void *'
+
+ To reduce use of types that can't be checked at compile time. Also
+ removes several typecasts.
- To reduce use of types that can't be checked at compile time. Also
- removes several typecasts.
+ ... and rename the struct field from 'os_specific' to 'tdata'.
- ... and rename the struct field from 'os_specific' to 'tdata'.
-
- Closes #6239
- Reviewed-by: Jay Satiro
+ Closes #6239
+ Reviewed-by: Jay Satiro
-Viktor Szakats (23 Nov 2020)
-- Makefile.m32: add support for UNICODE builds
+Viktor Szakats (23 Nov 2020)
+- Makefile.m32: add support for UNICODE builds
+
+ It requires the linker to support the `-municode` option.
+ This is available in more recent mingw-w64 releases.
+
+ Ref: https://gcc.gnu.org/onlinedocs/gcc/x86-Windows-Options.html
+ Ref: https://stackoverflow.com/questions/3571250/wwinmain-unicode-and-mingw/11706847#11706847
- It requires the linker to support the `-municode` option.
- This is available in more recent mingw-w64 releases.
-
- Ref: https://gcc.gnu.org/onlinedocs/gcc/x86-Windows-Options.html
- Ref: https://stackoverflow.com/questions/3571250/wwinmain-unicode-and-mingw/11706847#11706847
-
- Reviewed-by: Jay Satiro
+ Reviewed-by: Jay Satiro
Reviewed-by: Marcel Raad
-
- Closes #6228
+
+ Closes #6228
-Daniel Stenberg (23 Nov 2020)
-- urldata: remove 'void *protop' and create the union 'p'
+Daniel Stenberg (23 Nov 2020)
+- urldata: remove 'void *protop' and create the union 'p'
- ... to avoid the use of 'void *' for the protocol specific structs done
- per transfer.
+ ... to avoid the use of 'void *' for the protocol specific structs done
+ per transfer.
- Closes #6238
+ Closes #6238
-- winbuild: remove docs from Makefiles and refer to README.md
+- winbuild: remove docs from Makefiles and refer to README.md
+
+ Reduce risk for conflicting docs and makes it to a single place to fix
+ and polish.
- Reduce risk for conflicting docs and makes it to a single place to fix
- and polish.
+ add these missing options to the readme:
- add these missing options to the readme:
+ ENABLE_OPENSSL_AUTO_LOAD_CONFIG and ENABLE_UNICODE
- ENABLE_OPENSSL_AUTO_LOAD_CONFIG and ENABLE_UNICODE
+ clarify ENABLE_SCHANNEL default varies
- clarify ENABLE_SCHANNEL default varies
-
- Fixes #6216
- Closes #6227
- Co-Authored-by: Jay Satiro
+ Fixes #6216
+ Closes #6227
+ Co-Authored-by: Jay Satiro
+
+- [Daiki Ueno brought this change]
-- [Daiki Ueno brought this change]
-
- http3: use the master branch of GnuTLS for testing
+ http3: use the master branch of GnuTLS for testing
- Closes #6235
+ Closes #6235
-- KNOWN_BUGS: curl with wolfSSL lacks support for renegotiation
+- KNOWN_BUGS: curl with wolfSSL lacks support for renegotiation
- Closes #5839
+ Closes #5839
-- KNOWN_BUGS: wakeup socket disconnect causes havoc
+- KNOWN_BUGS: wakeup socket disconnect causes havoc
- Closes #6132
- Closes #6133
+ Closes #6132
+ Closes #6133
+
+- RELEASE-NOTES: synced
-- RELEASE-NOTES: synced
+- [Oliver Urbann brought this change]
-- [Oliver Urbann brought this change]
-
- curl: add compatibility for Amiga and GCC 6.5
+ curl: add compatibility for Amiga and GCC 6.5
- Changes are mainly reordering and adding of includes required
- to compile with a more recent version of GCC.
+ Changes are mainly reordering and adding of includes required
+ to compile with a more recent version of GCC.
- Closes #6220
+ Closes #6220
-Marc Hoersken (20 Nov 2020)
-- tests/server/tftpd.c: close upload file right after transfer
+Marc Hoersken (20 Nov 2020)
+- tests/server/tftpd.c: close upload file right after transfer
- Make sure uploaded file is no longer locked after the
- transfer while waiting for the final ACK to be handled.
+ Make sure uploaded file is no longer locked after the
+ transfer while waiting for the final ACK to be handled.
- Assisted-by: Daniel Stenberg
+ Assisted-by: Daniel Stenberg
- Bug: #6058
- Closes #6209
+ Bug: #6058
+ Closes #6209
-- CI/cirrus: simplify logic for disabled tests
+- CI/cirrus: simplify logic for disabled tests
- The OpenSSH server instance for the testsuite cannot
- be started on FreeBSD, therefore the SFTP and SCP
- tests are disabled right away from the beginning.
+ The OpenSSH server instance for the testsuite cannot
+ be started on FreeBSD, therefore the SFTP and SCP
+ tests are disabled right away from the beginning.
- The previous OS version specific logic for SKIP_TESTS
- is no longer needed/used and can therefore be removed.
+ The previous OS version specific logic for SKIP_TESTS
+ is no longer needed/used and can therefore be removed.
- Reviewed-by: Daniel Stenberg
+ Reviewed-by: Daniel Stenberg
- Follow up to #6211
- Closes #6229
-
-Daniel Gustafsson (20 Nov 2020)
-- mailmap: Daniel Hwang
+ Follow up to #6211
+ Closes #6229
+
+Daniel Gustafsson (20 Nov 2020)
+- mailmap: Daniel Hwang
+
+ Add Daniel Hwang to the mailmap to cover the alternative spelling
+ Daniel Lee Hwang which was used in one commit.
- Add Daniel Hwang to the mailmap to cover the alternative spelling
- Daniel Lee Hwang which was used in one commit.
-
- Closes #6230
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+ Closes #6230
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-- openssl: guard against OOM on context creation
+- openssl: guard against OOM on context creation
- EVP_MD_CTX_create will allocate memory for the context and returns
- NULL in case the allocation fails. Make sure to catch any allocation
- failures and exit early if so.
+ EVP_MD_CTX_create will allocate memory for the context and returns
+ NULL in case the allocation fails. Make sure to catch any allocation
+ failures and exit early if so.
- In passing, also move to EVP_DigestInit rather than EVP_DigestInit_ex
- as the latter is intended for ENGINE selection which we don't do.
-
- Closes #6224
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
- Reviewed-by: Emil Engler <me@emilengler.com>
+ In passing, also move to EVP_DigestInit rather than EVP_DigestInit_ex
+ as the latter is intended for ENGINE selection which we don't do.
+
+ Closes #6224
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+ Reviewed-by: Emil Engler <me@emilengler.com>
+
+Daniel Stenberg (19 Nov 2020)
+- [Vincent Torri brought this change]
-Daniel Stenberg (19 Nov 2020)
-- [Vincent Torri brought this change]
-
- cmake: use libcurl.rc in all Windows builds
+ cmake: use libcurl.rc in all Windows builds
- Reviewed-by: Marcel Raad
- Closes #6215
+ Reviewed-by: Marcel Raad
+ Closes #6215
-- [Cristian Morales Vega brought this change]
+- [Cristian Morales Vega brought this change]
- cmake: make CURL_ZLIB a tri-state variable
+ cmake: make CURL_ZLIB a tri-state variable
- By differentiating between ON and AUTO it can make a missing zlib
- library a hard error when CURL_ZLIB=ON is used.
+ By differentiating between ON and AUTO it can make a missing zlib
+ library a hard error when CURL_ZLIB=ON is used.
- Reviewed-by: Jakub Zakrzewski
- Closes #6221
- Fixes #6173
+ Reviewed-by: Jakub Zakrzewski
+ Closes #6221
+ Fixes #6173
-- quiche: remove 'static' from local buffer
+- quiche: remove 'static' from local buffer
- For thread-safety
+ For thread-safety
- Closes #6223
-
-- KNOWN_BUGS: cmake: libspsl is not supported
+ Closes #6223
+
+- KNOWN_BUGS: cmake: libspsl is not supported
- Closes #6214
-
-- KNOWN_BUGS: cmake autodetects cert paths when cross-compiling
+ Closes #6214
+
+- KNOWN_BUGS: cmake autodetects cert paths when cross-compiling
- Closes #6178
+ Closes #6178
-- KNOWN_BUGS: cmake build doesn't fail if zlib not found
+- KNOWN_BUGS: cmake build doesn't fail if zlib not found
- Closes #6173
-
-- KNOWN_BUGS: cmake libcurl.pc uses absolute library paths
+ Closes #6173
+
+- KNOWN_BUGS: cmake libcurl.pc uses absolute library paths
- Closes #6169
+ Closes #6169
-- KNOWN_BUGS: cmake: generated .pc file contains strange entries
+- KNOWN_BUGS: cmake: generated .pc file contains strange entries
- Closes #6167
+ Closes #6167
-- KNOWN_BUGS: cmake uses -lpthread instead of Threads::Threads
+- KNOWN_BUGS: cmake uses -lpthread instead of Threads::Threads
- Closes #6166
+ Closes #6166
-- KNOWN_BUGS: cmake build in Linux links libcurl to libdl
+- KNOWN_BUGS: cmake build in Linux links libcurl to libdl
- Closes #6165
+ Closes #6165
-- KNOWN_BUGS: make a new section for cmake topics
-
- Closes #6219
+- KNOWN_BUGS: make a new section for cmake topics
+
+ Closes #6219
-- [Emil Engler brought this change]
+- [Emil Engler brought this change]
- cirrus: build with FreeBSD 12.2 in CirrusCI
+ cirrus: build with FreeBSD 12.2 in CirrusCI
- Closes #6211
-
-Marc Hoersken (14 Nov 2020)
-- tests/*server.py: close log file after each log line
+ Closes #6211
+
+Marc Hoersken (14 Nov 2020)
+- tests/*server.py: close log file after each log line
+
+ Make sure the log file is not locked once a test has
+ finished and align with the behavior of our logmsg.
- Make sure the log file is not locked once a test has
- finished and align with the behavior of our logmsg.
+ Rename curl_test_data.py to be a general util.py.
+ Format and sort Python imports with isort/VSCode.
+
+ Bug: #6058
+ Closes #6206
+
+Daniel Stenberg (13 Nov 2020)
+- CURLOPT_HSTS.3: document the file format
- Rename curl_test_data.py to be a general util.py.
- Format and sort Python imports with isort/VSCode.
-
- Bug: #6058
- Closes #6206
+ Closes #6205
-Daniel Stenberg (13 Nov 2020)
-- CURLOPT_HSTS.3: document the file format
+- RELEASE-NOTES: synced
+
+- release-notes.pl: detect #[number] better for Ref: etc
+
+- curl: only warn not fail, if not finding the home dir
- Closes #6205
-
-- RELEASE-NOTES: synced
-
-- release-notes.pl: detect #[number] better for Ref: etc
-
-- curl: only warn not fail, if not finding the home dir
+ ... as there's no good reason to error out completely.
+
+ Reported-by: Andreas Fischer
+ Fixes #6200
+ Closes #6201
+
+- httpput-postfields.c: new example doing PUT with POSTFIELDS
- ... as there's no good reason to error out completely.
-
- Reported-by: Andreas Fischer
- Fixes #6200
- Closes #6201
+ Proposed-by: Jeroen Ooms
+ Ref: #6186
+ Closes #6188
-- httpput-postfields.c: new example doing PUT with POSTFIELDS
+- [Tobias Hieta brought this change]
+
+ cmake: correctly handle linker flags for static libs
- Proposed-by: Jeroen Ooms
- Ref: #6186
- Closes #6188
-
-- [Tobias Hieta brought this change]
-
- cmake: correctly handle linker flags for static libs
+ curl CMake was setting the the EXE flags for static libraries which made
+ the /manifest:no flag ended up when linking the static library, which is
+ not a valid flag for lib.exe or llvm-lib.exe and caused llvm-lib to exit
+ with an error.
- curl CMake was setting the the EXE flags for static libraries which made
- the /manifest:no flag ended up when linking the static library, which is
- not a valid flag for lib.exe or llvm-lib.exe and caused llvm-lib to exit
- with an error.
+ The better way to handle this is to make sure that we pass the correct
+ linker flags to CMAKE_STATIC_LINKER_FLAGS instead.
- The better way to handle this is to make sure that we pass the correct
- linker flags to CMAKE_STATIC_LINKER_FLAGS instead.
-
- Reviewed-by: Jakub Zakrzewski
- Closes #6195
+ Reviewed-by: Jakub Zakrzewski
+ Closes #6195
+
+- [Tobias Hieta brought this change]
-- [Tobias Hieta brought this change]
-
- cmake: don't pass -fvisibility=hidden to clang-cl on Windows
+ cmake: don't pass -fvisibility=hidden to clang-cl on Windows
+
+ When using clang-cl on windows -fvisibility=hidden is not an known
+ argument. Instead it behaves exactly like MSVC in this case. So let's
+ make sure we take that path.
- When using clang-cl on windows -fvisibility=hidden is not an known
- argument. Instead it behaves exactly like MSVC in this case. So let's
- make sure we take that path.
+ In CMake clang-cl sets both CMAKE_C_COMPILER_ID=clang and MSVC get's
+ defined since clang-cl is basically a MSVC emulator. So guarding like we
+ do in this patch seems logical.
- In CMake clang-cl sets both CMAKE_C_COMPILER_ID=clang and MSVC get's
- defined since clang-cl is basically a MSVC emulator. So guarding like we
- do in this patch seems logical.
-
- Reviewed-by: Jakub Zakrzewski
- Closes #6194
+ Reviewed-by: Jakub Zakrzewski
+ Closes #6194
-- http_proxy: use enum with state names for 'keepon'
+- http_proxy: use enum with state names for 'keepon'
- To make the code clearer, change the 'keepon' from an int to an enum
- with better state names.
+ To make the code clearer, change the 'keepon' from an int to an enum
+ with better state names.
- Reported-by: Niranjan Hasabnis
- Bug: https://curl.se/mail/lib-2020-11/0026.html
- Closes #6193
+ Reported-by: Niranjan Hasabnis
+ Bug: https://curl.se/mail/lib-2020-11/0026.html
+ Closes #6193
-- curl_easy_escape: limit output string length to 3 * max input
+- curl_easy_escape: limit output string length to 3 * max input
- ... instead of the limiting it to just the max input size. As every
- input byte can be expanded to 3 output bytes, this could limit the input
- string to 2.66 MB instead of the intended 8 MB.
+ ... instead of the limiting it to just the max input size. As every
+ input byte can be expanded to 3 output bytes, this could limit the input
+ string to 2.66 MB instead of the intended 8 MB.
- Reported-by: Marc Schlatter
- Closes #6192
+ Reported-by: Marc Schlatter
+ Closes #6192
-- docs: document the 8MB input string limit
+- docs: document the 8MB input string limit
- for curl_easy_escape and curl_easy_setopt()
+ for curl_easy_escape and curl_easy_setopt()
- The limit is there to catch mistakes and abuse. It is meant to be large
- enough to allow virtually all "fine" use cases.
+ The limit is there to catch mistakes and abuse. It is meant to be large
+ enough to allow virtually all "fine" use cases.
- Reported-by: Marc Schlatter
- Fixes #6190
- Closes #6191
+ Reported-by: Marc Schlatter
+ Fixes #6190
+ Closes #6191
-- mqttd: fclose test file when done
+- mqttd: fclose test file when done
- Reported-by: Marc Hörsken
- Reviewed-by: Jay Satiro
- Bug: #6058
- Closes #6189
+ Reported-by: Marc Hörsken
+ Reviewed-by: Jay Satiro
+ Bug: #6058
+ Closes #6189
-- RELEASE-NOTES: synced
+- RELEASE-NOTES: synced
-- THANKS-filter: ignore autobuild links
+- THANKS-filter: ignore autobuild links
-- Revert "libcurl.pc: make it relocatable"
+- Revert "libcurl.pc: make it relocatable"
- This reverts commit 3862c37b6373a55ca704171d45ba5ee91dec2c9f.
+ This reverts commit 3862c37b6373a55ca704171d45ba5ee91dec2c9f.
- That fix should either be done differently or with an option.
+ That fix should either be done differently or with an option.
- Reported-by: asavah on github
- Fixes #6157
- Closes #6183
+ Reported-by: asavah on github
+ Fixes #6157
+ Closes #6183
-- examples/httpput: remove use of CURLOPT_PUT
+- examples/httpput: remove use of CURLOPT_PUT
- It is deprecated and unnecessary since it already sets CURLOPT_UPLOAD.
+ It is deprecated and unnecessary since it already sets CURLOPT_UPLOAD.
- Reported-by: Jeroen Ooms
- Fixes #6186
- Closes #6187
-
-- Curl_pgrsStartNow: init speed limit time stamps at start
+ Reported-by: Jeroen Ooms
+ Fixes #6186
+ Closes #6187
+
+- Curl_pgrsStartNow: init speed limit time stamps at start
- By setting the speed limit time stamps unconditionally at transfer
- start, we can start off a transfer without speed limits and yet allow
- them to get set during transfer and have an effect.
+ By setting the speed limit time stamps unconditionally at transfer
+ start, we can start off a transfer without speed limits and yet allow
+ them to get set during transfer and have an effect.
- Reported-by: Kael1117 on github
- Fixes #6162
- Closes #6184
+ Reported-by: Kael1117 on github
+ Fixes #6162
+ Closes #6184
-- ngtcp2: adapt to recent nghttp3 updates
+- ngtcp2: adapt to recent nghttp3 updates
- 'reset_stream' was added to the nghttp3_conn_callbacks struct
+ 'reset_stream' was added to the nghttp3_conn_callbacks struct
- Closes #6185
-
-- configure: pass -pthread to Libs.private for pkg-config
+ Closes #6185
+
+- configure: pass -pthread to Libs.private for pkg-config
- Reported-by: Cristian Morales Vega
- Fixes #6168
- Closes #6181
+ Reported-by: Cristian Morales Vega
+ Fixes #6168
+ Closes #6181
-- altsvc: minimize variable scope and avoid "DEAD_STORE"
+- altsvc: minimize variable scope and avoid "DEAD_STORE"
- Closes #6182
-
-- FAQ: remove "Why is there a HTTP/1.1 in my HTTP/2 request?"
+ Closes #6182
+
+- FAQ: remove "Why is there a HTTP/1.1 in my HTTP/2 request?"
- This hasn't been the case for a while now, remove.
+ This hasn't been the case for a while now, remove.
-- FAQ: refresh "Why do I get "certificate verify failed"
+- FAQ: refresh "Why do I get "certificate verify failed"
- Add more details, remove references to ancient curl version.
+ Add more details, remove references to ancient curl version.
-- test493: verify --hsts upgrade and that %{url_effective} reflects that
+- test493: verify --hsts upgrade and that %{url_effective} reflects that
- Closes #6175
+ Closes #6175
-- url: make sure an HSTS upgrade updates URL and scheme correctly
+- url: make sure an HSTS upgrade updates URL and scheme correctly
- Closes #6175
+ Closes #6175
-- tool_operate: set HSTS with CURLOPT_HSTS to pass on filename
+- tool_operate: set HSTS with CURLOPT_HSTS to pass on filename
- Closes #6175
+ Closes #6175
-- hsts: remove debug code leftovers
+- hsts: remove debug code leftovers
- Closes #6175
+ Closes #6175
-- FAQ: refreshed
+- FAQ: refreshed
- - remove a few ancient questions
- - add configure with static libs question
- - updated wording in several places
- - lowercased curl
+ - remove a few ancient questions
+ - add configure with static libs question
+ - updated wording in several places
+ - lowercased curl
- Closes #6177
-
-Daniel Gustafsson (5 Nov 2020)
-- examples: fix comment syntax
+ Closes #6177
+
+Daniel Gustafsson (5 Nov 2020)
+- examples: fix comment syntax
- Commit ac0a88fd2 accidentally added a stray character outside of the
- comment which broke compilation. Fix by removing.
+ Commit ac0a88fd2 accidentally added a stray character outside of the
+ comment which broke compilation. Fix by removing.
- Reported-by: autobuild https://curl.se/dev/log.cgi?id=20201105084306-12742
+ Reported-by: autobuild https://curl.se/dev/log.cgi?id=20201105084306-12742
-- hsts: Remove pointless call to free in errorpath
+- hsts: Remove pointless call to free in errorpath
- The line variable will always be NULL in the error path, so remove
- the free call since it's pointless.
+ The line variable will always be NULL in the error path, so remove
+ the free call since it's pointless.
- Closes #6170
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+ Closes #6170
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-- docs: Fix various typos in documentation
+- docs: Fix various typos in documentation
- Closes #6171
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+ Closes #6171
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-Daniel Stenberg (5 Nov 2020)
-- copyright: fix year ranges
+Daniel Stenberg (5 Nov 2020)
+- copyright: fix year ranges
- Follow-up from 4d2f8006777
+ Follow-up from 4d2f8006777
-- HISTORY: the new domain
+- HISTORY: the new domain
-- curl.se: new home
+- curl.se: new home
- Closes #6172
+ Closes #6172
-- KNOWN_BUGS: FTPS with Schannel times out file list operation
-
- Reported-by: bobmitchell1956 on github
- Closes #5284
+- KNOWN_BUGS: FTPS with Schannel times out file list operation
+
+ Reported-by: bobmitchell1956 on github
+ Closes #5284
-- KNOWN_BUGS: SMB tests fail with Python 2
+- KNOWN_BUGS: SMB tests fail with Python 2
- Reported-by: Jay Satiro
- Closes #5983
+ Reported-by: Jay Satiro
+ Closes #5983
-- KNOWN_BUGS: LDAPS with NSS is slow
-
- Reported-by: nosajsnikta on github
- Closes #5874
+- KNOWN_BUGS: LDAPS with NSS is slow
+
+ Reported-by: nosajsnikta on github
+ Closes #5874
-Sergei Nikulov (4 Nov 2020)
-- travis: use ninja-build for CMake builds
+Sergei Nikulov (4 Nov 2020)
+- travis: use ninja-build for CMake builds
- Added package ninja-build to environment
- Use ninja to speed up CMake builds
+ Added package ninja-build to environment
+ Use ninja to speed up CMake builds
- Closes #6077
+ Closes #6077
-Daniel Stenberg (4 Nov 2020)
-- [Harry Sintonen brought this change]
+Daniel Stenberg (4 Nov 2020)
+- [Harry Sintonen brought this change]
- rtsp: error out on empty Session ID, unified the code
-
-- [Harry Sintonen brought this change]
-
- rtsp: fixed the RTST Session ID mismatch in test 570
+ rtsp: error out on empty Session ID, unified the code
+
+- [Harry Sintonen brought this change]
+
+ rtsp: fixed the RTST Session ID mismatch in test 570
- Closes #6161
+ Closes #6161
-- [Harry Sintonen brought this change]
-
- rtsp: fixed Session ID comparison to refuse prefix
+- [Harry Sintonen brought this change]
+
+ rtsp: fixed Session ID comparison to refuse prefix
- Closes #6161
+ Closes #6161
-- RELEASE-NOTES: synced
-
- (forgot to update the list of contributors)
+- RELEASE-NOTES: synced
+
+ (forgot to update the list of contributors)
- RELEASE-NOTES: synced
-- curlver: bumped to 7.74.0
+- curlver: bumped to 7.74.0
-- hsts: add read/write callbacks
+- hsts: add read/write callbacks
- - read/write callback options
- - man pages for the 4 new setopts
- - test 1915 verifies the callbacks
+ - read/write callback options
+ - man pages for the 4 new setopts
+ - test 1915 verifies the callbacks
- Closes #5896
+ Closes #5896
-- hsts: add support for Strict-Transport-Security
+- hsts: add support for Strict-Transport-Security
- - enable in the build (configure)
- - header parsing
- - host name lookup
- - unit tests for the above
- - CI build
- - CURL_VERSION_HSTS bit
- - curl_version_info support
- - curl -V output
- - curl-config --features
- - CURLOPT_HSTS_CTRL
- - man page for CURLOPT_HSTS_CTRL
- - curl --hsts (sets CURLOPT_HSTS_CTRL and works with --libcurl)
- - man page for --hsts
- - save cache to disk
- - load cache from disk
- - CURLOPT_HSTS
- - man page for CURLOPT_HSTS
- - added docs/HSTS.md
- - fixed --version docs
- - adjusted curl_easy_duphandle
+ - enable in the build (configure)
+ - header parsing
+ - host name lookup
+ - unit tests for the above
+ - CI build
+ - CURL_VERSION_HSTS bit
+ - curl_version_info support
+ - curl -V output
+ - curl-config --features
+ - CURLOPT_HSTS_CTRL
+ - man page for CURLOPT_HSTS_CTRL
+ - curl --hsts (sets CURLOPT_HSTS_CTRL and works with --libcurl)
+ - man page for --hsts
+ - save cache to disk
+ - load cache from disk
+ - CURLOPT_HSTS
+ - man page for CURLOPT_HSTS
+ - added docs/HSTS.md
+ - fixed --version docs
+ - adjusted curl_easy_duphandle
- Closes #5896
+ Closes #5896
-- [Sergei Nikulov brought this change]
+- [Sergei Nikulov brought this change]
- CI/tests: enable test target on TravisCI for CMake builds
+ CI/tests: enable test target on TravisCI for CMake builds
- Added test-nonflaky target to CMake builds
+ Added test-nonflaky target to CMake builds
- Disabled test 1139 because the cmake build doesn't create docs/curl.1
+ Disabled test 1139 because the cmake build doesn't create docs/curl.1
- Closes #6074
+ Closes #6074
-- tool_debug_cb: do not assume zero-terminated data
-
- Follow-up to d70a5b5a0f5e3
+- tool_debug_cb: do not assume zero-terminated data
+
+ Follow-up to d70a5b5a0f5e3
-- sendf: move the verbose-check into Curl_debug
+- sendf: move the verbose-check into Curl_debug
- Saves us from having the same check done everywhere.
+ Saves us from having the same check done everywhere.
- Closes #6159
+ Closes #6159
-- travis: use valgrind when running tests for debug builds
-
- Except the non-x86 and sanitizer builds
-
- Closes #6154
+- travis: use valgrind when running tests for debug builds
+
+ Except the non-x86 and sanitizer builds
+
+ Closes #6154
-- header.d: fix syntax mistake
+- header.d: fix syntax mistake
- follow-up from 1144886f38fd0
+ follow-up from 1144886f38fd0
-- [Harry Sintonen brought this change]
+- [Harry Sintonen brought this change]
- gnutls: fix memory leaks (certfields memory wasn't released)
-
- Closes #6153
+ gnutls: fix memory leaks (certfields memory wasn't released)
+
+ Closes #6153
-- tests: add missing global_init/cleanup calls
+- tests: add missing global_init/cleanup calls
- Without the cleanup call in these test files, the mbedTLS backend leaks
- memory.
-
- Closes #6156
+ Without the cleanup call in these test files, the mbedTLS backend leaks
+ memory.
+
+ Closes #6156
-- tool_operate: --retry for HTTP 408 responses too
+- tool_operate: --retry for HTTP 408 responses too
+
+ This was inadvertently dropped from the code when the parallel support
+ was added.
- This was inadvertently dropped from the code when the parallel support
- was added.
+ Regression since b88940850 (7.66.0)
- Regression since b88940850 (7.66.0)
-
- Reviewed-by: Jay Satiro
- Closes #6155
+ Reviewed-by: Jay Satiro
+ Closes #6155
-- http: pass correct header size to debug callback for chunked post
+- http: pass correct header size to debug callback for chunked post
- ... when the chunked framing was added, the size of the "body part" of
- the data was calculated wrongly so the debug callback would get told a
- header chunk a few bytes too big that would also contain the first few
- bytes of the request body.
+ ... when the chunked framing was added, the size of the "body part" of
+ the data was calculated wrongly so the debug callback would get told a
+ header chunk a few bytes too big that would also contain the first few
+ bytes of the request body.
- Reported-by: Dirk Wetter
- Ref: #6144
- Closes #6147
+ Reported-by: Dirk Wetter
+ Ref: #6144
+ Closes #6147
-- header.d: mention the "Transfer-Encoding: chunked" handling
+- header.d: mention the "Transfer-Encoding: chunked" handling
- Ref: #6144
- Closes #6148
+ Ref: #6144
+ Closes #6148
-- acinclude: detect manually set minimum macos/ipod version
-
- ... even if set in the CC or IPHONEOS/MACOSX_DEPLOYMENT_TARGET
- variables.
-
- Reported-by: hamstergene on github
- Fixes #6138
- Closes #6140
+- acinclude: detect manually set minimum macos/ipod version
+
+ ... even if set in the CC or IPHONEOS/MACOSX_DEPLOYMENT_TARGET
+ variables.
+
+ Reported-by: hamstergene on github
+ Fixes #6138
+ Closes #6140
-Jay Satiro (29 Oct 2020)
-- tests: fix some http/2 tests for older versions of nghttpx
+Jay Satiro (29 Oct 2020)
+- tests: fix some http/2 tests for older versions of nghttpx
+
+ - Add regex that strips http/2 server header name to those http/2 tests
+ that don't already have it.
- - Add regex that strips http/2 server header name to those http/2 tests
- that don't already have it.
+ - Improve that regex in all http/2 tests.
- - Improve that regex in all http/2 tests.
+ Tests 358 and 359 were failing for me before this change on a system
+ that uses an older version of nghttpx which includes its version number
+ in the server header.
- Tests 358 and 359 were failing for me before this change on a system
- that uses an older version of nghttpx which includes its version number
- in the server header.
-
- Closes https://github.com/curl/curl/pull/6139
+ Closes https://github.com/curl/curl/pull/6139
-Daniel Stenberg (30 Oct 2020)
+Daniel Stenberg (30 Oct 2020)
- RELEASE-NOTES: synced
-- [Cristian Morales Vega brought this change]
-
- configure: use pkgconfig to find openSSL when cross-compiling
+- [Cristian Morales Vega brought this change]
+
+ configure: use pkgconfig to find openSSL when cross-compiling
- This reverts 736a40fec (November 2004), which doesn't explain why it was
- done.
+ This reverts 736a40fec (November 2004), which doesn't explain why it was
+ done.
- Closes #6145
+ Closes #6145
-- tool_operate: bail out proper on errors for parallel setup
+- tool_operate: bail out proper on errors for parallel setup
+
+ ... otherwise for example trying to upload a missing file just causes a
+ loop.
- ... otherwise for example trying to upload a missing file just causes a
- loop.
-
- Reported-by: BrumBrum on hackerone
- Closes #6141
+ Reported-by: BrumBrum on hackerone
+ Closes #6141
+
+- [Sergei Nikulov brought this change]
-- [Sergei Nikulov brought this change]
-
- CMake: make BUILD_TESTING dependent option
+ CMake: make BUILD_TESTING dependent option
- CMake will now handle BUILD_TESTING depending on PERL_FOUND and
- CURL_DISABLE_TESTING
+ CMake will now handle BUILD_TESTING depending on PERL_FOUND and
+ CURL_DISABLE_TESTING
- Ref: #6036
- Closes #6072
-
-- libssh2: fix transport over HTTPS proxy
+ Ref: #6036
+ Closes #6072
+
+- libssh2: fix transport over HTTPS proxy
- The fix in #6021 was not enough. This fix makes sure SCP/SFTP content
- can also be transfered over a HTTPS proxy.
+ The fix in #6021 was not enough. This fix makes sure SCP/SFTP content
+ can also be transfered over a HTTPS proxy.
- Fixes #6113
- Closes #6128
+ Fixes #6113
+ Closes #6128
-- curl.1: add an "OUTPUT" section at the top of the manpage
+- curl.1: add an "OUTPUT" section at the top of the manpage
- Explain the basic concepts behind curl output.
+ Explain the basic concepts behind curl output.
- Inspired by #6124
+ Inspired by #6124
- Closes #6134
+ Closes #6134
+
+- mailmap: set Viktor Szakats's email
-- mailmap: set Viktor Szakats's email
-
-- runtests: show keywords when no tests ran
+- runtests: show keywords when no tests ran
- To help out future debugging, runtests now outputs the list of keywords
- when it fails because no tests ran.
+ To help out future debugging, runtests now outputs the list of keywords
+ when it fails because no tests ran.
- Ref: #6120
- Closes #6126
+ Ref: #6120
+ Closes #6126
-Jay Satiro (26 Oct 2020)
-- CURLOPT_DNS_USE_GLOBAL_CACHE.3: fix typo
+Jay Satiro (26 Oct 2020)
+- CURLOPT_DNS_USE_GLOBAL_CACHE.3: fix typo
- Reported-by: Rui LIU
+ Reported-by: Rui LIU
- Closes https://github.com/curl/curl/issues/6131
+ Closes https://github.com/curl/curl/issues/6131
-- range.d: fix typo
+- range.d: fix typo
- Follow-up to 15ae039 from earlier today.
+ Follow-up to 15ae039 from earlier today.
-Daniel Stenberg (26 Oct 2020)
-- CI/github: work-around for brew breakage on macOS
+Daniel Stenberg (26 Oct 2020)
+- CI/github: work-around for brew breakage on macOS
- ... and make it use OpenSSL 1.1 properly
+ ... and make it use OpenSSL 1.1 properly
- Fixes #6130
- Closes #6129
+ Fixes #6130
+ Closes #6129
-- [José Joaquín Atria brought this change]
+- [José Joaquín Atria brought this change]
- range.d: clarify that curl will not parse multipart responses
+ range.d: clarify that curl will not parse multipart responses
- Closes #6127
- Fixes #6124
+ Closes #6127
+ Fixes #6124
- RELEASE-NOTES: synced
-- [Baruch Siach brought this change]
+- [Baruch Siach brought this change]
- libssh2: fix build with disabled proxy support
+ libssh2: fix build with disabled proxy support
- Build breaks because the http_proxy field is missing:
+ Build breaks because the http_proxy field is missing:
- vssh/libssh2.c:3119:10: error: 'struct connectdata' has no member named 'http_proxy'
+ vssh/libssh2.c:3119:10: error: 'struct connectdata' has no member named 'http_proxy'
- Regression from #6021, shipped in curl 7.73.0
-
- Closes #6125
+ Regression from #6021, shipped in curl 7.73.0
+
+ Closes #6125
-- alt-svc: enable by default
+- alt-svc: enable by default
- Remove CURLALTSVC_IMMEDIATELY, which was never implemented/supported.
+ Remove CURLALTSVC_IMMEDIATELY, which was never implemented/supported.
- alt-svc support in curl is no longer considered experimental
+ alt-svc support in curl is no longer considered experimental
- Closes #5868
-
-- CI/appveyor: remove (unused) runtests.pl -b option
-
-- [Emil Engler brought this change]
-
- tool_help: make "output" description less confusing
+ Closes #5868
+
+- CI/appveyor: remove (unused) runtests.pl -b option
+
+- [Emil Engler brought this change]
+
+ tool_help: make "output" description less confusing
- Currently the description of "output" is misleading when comparing it
- "verbose".
+ Currently the description of "output" is misleading when comparing it
+ "verbose".
- Closes #6118
-
-- CI/appveyor: disable test 571 in two cmake builds
+ Closes #6118
+
+- CI/appveyor: disable test 571 in two cmake builds
+
+ ... they're simply too flaky there.
- ... they're simply too flaky there.
-
- Closes #6119
+ Closes #6119
-- cmake: set the unicode feature in curl-config on Windows
-
- ... if built that way. To make it match curl -V output.
-
- Reviewed-by: Marcel Raad
- Closes #6117
+- cmake: set the unicode feature in curl-config on Windows
+
+ ... if built that way. To make it match curl -V output.
+
+ Reviewed-by: Marcel Raad
+ Closes #6117
-- libssh2: require version 1.0 or later
+- libssh2: require version 1.0 or later
- ... and simplify the code accordingly. libssh2 version 1.0 was released
- in April 2009.
+ ... and simplify the code accordingly. libssh2 version 1.0 was released
+ in April 2009.
- Closes #6116
-
-- KNOWN_BUGS: mention the individual cmake issues
+ Closes #6116
+
+- KNOWN_BUGS: mention the individual cmake issues
- ... to make them easier to refer to and address separately and
- one-by-one.
+ ... to make them easier to refer to and address separately and
+ one-by-one.
-- CMake: store IDN2 information in curl_config.h
+- CMake: store IDN2 information in curl_config.h
- This allows the build to enable IDN properly and it makes test 1014
- happier.
+ This allows the build to enable IDN properly and it makes test 1014
+ happier.
- Ref: #6074
- Closes #6108
+ Ref: #6074
+ Closes #6108
-- CMake: call the feature unixsockets without dash
+- CMake: call the feature unixsockets without dash
- ... so that curl-config gets correct and makes test 1014 happy!
+ ... so that curl-config gets correct and makes test 1014 happy!
- Ref: #6074
- Closes #6108
-
-- CI/travis: add brotli and zstd to the libssh2 build
+ Ref: #6074
+ Closes #6108
+
+- CI/travis: add brotli and zstd to the libssh2 build
- ... to make sure such tests are run with valgrind. Suppress the zstd
- valgrind warnings we get with version 1.3.3 on Ubuntu 18.04 (for debug
- and non-debug builds).
+ ... to make sure such tests are run with valgrind. Suppress the zstd
+ valgrind warnings we get with version 1.3.3 on Ubuntu 18.04 (for debug
+ and non-debug builds).
- Closes #6105
+ Closes #6105
-- runtests: revert the mistaken edit of $CURL
-
- Regression from c4693adc62
+- runtests: revert the mistaken edit of $CURL
+
+ Regression from c4693adc62
-- RELEASE-NOTES: synced
+- RELEASE-NOTES: synced
-- curl_url_set.3: fix typo in the RETURN VALUE section
+- curl_url_set.3: fix typo in the RETURN VALUE section
- Reported-by: Basuke Suzuki
- Fixes #6102
+ Reported-by: Basuke Suzuki
+ Fixes #6102
+
+Jay Satiro (17 Oct 2020)
+- [Daniel Stenberg brought this change]
-Jay Satiro (17 Oct 2020)
-- [Daniel Stenberg brought this change]
-
- packages/OS400: make the source code-style compliant
+ packages/OS400: make the source code-style compliant
- ... and make sure 'make checksrc' in the root dir also verifies the
- packages/OS400 sources.
+ ... and make sure 'make checksrc' in the root dir also verifies the
+ packages/OS400 sources.
- Closes https://github.com/curl/curl/pull/6085
-
-- os400: Sync libcurl API options
+ Closes https://github.com/curl/curl/pull/6085
+
+- os400: Sync libcurl API options
- This fixes the OS400 build and also an incorrect entry for
- CURLINFO_APPCONNECT_TIME_T where it was treated as
- CURLINFO_STARTTRANSFER_TIME_T.
+ This fixes the OS400 build and also an incorrect entry for
+ CURLINFO_APPCONNECT_TIME_T where it was treated as
+ CURLINFO_STARTTRANSFER_TIME_T.
- Reported-by: Jon Rumsey
+ Reported-by: Jon Rumsey
- Fixes https://github.com/curl/curl/issues/6083
- Closes https://github.com/curl/curl/pull/6084
+ Fixes https://github.com/curl/curl/issues/6083
+ Closes https://github.com/curl/curl/pull/6084
-Daniel Stenberg (16 Oct 2020)
-- CURLOPT_NOBODY.3: fix typo
+Daniel Stenberg (16 Oct 2020)
+- CURLOPT_NOBODY.3: fix typo
- Reported-by: Basuke Suzuki
- Fixes #6097
+ Reported-by: Basuke Suzuki
+ Fixes #6097
-Marc Hoersken (16 Oct 2020)
-- CI/azure: improve on flakiness by avoiding libtool wrappers
+Marc Hoersken (16 Oct 2020)
+- CI/azure: improve on flakiness by avoiding libtool wrappers
- Install curl binaries into MinGW bin folder and use that
- for the tests in order to avoid libtool wrapper binaries.
+ Install curl binaries into MinGW bin folder and use that
+ for the tests in order to avoid libtool wrapper binaries.
- The libtool wrapper binaries (not scripts) on Windows seem
- to be one of the possible causes for the following issues:
+ The libtool wrapper binaries (not scripts) on Windows seem
+ to be one of the possible causes for the following issues:
- 1. Process output can be lost in the wrapper process chain.
- 2. Killing the wrapper process does not kill the actual one.
+ 1. Process output can be lost in the wrapper process chain.
+ 2. Killing the wrapper process does not kill the actual one.
- Derived from #5904
- Closes #6049
+ Derived from #5904
+ Closes #6049
-Daniel Stenberg (16 Oct 2020)
-- CURLOPT_URL.3: clarify SCP/SFTP URLs are for uploads as well
+Daniel Stenberg (16 Oct 2020)
+- CURLOPT_URL.3: clarify SCP/SFTP URLs are for uploads as well
-- [Zenju brought this change]
+- [Zenju brought this change]
- CURLOPT_TCP_NODELAY.3: fix comment in example code
+ CURLOPT_TCP_NODELAY.3: fix comment in example code
- Closes #6096
+ Closes #6096
-- openssl: acknowledge SRP disabling in configure properly
+- openssl: acknowledge SRP disabling in configure properly
+
+ Follow-up to 68a513247409
+
+ Use a new separate define that is the combination of both
+ HAVE_OPENSSL_SRP and USE_TLS_SRP: USE_OPENSSL_SRP
- Follow-up to 68a513247409
+ Bug: https://curl.haxx.se/mail/lib-2020-10/0037.html
- Use a new separate define that is the combination of both
- HAVE_OPENSSL_SRP and USE_TLS_SRP: USE_OPENSSL_SRP
-
- Bug: https://curl.haxx.se/mail/lib-2020-10/0037.html
-
- Closes #6094
+ Closes #6094
-Viktor Szakats (16 Oct 2020)
-- http3: fix two build errors, silence warnings
+Viktor Szakats (16 Oct 2020)
+- http3: fix two build errors, silence warnings
- * fix two build errors due to mismatch between function
- declarations and their definitions
- * silence two mismatched signs warnings via casts
+ * fix two build errors due to mismatch between function
+ declarations and their definitions
+ * silence two mismatched signs warnings via casts
- Approved-by: Daniel Stenberg
- Closes #6093
+ Approved-by: Daniel Stenberg
+ Closes #6093
-- Makefile.m32: add support for HTTP/3 via ngtcp2+nghttp3
-
- Approved-by: Daniel Stenberg
- Closes #6092
+- Makefile.m32: add support for HTTP/3 via ngtcp2+nghttp3
+
+ Approved-by: Daniel Stenberg
+ Closes #6092
-Daniel Stenberg (16 Oct 2020)
-- tool_operate: fix compiler warning when --libcurl is disabled
-
- Closes #6095
+Daniel Stenberg (16 Oct 2020)
+- tool_operate: fix compiler warning when --libcurl is disabled
+
+ Closes #6095
-- checksrc: warn on empty line before open brace
+- checksrc: warn on empty line before open brace
- ... and fix a few occurances
-
- Closes #6088
+ ... and fix a few occurances
+
+ Closes #6088
-- urlapi: URL encode a '+' in the query part
+- urlapi: URL encode a '+' in the query part
- ... when asked to with CURLU_URLENCODE.
+ ... when asked to with CURLU_URLENCODE.
- Extended test 1560 to verify.
- Reported-by: Dietmar Hauser
- Fixes #6086
- Closes #6087
+ Extended test 1560 to verify.
+ Reported-by: Dietmar Hauser
+ Fixes #6086
+ Closes #6087
-- [Cristian Morales Vega brought this change]
+- [Cristian Morales Vega brought this change]
- libcurl.pc: make it relocatable
+ libcurl.pc: make it relocatable
- It supposes when people specify the libdir/includedir they do it to
- change where under prefix/exec_prefix it should be, not to make it
- independent of prefix/exec_prefix.
+ It supposes when people specify the libdir/includedir they do it to
+ change where under prefix/exec_prefix it should be, not to make it
+ independent of prefix/exec_prefix.
- Closes #6061
+ Closes #6061
-- runtests: return error if no tests ran
-
- ... and make TESTFAIL stand out a little better by adding newlines
- before and after.
-
- Reported-by: Marc Hörsken
- Issue: #6052
- Closes #6053
+- runtests: return error if no tests ran
+
+ ... and make TESTFAIL stand out a little better by adding newlines
+ before and after.
+
+ Reported-by: Marc Hörsken
+ Issue: #6052
+ Closes #6053
-- docs/FEATURE: convert to markdown
+- docs/FEATURE: convert to markdown
- ... and clean it up a bit.
+ ... and clean it up a bit.
- Closes #6067
+ Closes #6067
+
+- [Philipp Klaus Krause brought this change]
-- [Philipp Klaus Krause brought this change]
-
- strerror: use 'const' as the string should never be modified
+ strerror: use 'const' as the string should never be modified
- Closes #6068
+ Closes #6068
-- [Jay Satiro brought this change]
+- [Jay Satiro brought this change]
- connect: repair build without ipv6 availability
+ connect: repair build without ipv6 availability
- Assisted-by: Daniel Stenberg
- Reported-by: Tom G. Christensen
+ Assisted-by: Daniel Stenberg
+ Reported-by: Tom G. Christensen
- Fixes https://github.com/curl/curl/issues/6069
- Closes https://github.com/curl/curl/pull/6071
+ Fixes https://github.com/curl/curl/issues/6069
+ Closes https://github.com/curl/curl/pull/6071
-- RELEASE-NOTES: synced
-
- Started over for the journey to next release.
+- RELEASE-NOTES: synced
+
+ Started over for the journey to next release.
-- src/tool_filetime: disable -Wformat on mingw for this file
+- src/tool_filetime: disable -Wformat on mingw for this file
+
+ With gcc 10 on mingw we otherwise get this warning:
- With gcc 10 on mingw we otherwise get this warning:
+ error: ISO C does not support the 'I' printf flag [-Werror=format=]
- error: ISO C does not support the 'I' printf flag [-Werror=format=]
-
- Fixes #6079
- Closes #6082
+ Fixes #6079
+ Closes #6082
-- test122[12]: remove these two tests
+- test122[12]: remove these two tests
- ... and remove the objnames scripts they tested. They're not used for
- anything anymore so testing them serves no purpose!
-
- Reported-by: Marc Hörsken
- Fixes #6080
- Closes #6081
+ ... and remove the objnames scripts they tested. They're not used for
+ anything anymore so testing them serves no purpose!
+
+ Reported-by: Marc Hörsken
+ Fixes #6080
+ Closes #6081
-Version 7.73.0 (14 Oct 2020)
+Version 7.73.0 (14 Oct 2020)
-Daniel Stenberg (14 Oct 2020)
-- RELEASE-NOTES: synced
+Daniel Stenberg (14 Oct 2020)
+- RELEASE-NOTES: synced
- for 7.73.0
+ for 7.73.0
-- THANKS: from 7.73.0 and .mailmap fixes
+- THANKS: from 7.73.0 and .mailmap fixes
-- mailmap: fixups of some contributors
+- mailmap: fixups of some contributors
-- projects/build-wolfssl.bat: fix the copyright year range
+- projects/build-wolfssl.bat: fix the copyright year range
-Marc Hoersken (14 Oct 2020)
-- [Sergei Nikulov brought this change]
+Marc Hoersken (14 Oct 2020)
+- [Sergei Nikulov brought this change]
- CI/tests: fix invocation of tests for CMake builds
+ CI/tests: fix invocation of tests for CMake builds
- Update appveyor.yml to set env variable TFLAGS and run tests
- Remove curly braces due to CMake error (${TFLAGS} -> $TFLAGS)
- Move testdeps build to build step (per review comments)
+ Update appveyor.yml to set env variable TFLAGS and run tests
+ Remove curly braces due to CMake error (${TFLAGS} -> $TFLAGS)
+ Move testdeps build to build step (per review comments)
- Reviewed-by: Marc Hörsken
+ Reviewed-by: Marc Hörsken
- Closes #6066
- Fixes #6052
+ Closes #6066
+ Fixes #6052
-- tests/server/util.c: fix support for Windows Unicode builds
+- tests/server/util.c: fix support for Windows Unicode builds
- Detected via #6066
- Closes #6070
+ Detected via #6066
+ Closes #6070
-Daniel Stenberg (13 Oct 2020)
-- [Jay Satiro brought this change]
+Daniel Stenberg (13 Oct 2020)
+- [Jay Satiro brought this change]
- strerror: Revert to local codepage for Windows error string
+ strerror: Revert to local codepage for Windows error string
- - Change get_winapi_error() to return the error string in the local
- codepage instead of UTF-8 encoding.
+ - Change get_winapi_error() to return the error string in the local
+ codepage instead of UTF-8 encoding.
- Two weeks ago bed5f84 fixed get_winapi_error() to work on xbox, but it
- also changed the error string's encoding from local codepage to UTF-8.
+ Two weeks ago bed5f84 fixed get_winapi_error() to work on xbox, but it
+ also changed the error string's encoding from local codepage to UTF-8.
- We return the local codepage version of the error string because if it
- is output to the user's terminal it will likely be with functions which
- expect the local codepage (eg fprintf, failf, infof).
+ We return the local codepage version of the error string because if it
+ is output to the user's terminal it will likely be with functions which
+ expect the local codepage (eg fprintf, failf, infof).
- This is essentially a partial revert of bed5f84. The support for xbox
- remains but the error string is reverted back to local codepage.
+ This is essentially a partial revert of bed5f84. The support for xbox
+ remains but the error string is reverted back to local codepage.
- Ref: https://github.com/curl/curl/pull/6005
-
- Reviewed-by: Marcel Raad
- Closes #6065
+ Ref: https://github.com/curl/curl/pull/6005
+
+ Reviewed-by: Marcel Raad
+ Closes #6065
-Marc Hoersken (13 Oct 2020)
-- CI/tests: use verification curl for test reporting APIs
+Marc Hoersken (13 Oct 2020)
+- CI/tests: use verification curl for test reporting APIs
- Avoid using our own, potentially installed, curl for
- the test reporting APIs in case it is broken.
+ Avoid using our own, potentially installed, curl for
+ the test reporting APIs in case it is broken.
- Reviewed-by: Daniel Stenberg
+ Reviewed-by: Daniel Stenberg
- Preparation for #6049
- Closes #6063
+ Preparation for #6049
+ Closes #6063
-Viktor Szakats (12 Oct 2020)
-- windows: fix comparison of mismatched types warning
+Viktor Szakats (12 Oct 2020)
+- windows: fix comparison of mismatched types warning
- clang 10, mingw-w64:
- ```
- vtls/openssl.c:2917:33: warning: comparison of integers of different signs: 'DWORD' (aka 'unsigned long') and 'HRESULT' (aka 'long')
- [-Wsign-compare]
- if(GetLastError() != CRYPT_E_NOT_FOUND)
- ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~
- ```
+ clang 10, mingw-w64:
+ ```
+ vtls/openssl.c:2917:33: warning: comparison of integers of different signs: 'DWORD' (aka 'unsigned long') and 'HRESULT' (aka 'long')
+ [-Wsign-compare]
+ if(GetLastError() != CRYPT_E_NOT_FOUND)
+ ~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~
+ ```
- Approved-by: Daniel Stenberg
- Closes #6062
+ Approved-by: Daniel Stenberg
+ Closes #6062
-Daniel Stenberg (11 Oct 2020)
-- [Viktor Szakats brought this change]
+Daniel Stenberg (11 Oct 2020)
+- [Viktor Szakats brought this change]
- src/Makefile.m32: fix undefined curlx_dyn_* errors
+ src/Makefile.m32: fix undefined curlx_dyn_* errors
- by linking `lib/dynbuf.c` when building a static curl binary.
- Previously this source file was only included when building
- a dynamic curl binary. This was likely possibly because no
- functions from the `src/Makefile.inc` / `CURLX_CFILES` sources
- were actually required for a curl tool build. This has
- recently changed with the introduction of `curlx_dyn_*()`
- memory functions and their use by the tool sources.
+ by linking `lib/dynbuf.c` when building a static curl binary.
+ Previously this source file was only included when building
+ a dynamic curl binary. This was likely possibly because no
+ functions from the `src/Makefile.inc` / `CURLX_CFILES` sources
+ were actually required for a curl tool build. This has
+ recently changed with the introduction of `curlx_dyn_*()`
+ memory functions and their use by the tool sources.
- Closes #6060
+ Closes #6060
-- HISTORY: curl verifies SSL certs by default since version 7.10
+- HISTORY: curl verifies SSL certs by default since version 7.10
-Marc Hoersken (8 Oct 2020)
-- runtests.pl: use $LIBDIR variable instead of hardcoded path
+Marc Hoersken (8 Oct 2020)
+- runtests.pl: use $LIBDIR variable instead of hardcoded path
- Reviewed-by: Daniel Stenberg
- Closes #6051
-
-Daniel Stenberg (7 Oct 2020)
-- checksrc: detect // comments on column 0
+ Reviewed-by: Daniel Stenberg
+ Closes #6051
+
+Daniel Stenberg (7 Oct 2020)
+- checksrc: detect // comments on column 0
- Spotted while working on #6045
+ Spotted while working on #6045
- Closes #6048
+ Closes #6048
+
+- [Frederik Wedel-Heinen brought this change]
-- [Frederik Wedel-Heinen brought this change]
-
- mbedtls: add missing header when defining MBEDTLS_DEBUG
+ mbedtls: add missing header when defining MBEDTLS_DEBUG
- Closes #6045
-
-- curl: make sure setopt CURLOPT_IPRESOLVE passes on a long
+ Closes #6045
+
+- curl: make sure setopt CURLOPT_IPRESOLVE passes on a long
- Previously, it would pass on a define (int) which could make libcurl
- read junk as a value - which prevented the CURLOPT_IPRESOLVE option to
- "take". This could then make test 2100 do two DoH requests instead of
- one!
+ Previously, it would pass on a define (int) which could make libcurl
+ read junk as a value - which prevented the CURLOPT_IPRESOLVE option to
+ "take". This could then make test 2100 do two DoH requests instead of
+ one!
- Fixes #6042
- Closes #6043
-
-- RELEASE-NOTES: synced
-
-- scripts/release-notes.pl: don't "embed" $ in format string for printf()
+ Fixes #6042
+ Closes #6043
+
+- RELEASE-NOTES: synced
+
+- scripts/release-notes.pl: don't "embed" $ in format string for printf()
- ... since they might contain %-codes that mess up the output!
+ ... since they might contain %-codes that mess up the output!
-Jay Satiro (5 Oct 2020)
-- [M.R.T brought this change]
+Jay Satiro (5 Oct 2020)
+- [M.R.T brought this change]
- build-wolfssl: fix build with Visual Studio 2019
+ build-wolfssl: fix build with Visual Studio 2019
- Closes https://github.com/curl/curl/pull/6033
-
-Daniel Stenberg (4 Oct 2020)
-- runtests: add %repeat[]% for test files
+ Closes https://github.com/curl/curl/pull/6033
+
+Daniel Stenberg (4 Oct 2020)
+- runtests: add %repeat[]% for test files
- ... and use this new keywords in all the test files larger than 50K to reduce
- their sizes and make them a lot easier to read and understand.
+ ... and use this new keywords in all the test files larger than 50K to reduce
+ their sizes and make them a lot easier to read and understand.
- Closes #6040
+ Closes #6040
-- [Emil Engler brought this change]
+- [Emil Engler brought this change]
- --help: move two options from the misc category
+ --help: move two options from the misc category
- The cmdline opts delegation and suppress-connect-headers
- fit better into auth and proxy rather than misc.
+ The cmdline opts delegation and suppress-connect-headers
+ fit better into auth and proxy rather than misc.
- Follow-up to aa8777f63febc
- Closes #6038
+ Follow-up to aa8777f63febc
+ Closes #6038
-- [Samanta Navarro brought this change]
+- [Samanta Navarro brought this change]
- docs/opts: fix typos in two manual pages
+ docs/opts: fix typos in two manual pages
- Closes #6039
-
-- ldap: reduce the amount of #ifdefs needed
+ Closes #6039
+
+- ldap: reduce the amount of #ifdefs needed
- Closes #6035
+ Closes #6035
-- runtests: provide curl's version string as %VERSION for tests
+- runtests: provide curl's version string as %VERSION for tests
- ... so that we can check HTTP requests for User-Agent: curl/%VERSION
+ ... so that we can check HTTP requests for User-Agent: curl/%VERSION
- Update 600+ test cases accordingly.
+ Update 600+ test cases accordingly.
- Closes #6037
+ Closes #6037
-- checksrc: warn on space after exclamation mark
+- checksrc: warn on space after exclamation mark
- Closes #6034
-
-- test1465: verify --libcurl with binary POST data
-
-- runtests: allow generating a binary sequence from hex
-
-- tool_setopt: escape binary data to hex, not octal
-
-- curl: make --libcurl show binary posts correctly
+ Closes #6034
+
+- test1465: verify --libcurl with binary POST data
+
+- runtests: allow generating a binary sequence from hex
+
+- tool_setopt: escape binary data to hex, not octal
+
+- curl: make --libcurl show binary posts correctly
- Reported-by: Stephan Mühlstrasser
- Fixes #6031
- Closes #6032
+ Reported-by: Stephan Mühlstrasser
+ Fixes #6031
+ Closes #6032
-Jay Satiro (1 Oct 2020)
-- strerror: fix null deref on winapi out-of-memory
+Jay Satiro (1 Oct 2020)
+- strerror: fix null deref on winapi out-of-memory
- Follow-up to bed5f84 from several days ago.
+ Follow-up to bed5f84 from several days ago.
- Ref: https://github.com/curl/curl/pull/6005
+ Ref: https://github.com/curl/curl/pull/6005
+
+Daniel Stenberg (1 Oct 2020)
+- [Kamil Dudka brought this change]
-Daniel Stenberg (1 Oct 2020)
-- [Kamil Dudka brought this change]
-
- vtls: deduplicate some DISABLE_PROXY ifdefs
+ vtls: deduplicate some DISABLE_PROXY ifdefs
- ... in the code of gtls, nss, and openssl
+ ... in the code of gtls, nss, and openssl
- Closes #5735
+ Closes #5735
-- RELEASE-NOTES: synced
+- RELEASE-NOTES: synced
-- [Emil Engler brought this change]
+- [Emil Engler brought this change]
- TODO: Add OpenBSD libtool notice
+ TODO: Add OpenBSD libtool notice
- See #5862
- Closes #6030
+ See #5862
+ Closes #6030
-- tests/unit/README: convert to markdown
+- tests/unit/README: convert to markdown
- ... and add to dist!
+ ... and add to dist!
- Closes #6028
+ Closes #6028
-- tests/README: convert to markdown
+- tests/README: convert to markdown
- Closes #6028
-
-- include/README: convert to markdown
+ Closes #6028
+
+- include/README: convert to markdown
- Closes #6028
+ Closes #6028
-- examples/README: convert to markdown
-
- Closes #6028
+- examples/README: convert to markdown
+
+ Closes #6028
-- configure: don't say HTTPS-proxy is enabled when disabled!
+- configure: don't say HTTPS-proxy is enabled when disabled!
- Reported-by: Kamil Dudka
- Reviewed-by: Kamil Dudka
- Bug: https://github.com/curl/curl/pull/5735#issuecomment-701376388
- Closes #6029
-
-Daniel Gustafsson (30 Sep 2020)
-- src: Consistently spell whitespace without whitespace
+ Reported-by: Kamil Dudka
+ Reviewed-by: Kamil Dudka
+ Bug: https://github.com/curl/curl/pull/5735#issuecomment-701376388
+ Closes #6029
+
+Daniel Gustafsson (30 Sep 2020)
+- src: Consistently spell whitespace without whitespace
- Whitespace is spelled without a space between white and space, so
- make sure to consistently spell it that way across the codebase.
+ Whitespace is spelled without a space between white and space, so
+ make sure to consistently spell it that way across the codebase.
- Closes #6023
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
- Reviewed-by: Emil Engler <me@emilengler.com>
+ Closes #6023
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+ Reviewed-by: Emil Engler <me@emilengler.com>
-- MANUAL: update examples to resolve without redirects
-
- www.netscape.com is redirecting to a cookie consent form on Aol, and
- cool.haxx.se isn't responding to FTP anymore. Replace with examples
- that resolves in case users try out the commands when reading the
- manual.
-
- Closes #6024
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
- Reviewed-by: Emil Engler <me@emilengler.com>
+- MANUAL: update examples to resolve without redirects
+
+ www.netscape.com is redirecting to a cookie consent form on Aol, and
+ cool.haxx.se isn't responding to FTP anymore. Replace with examples
+ that resolves in case users try out the commands when reading the
+ manual.
+
+ Closes #6024
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+ Reviewed-by: Emil Engler <me@emilengler.com>
-Daniel Stenberg (30 Sep 2020)
-- HISTORY: add some 2020 events
+Daniel Stenberg (30 Sep 2020)
+- HISTORY: add some 2020 events
-- sectransp: make it build with --disable-proxy
-
- Follow-up from #5466 and f3d501dc678d80
- Reported-by: Javier Navarro
- Fixes #6025
- Closes #6026
+- sectransp: make it build with --disable-proxy
+
+ Follow-up from #5466 and f3d501dc678d80
+ Reported-by: Javier Navarro
+ Fixes #6025
+ Closes #6026
-- ECH: renamed from ESNI in docs and configure
+- ECH: renamed from ESNI in docs and configure
- Encrypted Client Hello (ECH) is the current name.
+ Encrypted Client Hello (ECH) is the current name.
- Closes #6022
+ Closes #6022
-- configure: use "no" instead of "disabled" for the end summary
-
- ... for consistency but also to make them more distinctly stand out next
- to the "enabled" lines.
+- configure: use "no" instead of "disabled" for the end summary
+
+ ... for consistency but also to make them more distinctly stand out next
+ to the "enabled" lines.
-- TODO: SSH over HTTPS proxy with more backends
-
- ... as right now only the libssh2 backend supports it.
+- TODO: SSH over HTTPS proxy with more backends
+
+ ... as right now only the libssh2 backend supports it.
-- libssh2: handle the SSH protocols done over HTTPS proxy
-
- Reported-by: Robin Douine
- Fixes #4295
- Closes #6021
+- libssh2: handle the SSH protocols done over HTTPS proxy
+
+ Reported-by: Robin Douine
+ Fixes #4295
+ Closes #6021
-- [Emil Engler brought this change]
+- [Emil Engler brought this change]
- memdebug: remove 9 year old unused debug function
+ memdebug: remove 9 year old unused debug function
- There used to be a way to have memdebug fill allocated memory. 9 years
- later this has no value there (valgrind and ASAN etc are way better). If
- people need to know about it they can have a look at VCS logs.
+ There used to be a way to have memdebug fill allocated memory. 9 years
+ later this has no value there (valgrind and ASAN etc are way better). If
+ people need to know about it they can have a look at VCS logs.
- Closes #5973
+ Closes #5973
-- sendf: move Curl_sendf to dict.c and make it static
+- sendf: move Curl_sendf to dict.c and make it static
- ... as the only remaining user of that function. Also fix gopher.c to
- instead use Curl_write()
+ ... as the only remaining user of that function. Also fix gopher.c to
+ instead use Curl_write()
- Closes #6020
+ Closes #6020
-- ROADMAP: updates and cleanups
+- ROADMAP: updates and cleanups
+
+ Fix the HSTS PR
- Fix the HSTS PR
-
- Remove DoT, thread-safe init and hard-coded localhost. I feel very
- little interest for these with users so I downgrade them to plain "TODO"
- entries again.
+ Remove DoT, thread-safe init and hard-coded localhost. I feel very
+ little interest for these with users so I downgrade them to plain "TODO"
+ entries again.
-- schannel: return CURLE_PEER_FAILED_VERIFICATION for untrusted root
+- schannel: return CURLE_PEER_FAILED_VERIFICATION for untrusted root
- This matches what is returned in other TLS backends in the same
- situation.
+ This matches what is returned in other TLS backends in the same
+ situation.
- Reviewed-by: Jay Satiro
- Reviewed-by: Emil Engler
- Follow-up to 5a3efb1
- Reported-by: iammrtau on github
- Fixes #6003
- Closes #6018
+ Reviewed-by: Jay Satiro
+ Reviewed-by: Emil Engler
+ Follow-up to 5a3efb1
+ Reported-by: iammrtau on github
+ Fixes #6003
+ Closes #6018
-- RELEASE-NOTES: synced
+- RELEASE-NOTES: synced
-- ftp: make a 552 response return CURLE_REMOTE_DISK_FULL
+- ftp: make a 552 response return CURLE_REMOTE_DISK_FULL
- Added test 348 to verify. Added a 'STOR' command to the test FTP
- server to enable test 348. Documented the command in FILEFORMAT.md
+ Added test 348 to verify. Added a 'STOR' command to the test FTP
+ server to enable test 348. Documented the command in FILEFORMAT.md
- Reported-by: Duncan Wilcox
- Fixes #6016
- Closes #6017
+ Reported-by: Duncan Wilcox
+ Fixes #6016
+ Closes #6017
-- pause: only trigger a reread if the unpause sticks
+- pause: only trigger a reread if the unpause sticks
+
+ As an unpause might itself get paused again and then triggering another
+ reread doesn't help.
- As an unpause might itself get paused again and then triggering another
- reread doesn't help.
+ Follow-up from e040146f22608fd9 (shipped since 7.69.1)
- Follow-up from e040146f22608fd9 (shipped since 7.69.1)
-
- Bug: https://curl.haxx.se/mail/lib-2020-09/0081.html
- Patch-by: Kunal Chandarana
- Fixes #5988
- Closes #6013
+ Bug: https://curl.haxx.se/mail/lib-2020-09/0081.html
+ Patch-by: Kunal Chandarana
+ Fixes #5988
+ Closes #6013
-- test163[12]: require http to be built-in to run
+- test163[12]: require http to be built-in to run
- ... as speaking over an HTTPS proxy implies http!
+ ... as speaking over an HTTPS proxy implies http!
- Closes #6014
-
-- ngtcp2: adapt to new NGTCP2_PROTO_VER_MAX define
+ Closes #6014
+
+- ngtcp2: adapt to new NGTCP2_PROTO_VER_MAX define
- Closes #6012
-
-- [Javier Blazquez brought this change]
-
- strerror: honor Unicode API choice on Windows
+ Closes #6012
+
+- [Javier Blazquez brought this change]
+
+ strerror: honor Unicode API choice on Windows
- Closes #6005
+ Closes #6005
-- imap: make imap_send use dynbuf for the send buffer management
+- imap: make imap_send use dynbuf for the send buffer management
- Reuses the buffer and thereby reduces number of mallocs over a transfer.
+ Reuses the buffer and thereby reduces number of mallocs over a transfer.
- Closes #6010
+ Closes #6010
-- Curl_send: return error when pre_receive_plain can't malloc
+- Curl_send: return error when pre_receive_plain can't malloc
- ... will probably trigger some false DEAD CODE positives on non-windows
- code analyzers for the conditional code.
+ ... will probably trigger some false DEAD CODE positives on non-windows
+ code analyzers for the conditional code.
- Closes #6011
+ Closes #6011
-- ftp: separate FTPS from FTP over "HTTPS proxy"
+- ftp: separate FTPS from FTP over "HTTPS proxy"
+
+ When using HTTPS proxy, SSL is used but not in the view of the FTP
+ protocol handler itself so separate the connection's use of SSL from the
+ FTP control connection's sue.
- When using HTTPS proxy, SSL is used but not in the view of the FTP
- protocol handler itself so separate the connection's use of SSL from the
- FTP control connection's sue.
-
- Reported-by: Mingtao Yang
- Fixes #5523
- Closes #6006
+ Reported-by: Mingtao Yang
+ Fixes #5523
+ Closes #6006
-Dan Fandrich (23 Sep 2020)
-- tests/data: Fix some mismatched XML tags in test cases
+Dan Fandrich (23 Sep 2020)
+- tests/data: Fix some mismatched XML tags in test cases
- This allows these test files to pass xmllint.
+ This allows these test files to pass xmllint.
-Daniel Stenberg (23 Sep 2020)
-- pingpong: use a dynbuf for the *_pp_sendf() function
+Daniel Stenberg (23 Sep 2020)
+- pingpong: use a dynbuf for the *_pp_sendf() function
- ... reuses the same dynamic buffer instead of doing repeated malloc/free
- cycles.
+ ... reuses the same dynamic buffer instead of doing repeated malloc/free
+ cycles.
- Test case 100 (FTP dir list PASV) does 7 fewer memory allocation calls
- after this change in my test setup (132 => 125), curl 7.72.0 needed 140
- calls for this.
+ Test case 100 (FTP dir list PASV) does 7 fewer memory allocation calls
+ after this change in my test setup (132 => 125), curl 7.72.0 needed 140
+ calls for this.
- Test case 103 makes 9 less allocations now (130). Down from 149 in
- 7.72.0.
+ Test case 103 makes 9 less allocations now (130). Down from 149 in
+ 7.72.0.
- Closes #6004
+ Closes #6004
-- dynbuf: add Curl_dyn_vaddf
+- dynbuf: add Curl_dyn_vaddf
- Closes #6004
+ Closes #6004
-- dynbuf: make *addf() not require extra mallocs
+- dynbuf: make *addf() not require extra mallocs
- ... by introducing a printf() function that appends directly into a
- dynbuf: Curl_dyn_vprintf(). This avoids the mandatory extra malloc so if
- the buffer is already big enough it can just printf directly into it.
+ ... by introducing a printf() function that appends directly into a
+ dynbuf: Curl_dyn_vprintf(). This avoids the mandatory extra malloc so if
+ the buffer is already big enough it can just printf directly into it.
- Since this less-malloc version requires tthe use of a library internal
- printf function, we only provide this version when building libcurl and
- not for the dynbuf code that is used when building the curl tool.
+ Since this less-malloc version requires tthe use of a library internal
+ printf function, we only provide this version when building libcurl and
+ not for the dynbuf code that is used when building the curl tool.
- Closes #5998
+ Closes #5998
-- KNOWN_BUGS: Unable to use PKCS12 certificate with Secure Transport
-
- Closes #5403
+- KNOWN_BUGS: Unable to use PKCS12 certificate with Secure Transport
+
+ Closes #5403
-- pingpong: remove a malloc per Curl_pp_vsendf call
+- pingpong: remove a malloc per Curl_pp_vsendf call
- This typically makes 7-9 fewer mallocs per FTP transfer.
+ This typically makes 7-9 fewer mallocs per FTP transfer.
- Closes #5997
-
-- symbian: drop support
+ Closes #5997
+
+- symbian: drop support
- The OS is deprecated. I see no traces of anyone having actually built
- curl for Symbian after 2012.
+ The OS is deprecated. I see no traces of anyone having actually built
+ curl for Symbian after 2012.
- The public headers are unmodified.
+ The public headers are unmodified.
- Closes #5989
+ Closes #5989
-- RELEASE-NOTES: synced
+- RELEASE-NOTES: synced
-- curl_krb5.h: rename from krb5.h
+- curl_krb5.h: rename from krb5.h
- Follow-up from f4873ebd0be32cf
-
- Turns out some older openssl installations go bananas otherwise.
- Reported-by: Tom van der Woerdt
- Fixes #5995
- Closes #5996
+ Follow-up from f4873ebd0be32cf
+
+ Turns out some older openssl installations go bananas otherwise.
+ Reported-by: Tom van der Woerdt
+ Fixes #5995
+ Closes #5996
-- test1297: verify GOT_NOTHING with http proxy tunnel
+- test1297: verify GOT_NOTHING with http proxy tunnel
-- http_proxy: do not count proxy headers in the header bytecount
+- http_proxy: do not count proxy headers in the header bytecount
- ... as that counter is subsequently used to detect if nothing was
- returned from the peer. This made curl return CURLE_OK when it should
- have returned CURLE_GOT_NOTHING.
+ ... as that counter is subsequently used to detect if nothing was
+ returned from the peer. This made curl return CURLE_OK when it should
+ have returned CURLE_GOT_NOTHING.
- Fixes #5992
- Reported-by: Tom van der Woerdt
- Closes #5994
+ Fixes #5992
+ Reported-by: Tom van der Woerdt
+ Closes #5994
-- setopt: return CURLE_BAD_FUNCTION_ARGUMENT on bad argument
-
- Fixed two return code mixups. CURLE_UNKNOWN_OPTION is saved for when the
- option is, yeah, not known. Clarified this in the setopt man page too.
-
- Closes #5993
+- setopt: return CURLE_BAD_FUNCTION_ARGUMENT on bad argument
+
+ Fixed two return code mixups. CURLE_UNKNOWN_OPTION is saved for when the
+ option is, yeah, not known. Clarified this in the setopt man page too.
+
+ Closes #5993
-- krb5: merged security.c and krb specific FTP functions in here
+- krb5: merged security.c and krb specific FTP functions in here
- These two files were always tightly connected and it was hard to
- understand what went into which. This also allows us to make the
- ftpsend() function static (moved from ftp.c).
+ These two files were always tightly connected and it was hard to
+ understand what went into which. This also allows us to make the
+ ftpsend() function static (moved from ftp.c).
- Removed security.c
- Renamed curl_sec.h to krb5.h
+ Removed security.c
+ Renamed curl_sec.h to krb5.h
- Closes #5987
+ Closes #5987
-- Curl_handler: add 'family' to each protocol
+- Curl_handler: add 'family' to each protocol
- Makes get_protocol_family() faster and it moves the knowledge about the
- "families" to each protocol handler, where it belongs.
+ Makes get_protocol_family() faster and it moves the knowledge about the
+ "families" to each protocol handler, where it belongs.
- Closes #5986
+ Closes #5986
-- parsedate: tune the date to epoch conversion
+- parsedate: tune the date to epoch conversion
- By avoiding an unnecessary error check and the temp use of the tm
- struct, the time2epoch conversion function gets a little bit faster.
- When repeating test 517, the updated version is perhaps 1% faster (on
- one particular build on one particular architecture).
+ By avoiding an unnecessary error check and the temp use of the tm
+ struct, the time2epoch conversion function gets a little bit faster.
+ When repeating test 517, the updated version is perhaps 1% faster (on
+ one particular build on one particular architecture).
- Closes #5985
+ Closes #5985
-- cmake: remove scary warning
+- cmake: remove scary warning
- Remove the text saying
+ Remove the text saying
- "the curl cmake build system is poorly maintained. Be aware"
+ "the curl cmake build system is poorly maintained. Be aware"
- ... not because anything changed just now, but to encourage users to use
- it and subsequently improve it.
+ ... not because anything changed just now, but to encourage users to use
+ it and subsequently improve it.
- Closes #5984
+ Closes #5984
-- docs/MQTT: remove outdated paaragraphs
+- docs/MQTT: remove outdated paaragraphs
-- docs/MQTT: not experimental anymore
-
- Follow-up to e37e4468688d8f
+- docs/MQTT: not experimental anymore
+
+ Follow-up to e37e4468688d8f
-- docs/RESOURCES: remove
+- docs/RESOURCES: remove
- This document is not maintained and rather than trying to refresh it,
- let's kill it. A more up-to-date document with relevant RFCs is this
- page on the curl website: https://curl.haxx.se/rfc/
+ This document is not maintained and rather than trying to refresh it,
+ let's kill it. A more up-to-date document with relevant RFCs is this
+ page on the curl website: https://curl.haxx.se/rfc/
- Closes #5980
+ Closes #5980
-- docs/TheArtOfHttpScripting: convert to markdown
+- docs/TheArtOfHttpScripting: convert to markdown
+
+ Makes it easier to browse on github etc. Offers (better) links.
- Makes it easier to browse on github etc. Offers (better) links.
+ It should be noted that this document is already mostly outdated and
+ "Everything curl" at https://ec.haxx.se/ is a better resource and
+ tutorial.
- It should be noted that this document is already mostly outdated and
- "Everything curl" at https://ec.haxx.se/ is a better resource and
- tutorial.
-
- Closes #5981
+ Closes #5981
-- BUGS: convert document to markdown
-
- Closes #5979
+- BUGS: convert document to markdown
+
+ Closes #5979
-- --help: strdup the category
+- --help: strdup the category
- ... since it is converted and the original pointer is freed on Windows
- unicode handling.
+ ... since it is converted and the original pointer is freed on Windows
+ unicode handling.
- Follow-up to aa8777f63febc
- Fixes #5977
- Closes #5978
- Reported-by: xwxbug on github
+ Follow-up to aa8777f63febc
+ Fixes #5977
+ Closes #5978
+ Reported-by: xwxbug on github
-- CHECKSRC: document two missing warnings
+- CHECKSRC: document two missing warnings
- RELEASE-NOTES: synced
-- ftp: avoid risk of reading uninitialized integers
+- ftp: avoid risk of reading uninitialized integers
- If the received PASV response doesn't match the expected pattern, we
- could end up reading uninitialized integers for IP address and port
- number.
+ If the received PASV response doesn't match the expected pattern, we
+ could end up reading uninitialized integers for IP address and port
+ number.
- Issue pointed out by muse.dev
- Closes #5972
+ Issue pointed out by muse.dev
+ Closes #5972
-- [Quentin Balland brought this change]
+- [Quentin Balland brought this change]
- easy_reset: clear retry counter
+ easy_reset: clear retry counter
- Closes #5975
- Fixes #5974
-
-- ftp: get rid of the PPSENDF macro
+ Closes #5975
+ Fixes #5974
+
+- ftp: get rid of the PPSENDF macro
- The use of such a macro hides some of what's actually going on to the
- reader and is generally disapproved of in the project.
-
- Closes #5971
+ The use of such a macro hides some of what's actually going on to the
+ reader and is generally disapproved of in the project.
+
+ Closes #5971
-- man pages: switch to https://example.com URLs
+- man pages: switch to https://example.com URLs
- Since HTTPS is "the new normal", this update changes a lot of man page
- examples to use https://example.com instead of the previous "http://..."
+ Since HTTPS is "the new normal", this update changes a lot of man page
+ examples to use https://example.com instead of the previous "http://..."
- Closes #5969
+ Closes #5969
-- github: remove the duplicate "Security vulnerability" entry
+- github: remove the duplicate "Security vulnerability" entry
- ... since github adds an entry automatically by itself.
+ ... since github adds an entry automatically by itself.
- Closes #5970
+ Closes #5970
-- [Emil Engler brought this change]
+- [Emil Engler brought this change]
- github: use new issue template feature
+ github: use new issue template feature
- This helps us to avoid getting feature requests as well as security
- bugs reported into the issue tracker.
+ This helps us to avoid getting feature requests as well as security
+ bugs reported into the issue tracker.
- Closes #5936
+ Closes #5936
-- [Emil Engler brought this change]
+- [Emil Engler brought this change]
- urlapi: use more Curl_safefree
+ urlapi: use more Curl_safefree
- Closes #5968
-
-Marc Hoersken (17 Sep 2020)
-- multi: align WinSock mask variables in Curl_multi_wait
+ Closes #5968
+
+Marc Hoersken (17 Sep 2020)
+- multi: align WinSock mask variables in Curl_multi_wait
- Also skip pre-checking sockets to set timeout_ms to 0
- after the first socket has been detected to be ready.
+ Also skip pre-checking sockets to set timeout_ms to 0
+ after the first socket has been detected to be ready.
- Reviewed-by: rcombs on github
- Reviewed-by: Daniel Stenberg
+ Reviewed-by: rcombs on github
+ Reviewed-by: Daniel Stenberg
- Follow up to #5886
+ Follow up to #5886
-- multi: reuse WinSock events variable in Curl_multi_wait
+- multi: reuse WinSock events variable in Curl_multi_wait
+
+ Since the struct is quite large (1 long and 10 ints) we
+ declare it once at the beginning of the function instead
+ of multiple times inside loops to avoid stack movements.
- Since the struct is quite large (1 long and 10 ints) we
- declare it once at the beginning of the function instead
- of multiple times inside loops to avoid stack movements.
+ Reviewed-by: Viktor Szakats
+ Reviewed-by: Daniel Stenberg
- Reviewed-by: Viktor Szakats
- Reviewed-by: Daniel Stenberg
-
- Closes #5886
+ Closes #5886
-Daniel Stenberg (16 Sep 2020)
-- TODO: dynamically decide to use socketpair
+Daniel Stenberg (16 Sep 2020)
+- TODO: dynamically decide to use socketpair
- Suggested-by: Anders Bakken
+ Suggested-by: Anders Bakken
- Closes #4829
-
-- TODO: add PR reference for native IDN support on macOS
+ Closes #4829
+
+- TODO: add PR reference for native IDN support on macOS
- As there was work started on this that never got completed.
+ As there was work started on this that never got completed.
- Closes #5371
-
-- tool_help.h: update copyright year range
+ Closes #5371
+
+- tool_help.h: update copyright year range
- Follow-up from aa8777f63febca
+ Follow-up from aa8777f63febca
-- CI/azure: disable test 571 in the msys2 builds
+- CI/azure: disable test 571 in the msys2 builds
- It's just too flaky there
+ It's just too flaky there
- Reviewed-by: Marc Hoersken
- Closes #5954
+ Reviewed-by: Marc Hoersken
+ Closes #5954
-- tool_writeout: protect fputs() from NULL
+- tool_writeout: protect fputs() from NULL
- When the code was changed to do fputs() instead of fprintf() it got
- sensitive for NULL pointers; add checks for that.
+ When the code was changed to do fputs() instead of fprintf() it got
+ sensitive for NULL pointers; add checks for that.
- Follow-up from 0c1e767e83ec66
+ Follow-up from 0c1e767e83ec66
- Closes #5963
+ Closes #5963
-- test3015: verify stdout "as text"
+- test3015: verify stdout "as text"
- Follow-up from 0c1e767e83e to please win32 tests
-
- Closes #5962
+ Follow-up from 0c1e767e83e to please win32 tests
+
+ Closes #5962
-- travis: use libressl v3.1.4 instead of master
+- travis: use libressl v3.1.4 instead of master
+
+ ... as their git master seems too fragile to use (and 3.2.1 which is the
+ latest has a build failure).
- ... as their git master seems too fragile to use (and 3.2.1 which is the
- latest has a build failure).
-
- Closes #5964
+ Closes #5964
-- tests/FILEFORMAT: document type=shell for <command>
+- tests/FILEFORMAT: document type=shell for <command>
-- tests/FILEFORMAT: document nonewline support for <file>
+- tests/FILEFORMAT: document nonewline support for <file>
- The one in <client>, that creates files.
+ The one in <client>, that creates files.
- Follow-up from b83947c8df7
+ Follow-up from b83947c8df7
-- [anio brought this change]
+- [anio brought this change]
- tool_writeout: add new writeout variable, %{num_headers}
+ tool_writeout: add new writeout variable, %{num_headers}
- This variable gives the number of headers.
+ This variable gives the number of headers.
- Closes #5947
+ Closes #5947
-- tool_urlglob: fix compiler warning "unreachable code"
+- tool_urlglob: fix compiler warning "unreachable code"
- (On Windows builds.)
+ (On Windows builds.)
- Follow-up to 70a3b003d9
+ Follow-up to 70a3b003d9
-- [Gergely Nagy brought this change]
+- [Gergely Nagy brought this change]
- vtls: deduplicate client certificates in ssl_config_data
+ vtls: deduplicate client certificates in ssl_config_data
- Closes #5629
+ Closes #5629
-- ftp: a 550 response to SIZE returns CURLE_REMOTE_FILE_NOT_FOUND
+- ftp: a 550 response to SIZE returns CURLE_REMOTE_FILE_NOT_FOUND
- This is primarily interesting for cases where CURLOPT_NOBODY is set as
- previously curl would not return an error for this case.
+ This is primarily interesting for cases where CURLOPT_NOBODY is set as
+ previously curl would not return an error for this case.
- MDTM getting 550 now also returns this error (it returned
- CURLE_FTP_COULDNT_RETR_FILE before) in order to unify return codes for
- missing files across protocols and specific FTP commands.
+ MDTM getting 550 now also returns this error (it returned
+ CURLE_FTP_COULDNT_RETR_FILE before) in order to unify return codes for
+ missing files across protocols and specific FTP commands.
- libcurl already returns error on a 550 as a MDTM response (when
- CURLOPT_FILETIME is set). If CURLOPT_NOBODY is not set, an error would
- happen subsequently anyway since the RETR command would fail.
+ libcurl already returns error on a 550 as a MDTM response (when
+ CURLOPT_FILETIME is set). If CURLOPT_NOBODY is not set, an error would
+ happen subsequently anyway since the RETR command would fail.
- Add test 1913 and 1914 to verify. Updated several tests accordingly due
- to the updated SIZE behavior.
+ Add test 1913 and 1914 to verify. Updated several tests accordingly due
+ to the updated SIZE behavior.
- Reported-by: Tomas Berger
- Fixes #5953
- Closes #5957
+ Reported-by: Tomas Berger
+ Fixes #5953
+ Closes #5957
-- curl: make checkpasswd use dynbuf
-
- Closes #5952
+- curl: make checkpasswd use dynbuf
+
+ Closes #5952
-- curl: make glob_match_url use dynbuf
-
- Closes #5952
+- curl: make glob_match_url use dynbuf
+
+ Closes #5952
-- curl: make file2memory use dynbuf
+- curl: make file2memory use dynbuf
- Closes #5952
+ Closes #5952
-- curl: make file2string use dynbuf
+- curl: make file2string use dynbuf
- Closes #5952
+ Closes #5952
-- [Antarpreet Singh brought this change]
+- [Antarpreet Singh brought this change]
- imap: set cselect_bits to CURL_CSELECT_IN initially
+ imap: set cselect_bits to CURL_CSELECT_IN initially
- ... when continuing a transfer from a FETCH response.
+ ... when continuing a transfer from a FETCH response.
- When the size of the file was small enough that the entirety of the
- transfer happens in a single go and schannel buffers holds the entire
- data. However, it wasn't completely read in Curl_pp_readresp since a
- line break was found before that could happen. So, by the time we are in
- imap_state_fetch_resp - there's data in buffers that needs to be read
- via Curl_read but nothing to read from the socket. After we setup a
- transfer (Curl_setup_transfer), curl just waits on the socket state to
- change - which doesn't happen since no new data ever comes.
+ When the size of the file was small enough that the entirety of the
+ transfer happens in a single go and schannel buffers holds the entire
+ data. However, it wasn't completely read in Curl_pp_readresp since a
+ line break was found before that could happen. So, by the time we are in
+ imap_state_fetch_resp - there's data in buffers that needs to be read
+ via Curl_read but nothing to read from the socket. After we setup a
+ transfer (Curl_setup_transfer), curl just waits on the socket state to
+ change - which doesn't happen since no new data ever comes.
- Closes #5961
+ Closes #5961
-- RELEASE-NOTES: synced
+- RELEASE-NOTES: synced
-- test434: test -K use in a single line without newline
+- test434: test -K use in a single line without newline
- Closes #5946
+ Closes #5946
-- runtests: allow creating files without newlines
+- runtests: allow creating files without newlines
- Closes #5946
+ Closes #5946
-- curl: use curlx_dynbuf for realloc when loading config files
+- curl: use curlx_dynbuf for realloc when loading config files
- ... fixes an integer overflow at the same time.
+ ... fixes an integer overflow at the same time.
- Reported-by: ihsinme on github
- Assisted-by: Jay Satiro
+ Reported-by: ihsinme on github
+ Assisted-by: Jay Satiro
- Closes #5946
+ Closes #5946
-- dynbuf: provide curlx_ names for reuse by the curl tool
+- dynbuf: provide curlx_ names for reuse by the curl tool
- Closes #5946
+ Closes #5946
-- dynbuf: make sure Curl_dyn_tail() zero terminates
+- dynbuf: make sure Curl_dyn_tail() zero terminates
- Closes #5959
+ Closes #5959
-- tests: add test1912 to the dist
+- tests: add test1912 to the dist
- Follow-up to 70984ce1be4cab6c
+ Follow-up to 70984ce1be4cab6c
-- docs/LICENSE-MIXING: remove
+- docs/LICENSE-MIXING: remove
- This document is not maintained and I feel that it doesn't provide much
- value to users anymore (if it ever did).
+ This document is not maintained and I feel that it doesn't provide much
+ value to users anymore (if it ever did).
- Closes #5955
+ Closes #5955
-- [Laramie Leavitt brought this change]
+- [Laramie Leavitt brought this change]
- http: consolidate nghttp2_session_mem_recv() call paths
+ http: consolidate nghttp2_session_mem_recv() call paths
+
+ Previously there were several locations that called
+ nghttp2_session_mem_recv and handled responses slightly differently.
+ Those have been converted to call the existing
+ h2_process_pending_input() function.
+
+ Moved the end-of-session check to h2_process_pending_input() since the
+ only place the end-of-session state can change is after nghttp2
+ processes additional input frames.
- Previously there were several locations that called
- nghttp2_session_mem_recv and handled responses slightly differently.
- Those have been converted to call the existing
- h2_process_pending_input() function.
+ This will likely fix the fuzzing error. While I don't have a root cause
+ the out-of-bounds read seems like a use after free, so moving the
+ nghttp2_session_check_request_allowed() call to a location with a
+ guaranteed nghttp2 session seems reasonable.
- Moved the end-of-session check to h2_process_pending_input() since the
- only place the end-of-session state can change is after nghttp2
- processes additional input frames.
+ Also updated a few nghttp2 callsites to include error messages and added
+ a few additional error checks.
- This will likely fix the fuzzing error. While I don't have a root cause
- the out-of-bounds read seems like a use after free, so moving the
- nghttp2_session_check_request_allowed() call to a location with a
- guaranteed nghttp2 session seems reasonable.
-
- Also updated a few nghttp2 callsites to include error messages and added
- a few additional error checks.
-
- Closes #5648
+ Closes #5648
-- HISTORY: mention alt-svc added in 2019
-
- ... and make 1996 the first year subtitle
+- HISTORY: mention alt-svc added in 2019
+
+ ... and make 1996 the first year subtitle
-- base64: also build for pop3 and imap
+- base64: also build for pop3 and imap
- Follow-up to the fix in 20417a13fb8f83
+ Follow-up to the fix in 20417a13fb8f83
- Reported-by: Michael Olbrich
- Fixes #5937
- Closes #5948
+ Reported-by: Michael Olbrich
+ Fixes #5937
+ Closes #5948
-- base64: enable in build with SMTP
+- base64: enable in build with SMTP
- The oauth2 support is used with SMTP and it uses base64 functions.
+ The oauth2 support is used with SMTP and it uses base64 functions.
- Reported-by: Michael Olbrich
- Fixes #5937
- Closes #5938
+ Reported-by: Michael Olbrich
+ Fixes #5937
+ Closes #5938
-- curl_mime_headers.3: fix the example's use of curl_slist_append
+- curl_mime_headers.3: fix the example's use of curl_slist_append
- Reported-by: sofaboss on github
- Fixes #5942
- Closes #5943
-
-- lib583: fix enum mixup
+ Reported-by: sofaboss on github
+ Fixes #5942
+ Closes #5943
+
+- lib583: fix enum mixup
- grrr the previous follow-up to 17fcdf6a31 was wrong
+ grrr the previous follow-up to 17fcdf6a31 was wrong
-- libtest: fix build errors
+- libtest: fix build errors
- Follow-up from 17fcdf6a310d4c8076
+ Follow-up from 17fcdf6a310d4c8076
-- lib: fix -Wassign-enum warnings
+- lib: fix -Wassign-enum warnings
- configure --enable-debug now enables -Wassign-enum with clang,
- identifying several enum "abuses" also fixed.
+ configure --enable-debug now enables -Wassign-enum with clang,
+ identifying several enum "abuses" also fixed.
- Reported-by: Gisle Vanem
- Bug: https://github.com/curl/curl/commit/879007f8118771f4896334731aaca5850a154675#commitcomment-42087553
+ Reported-by: Gisle Vanem
+ Bug: https://github.com/curl/curl/commit/879007f8118771f4896334731aaca5850a154675#commitcomment-42087553
- Closes #5929
+ Closes #5929
-- RELEASE-NOTES: synced
+- RELEASE-NOTES: synced
-- [Diven Qi brought this change]
+- [Diven Qi brought this change]
- url: use blank credentials when using proxy w/o username and password
+ url: use blank credentials when using proxy w/o username and password
- Fixes proxy regression brought in commit ad829b21ae (7.71.0)
+ Fixes proxy regression brought in commit ad829b21ae (7.71.0)
- Fixed #5911
- Closes #5914
+ Fixed #5911
+ Closes #5914
-- travis: add a build using libressl (from git master)
+- travis: add a build using libressl (from git master)
- The v3.2.1 tag (latest release atm) results in a broken build.
+ The v3.2.1 tag (latest release atm) results in a broken build.
- Closes #5932
+ Closes #5932
-- configure: let --enable-debug set -Wenum-conversion with gcc >= 10
+- configure: let --enable-debug set -Wenum-conversion with gcc >= 10
- Unfortunately, this option is not detecting the same issues as clang's
- -Wassign-enum flag, but should still be useful to detect future
- mistakes.
+ Unfortunately, this option is not detecting the same issues as clang's
+ -Wassign-enum flag, but should still be useful to detect future
+ mistakes.
- Closes #5930
+ Closes #5930
-- openssl: consider ALERT_CERTIFICATE_EXPIRED a failed verification
+- openssl: consider ALERT_CERTIFICATE_EXPIRED a failed verification
- If the error reason from the lib is
- SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED, libcurl will return
- CURLE_PEER_FAILED_VERIFICATION and not CURLE_SSL_CONNECT_ERROR.
+ If the error reason from the lib is
+ SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED, libcurl will return
+ CURLE_PEER_FAILED_VERIFICATION and not CURLE_SSL_CONNECT_ERROR.
- This unifies the libcurl return code and makes libressl run test 313
- (CRL testing) fine.
+ This unifies the libcurl return code and makes libressl run test 313
+ (CRL testing) fine.
- Closes #5934
+ Closes #5934
-- FAQ: refreshed some very old language
+- FAQ: refreshed some very old language
-- cmake: make HTTP_ONLY also disable MQTT
+- cmake: make HTTP_ONLY also disable MQTT
- ... and alphasort the order of disabling protocols to make it easier to
- browse.
+ ... and alphasort the order of disabling protocols to make it easier to
+ browse.
- Closes #5931
+ Closes #5931
-- libtest: remove lib1541 leftovers
+- libtest: remove lib1541 leftovers
- Caused automake errors.
+ Caused automake errors.
- Follow-up to 8ca54a03ea08a
+ Follow-up to 8ca54a03ea08a
-- tests/libtests: remove test 1900 and 2033
+- tests/libtests: remove test 1900 and 2033
- We already remove the test files, now remove the libtest codes as well.
+ We already remove the test files, now remove the libtest codes as well.
- Follow-up to e50a877df74
+ Follow-up to e50a877df74
-Marc Hoersken (7 Sep 2020)
-- CI/azure: add test number to title for display in analytics
+Marc Hoersken (7 Sep 2020)
+- CI/azure: add test number to title for display in analytics
+
+ To ease identification of tests the test number is added to
+ the test case title in order to have it on the Azure DevOps
+ Analytics pages and reports which currently do not show it.
- To ease identification of tests the test number is added to
- the test case title in order to have it on the Azure DevOps
- Analytics pages and reports which currently do not show it.
+ Bump test case revision to make Azure DevOps update titles.
- Bump test case revision to make Azure DevOps update titles.
-
- Closes #5927
+ Closes #5927
-Daniel Stenberg (6 Sep 2020)
-- altsvc: clone setting in curl_easy_duphandle
+Daniel Stenberg (6 Sep 2020)
+- altsvc: clone setting in curl_easy_duphandle
- The cache content is not duplicated, like other caches, but the setting
- and specified file name are.
+ The cache content is not duplicated, like other caches, but the setting
+ and specified file name are.
- Test 1908 is extended to verify this somewhat. Since the duplicated
- handle gets the same file name, the test unfortunately overwrites the
- same file twice (with different contents) which makes it hard to check
- automatically.
+ Test 1908 is extended to verify this somewhat. Since the duplicated
+ handle gets the same file name, the test unfortunately overwrites the
+ same file twice (with different contents) which makes it hard to check
+ automatically.
- Closes #5923
+ Closes #5923
-- test1541: remove since it is a known bug
+- test1541: remove since it is a known bug
+
+ A shared connection cache is not thread-safe is a known issue. Stop
+ testing this until we believe this issue is addressed. Reduces
+ occasional test failures we don't care about.
- A shared connection cache is not thread-safe is a known issue. Stop
- testing this until we believe this issue is addressed. Reduces
- occasional test failures we don't care about.
-
- The test code in lib1541.c is left in git to allow us to restore it when
- we get to fix this.
-
- Closes #5922
+ The test code in lib1541.c is left in git to allow us to restore it when
+ we get to fix this.
+
+ Closes #5922
-- tests: remove pipelining tests
+- tests: remove pipelining tests
- Remove the tests 530, 584, 1900, 1901, 1902, 1903 and 2033. They were
- previously disabled.
+ Remove the tests 530, 584, 1900, 1901, 1902, 1903 and 2033. They were
+ previously disabled.
- The Pipelining code was removed from curl in commit 2f44e94efb3df8e,
- April 2019.
+ The Pipelining code was removed from curl in commit 2f44e94efb3df8e,
+ April 2019.
- Closes #5921
+ Closes #5921
-- curl: retry delays in parallel mode no longer sleeps blocking
+- curl: retry delays in parallel mode no longer sleeps blocking
- The previous sleep for retries would block all other concurrent
- transfers. Starting now, the retry will instead be properly marked to
- not get restarted until after the delay time but other transfers can
- still continue in the mean time.
+ The previous sleep for retries would block all other concurrent
+ transfers. Starting now, the retry will instead be properly marked to
+ not get restarted until after the delay time but other transfers can
+ still continue in the mean time.
- Closes #5917
+ Closes #5917
-- curl:parallel_transfers: make sure retry readds the transfer
+- curl:parallel_transfers: make sure retry readds the transfer
- Reported-by: htasta on github
- Fixes #5905
- Closes #5917
+ Reported-by: htasta on github
+ Fixes #5905
+ Closes #5917
-- build: drop support for building with Watcom
+- build: drop support for building with Watcom
- These files are not maintained, they seem to have no users, Watcom
- compilers look like not having users nor releases anymore.
+ These files are not maintained, they seem to have no users, Watcom
+ compilers look like not having users nor releases anymore.
- Closes #5918
+ Closes #5918
-- winbuild/rundebug.cmd: remove
+- winbuild/rundebug.cmd: remove
- Seems to have been added by mistake? Not included in dists.
+ Seems to have been added by mistake? Not included in dists.
- Closes #5919
+ Closes #5919
-- curl: in retry output don't call all problems "transient"
+- curl: in retry output don't call all problems "transient"
- ... because when --retry-all-errors is used, the error isn't necessarily
- transient at all.
+ ... because when --retry-all-errors is used, the error isn't necessarily
+ transient at all.
- Closes #5916
+ Closes #5916
-- easygetopt: pass a valid enum to avoid compiler warning
+- easygetopt: pass a valid enum to avoid compiler warning
- "integer constant not in range of enumerated type 'CURLoption'"
+ "integer constant not in range of enumerated type 'CURLoption'"
- Reported-by: Gisle Vanem
- Bug: https://github.com/curl/curl/commit/6ebe63fac23f38df911edc348e8ccc72280f9434#commitcomment-42042843
+ Reported-by: Gisle Vanem
+ Bug: https://github.com/curl/curl/commit/6ebe63fac23f38df911edc348e8ccc72280f9434#commitcomment-42042843
- Closes #5915
+ Closes #5915
+
+- [Emil Engler brought this change]
-- [Emil Engler brought this change]
-
- tests: Add tests for new --help
+ tests: Add tests for new --help
- This commit is a part of "--help me if you can"
+ This commit is a part of "--help me if you can"
- Closes #5680
+ Closes #5680
-- [Emil Engler brought this change]
-
- tool: update --help with categories
+- [Emil Engler brought this change]
+
+ tool: update --help with categories
- This commit is a part of "--help me if you can"
+ This commit is a part of "--help me if you can"
- Closes #5680
+ Closes #5680
+
+- [Emil Engler brought this change]
-- [Emil Engler brought this change]
-
- docs: add categories to all cmdline opts
+ docs: add categories to all cmdline opts
- Adapted gen.pl with 'listcats'
+ Adapted gen.pl with 'listcats'
- This commit is a part of "--help me if you can"
+ This commit is a part of "--help me if you can"
- Closes #5680
+ Closes #5680
-- RELEASE-NOTES: synced
+- RELEASE-NOTES: synced
-- [ihsinme brought this change]
-
- connect.c: remove superfluous 'else' in Curl_getconnectinfo
+- [ihsinme brought this change]
+
+ connect.c: remove superfluous 'else' in Curl_getconnectinfo
- Closes #5912
+ Closes #5912
+
+- [Samuel Marks brought this change]
-- [Samuel Marks brought this change]
-
- CMake: remove explicit `CMAKE_ANSI_CFLAGS`
+ CMake: remove explicit `CMAKE_ANSI_CFLAGS`
- This variable was removed from cmake in commit
- https://gitlab.kitware.com/cmake/cmake/commit/5a834b0bb0bc288. A later
- CMake commit removes the variable from the tests, claiming that it was
- removed in CMake 2.6
+ This variable was removed from cmake in commit
+ https://gitlab.kitware.com/cmake/cmake/commit/5a834b0bb0bc288. A later
+ CMake commit removes the variable from the tests, claiming that it was
+ removed in CMake 2.6
- Reviewed-By: Peter Wu
- Closes #5439
+ Reviewed-By: Peter Wu
+ Closes #5439
-- [cbe brought this change]
-
- libssh2: pass on the error from ssh_force_knownhost_key_type
+- [cbe brought this change]
+
+ libssh2: pass on the error from ssh_force_knownhost_key_type
- Closes #5909
-
-- scripts/delta: add diffstat summary
+ Closes #5909
+
+- scripts/delta: add diffstat summary
- ... and make output more table-like
+ ... and make output more table-like
-- [Martin Bašti brought this change]
+- [Martin Bašti brought this change]
- http_proxy: do not crash with HTTPS_PROXY and NO_PROXY set
+ http_proxy: do not crash with HTTPS_PROXY and NO_PROXY set
+
+ ... in case NO_PROXY takes an effect
+
+ Without this patch, the following command crashes:
- ... in case NO_PROXY takes an effect
+ $ GIT_CURL_VERBOSE=1 NO_PROXY=github.com HTTPS_PROXY=https://example.com \
+ git clone https://github.com/curl/curl.git
- Without this patch, the following command crashes:
+ Minimal libcurl-based reproducer:
- $ GIT_CURL_VERBOSE=1 NO_PROXY=github.com HTTPS_PROXY=https://example.com \
- git clone https://github.com/curl/curl.git
+ #include <curl/curl.h>
- Minimal libcurl-based reproducer:
-
- #include <curl/curl.h>
-
- int main() {
- CURL *curl = curl_easy_init();
- if(curl) {
- CURLcode ret;
- curl_easy_setopt(curl, CURLOPT_URL, "https://github.com/");
- curl_easy_setopt(curl, CURLOPT_PROXY, "example.com");
- /* set the proxy type */
- curl_easy_setopt(curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTPS);
- curl_easy_setopt(curl, CURLOPT_NOPROXY, "github.com");
- curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
- ret = curl_easy_perform(curl);
- curl_easy_cleanup(curl);
- return ret;
- }
- return -1;
- }
-
- Assisted-by: Kamil Dudka
- Bug: https://bugzilla.redhat.com/1873327
- Closes #5902
+ int main() {
+ CURL *curl = curl_easy_init();
+ if(curl) {
+ CURLcode ret;
+ curl_easy_setopt(curl, CURLOPT_URL, "https://github.com/");
+ curl_easy_setopt(curl, CURLOPT_PROXY, "example.com");
+ /* set the proxy type */
+ curl_easy_setopt(curl, CURLOPT_PROXYTYPE, CURLPROXY_HTTPS);
+ curl_easy_setopt(curl, CURLOPT_NOPROXY, "github.com");
+ curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
+ ret = curl_easy_perform(curl);
+ curl_easy_cleanup(curl);
+ return ret;
+ }
+ return -1;
+ }
+
+ Assisted-by: Kamil Dudka
+ Bug: https://bugzilla.redhat.com/1873327
+ Closes #5902
-- travis: add a CI job with openssl3 (from git master)
+- travis: add a CI job with openssl3 (from git master)
- Closes #5908
+ Closes #5908
-- openssl: avoid error conditions when importing native CA
+- openssl: avoid error conditions when importing native CA
- The code section that is OpenSSL 3+ specific now uses the same logic as
- is used in the version < 3 section. It caused a compiler error without
- it.
+ The code section that is OpenSSL 3+ specific now uses the same logic as
+ is used in the version < 3 section. It caused a compiler error without
+ it.
- Closes #5907
+ Closes #5907
-- setopt: avoid curl_ on local variable
+- setopt: avoid curl_ on local variable
- Closes #5906
+ Closes #5906
-- mqtt.c: avoid curl_ prefix on local variable
+- mqtt.c: avoid curl_ prefix on local variable
- Closes #5906
+ Closes #5906
-- wildcard: strip "curl_" prefix from private symbols
-
- Closes #5906
+- wildcard: strip "curl_" prefix from private symbols
+
+ Closes #5906
-- vtls: make it 'struct Curl_ssl_session'
+- vtls: make it 'struct Curl_ssl_session'
- Use uppercase C for internal symbols.
+ Use uppercase C for internal symbols.
- Closes #5906
+ Closes #5906
-- curl_threads: make it 'struct Curl_actual_call'
+- curl_threads: make it 'struct Curl_actual_call'
- Internal names should not be prefixed "curl_"
+ Internal names should not be prefixed "curl_"
- Closes #5906
+ Closes #5906
-- schannel: make it 'struct Curl_schannel*'
+- schannel: make it 'struct Curl_schannel*'
- As internal global names should use captical C.
+ As internal global names should use captical C.
- Closes #5906
+ Closes #5906
-- hash: make it 'struct Curl_hash'
+- hash: make it 'struct Curl_hash'
- As internal global names should use captical C.
+ As internal global names should use captical C.
- Closes #5906
+ Closes #5906
-- llist: make it "struct Curl_llist"
+- llist: make it "struct Curl_llist"
- As internal global names should use captical C.
+ As internal global names should use captical C.
- Closes #5906
+ Closes #5906
-Marc Hoersken (2 Sep 2020)
-- telnet.c: depend on static requirement of WinSock version 2
+Marc Hoersken (2 Sep 2020)
+- telnet.c: depend on static requirement of WinSock version 2
- Drop dynamic loading of ws2_32.dll and instead rely on the
- imported version which is now required to be at least 2.2.
+ Drop dynamic loading of ws2_32.dll and instead rely on the
+ imported version which is now required to be at least 2.2.
- Reviewed-by: Marcel Raad
- Reviewed-by: Jay Satiro
- Reviewed-by: Daniel Stenberg
- Reviewed-by: Viktor Szakats
+ Reviewed-by: Marcel Raad
+ Reviewed-by: Jay Satiro
+ Reviewed-by: Daniel Stenberg
+ Reviewed-by: Viktor Szakats
- Closes #5854
+ Closes #5854
-- win32: drop support for WinSock version 1, require version 2
+- win32: drop support for WinSock version 1, require version 2
- IPv6, telnet and now also the multi API require WinSock
- version 2 which is available starting with Windows 95.
+ IPv6, telnet and now also the multi API require WinSock
+ version 2 which is available starting with Windows 95.
- Therefore we think it is time to drop support for version 1.
+ Therefore we think it is time to drop support for version 1.
+
+ Reviewed-by: Marcel Raad
+ Reviewed-by: Jay Satiro
+ Reviewed-by: Daniel Stenberg
+ Reviewed-by: Viktor Szakats
- Reviewed-by: Marcel Raad
- Reviewed-by: Jay Satiro
- Reviewed-by: Daniel Stenberg
- Reviewed-by: Viktor Szakats
-
- Follow up to #5634
- Closes #5854
+ Follow up to #5634
+ Closes #5854
-- select: align poll emulation to return all relevant events
+- select: align poll emulation to return all relevant events
- The poll emulation via select already consumes POLLRDNORM,
- POLLWRNORM and POLLRDBAND as input events. Therefore it
- should also return them as output events if signaled.
+ The poll emulation via select already consumes POLLRDNORM,
+ POLLWRNORM and POLLRDBAND as input events. Therefore it
+ should also return them as output events if signaled.
- Also fix indentation in input event handling block.
+ Also fix indentation in input event handling block.
- Assisted-by: Jay Satiro
- Reviewed-by: Daniel Stenberg
-
- Replaces #5852
- Closes #5883
+ Assisted-by: Jay Satiro
+ Reviewed-by: Daniel Stenberg
+
+ Replaces #5852
+ Closes #5883
-- CI/azure: MQTT is now enabled by default
+- CI/azure: MQTT is now enabled by default
+
+ Reviewed-by: Daniel Stenberg
- Reviewed-by: Daniel Stenberg
-
- Follow up to #5858
- Closes #5903
+ Follow up to #5858
+ Closes #5903
-Daniel Stenberg (2 Sep 2020)
-- copyright.pl: ignore buildconf
+Daniel Stenberg (2 Sep 2020)
+- copyright.pl: ignore buildconf
-- test971: show test mismatches "inline"
-
-- lib/Makefile.am: bump VERSIONINFO due to new functions
+- test971: show test mismatches "inline"
+
+- lib/Makefile.am: bump VERSIONINFO due to new functions
- ... we're generally bad at this, but we are adding new functions for
- this release.
+ ... we're generally bad at this, but we are adding new functions for
+ this release.
- Closes #5899
+ Closes #5899
-- optiontable: use DEBUGBUILD
+- optiontable: use DEBUGBUILD
- Follow-up to commit 6e18568ba38 (#5877)
+ Follow-up to commit 6e18568ba38 (#5877)
-- cmdline-opts/gen.pl: generate nicer "See Also" in curl.1
+- cmdline-opts/gen.pl: generate nicer "See Also" in curl.1
+
+ If there are more than two items in the list, use commas for all but the
+ last separator which is set to 'and'. Reads better.
- If there are more than two items in the list, use commas for all but the
- last separator which is set to 'and'. Reads better.
-
- Closes #5898
+ Closes #5898
-- curl.1: add see also no-progress-meter on two spots
+- curl.1: add see also no-progress-meter on two spots
- Ref: #5894
+ Ref: #5894
- Closes #5897
+ Closes #5897
- RELEASE-NOTES: synced
-- mqtt: enable by default
+- mqtt: enable by default
- No longer considered experimental.
+ No longer considered experimental.
- Closes #5858
+ Closes #5858
-- [Michael Baentsch brought this change]
-
- tls: add CURLOPT_SSL_EC_CURVES and --curves
+- [Michael Baentsch brought this change]
+
+ tls: add CURLOPT_SSL_EC_CURVES and --curves
- Closes #5892
+ Closes #5892
+
+- url: remove funny embedded comments in Curl_disonnect calls
-- url: remove funny embedded comments in Curl_disonnect calls
+- [Chris Paulson-Ellis brought this change]
-- [Chris Paulson-Ellis brought this change]
-
- conn: check for connection being dead before reuse
+ conn: check for connection being dead before reuse
- Prevents incorrect reuse of an HTTP connection that has been prematurely
- shutdown() by the server.
+ Prevents incorrect reuse of an HTTP connection that has been prematurely
+ shutdown() by the server.
- Partial revert of 755083d00deb16
+ Partial revert of 755083d00deb16
- Fixes #5884
- Closes #5893
+ Fixes #5884
+ Closes #5893
-Marc Hoersken (29 Aug 2020)
-- buildconf: exec autoreconf to avoid additional process
+Marc Hoersken (29 Aug 2020)
+- buildconf: exec autoreconf to avoid additional process
- Also make buildconf exit with the return code of autoreconf.
+ Also make buildconf exit with the return code of autoreconf.
- Reviewed-by: Daniel Stenberg
+ Reviewed-by: Daniel Stenberg
- Follow up to #5853
- Closes #5890
+ Follow up to #5853
+ Closes #5890
-- CI/azure: no longer ignore results of test 1013
+- CI/azure: no longer ignore results of test 1013
- Follow up to #5771
- Closes #5889
-
-- docs: add description about CI platforms to CONTRIBUTE.md
+ Follow up to #5771
+ Closes #5889
+
+- docs: add description about CI platforms to CONTRIBUTE.md
- Reviewed-by: Daniel Stenberg
- Reviewed-by: Marcel Raad
- Reviewed-by: Jay Satiro
+ Reviewed-by: Daniel Stenberg
+ Reviewed-by: Marcel Raad
+ Reviewed-by: Jay Satiro
- Closes #5882
+ Closes #5882
-Daniel Stenberg (29 Aug 2020)
-- tests/getpart: use MIME::Base64 instead of home-cooked
+Daniel Stenberg (29 Aug 2020)
+- tests/getpart: use MIME::Base64 instead of home-cooked
+
+ Since we already use the base64 package since a while back, we can just
+ as well switch to that here too.
- Since we already use the base64 package since a while back, we can just
- as well switch to that here too.
+ It also happens to use the exact same function name, which otherwise
+ causes a run-time warning.
- It also happens to use the exact same function name, which otherwise
- causes a run-time warning.
-
- Reported-by: Marc Hörsken
- Fixes #5885
- Closes #5887
+ Reported-by: Marc Hörsken
+ Fixes #5885
+ Closes #5887
-Marcel Raad (29 Aug 2020)
-- ntlm: fix condition for curl_ntlm_core usage
+Marcel Raad (29 Aug 2020)
+- ntlm: fix condition for curl_ntlm_core usage
- `USE_WINDOWS_SSPI` without `USE_WIN32_CRYPTO` but with any other DES
- backend is fine, but was excluded before.
+ `USE_WINDOWS_SSPI` without `USE_WIN32_CRYPTO` but with any other DES
+ backend is fine, but was excluded before.
- This also fixes test 1013 as the condition for SMB support in
- configure.ac didn't match the condition in the source code. Now it
- does.
+ This also fixes test 1013 as the condition for SMB support in
+ configure.ac didn't match the condition in the source code. Now it
+ does.
- Fixes https://github.com/curl/curl/issues/1262
- Closes https://github.com/curl/curl/pull/5771
+ Fixes https://github.com/curl/curl/issues/1262
+ Closes https://github.com/curl/curl/pull/5771
-- AppVeyor: switch 64-bit Schannel Debug CMake builds to Unicode
+- AppVeyor: switch 64-bit Schannel Debug CMake builds to Unicode
- The Schannel builds are the most useful to verify as they make the most
- use of the Windows API. Classic MinGW doesn't support Unicode at all,
- only MinGW-w64 and MSVC do.
+ The Schannel builds are the most useful to verify as they make the most
+ use of the Windows API. Classic MinGW doesn't support Unicode at all,
+ only MinGW-w64 and MSVC do.
- Closes https://github.com/curl/curl/pull/5843
+ Closes https://github.com/curl/curl/pull/5843
-- CMake: add option to enable Unicode on Windows
+- CMake: add option to enable Unicode on Windows
- As already existing for winbuild.
+ As already existing for winbuild.
- Closes https://github.com/curl/curl/pull/5843
-
-Marc Hoersken (29 Aug 2020)
-- select: simplify return code handling for poll and select
+ Closes https://github.com/curl/curl/pull/5843
+
+Marc Hoersken (29 Aug 2020)
+- select: simplify return code handling for poll and select
- poll and select already return -1 on error according to POSIX,
- so there is no need to perform a <0 to -1 conversion in code.
+ poll and select already return -1 on error according to POSIX,
+ so there is no need to perform a <0 to -1 conversion in code.
- Also we can just use one check with <= 0 on the return code.
+ Also we can just use one check with <= 0 on the return code.
- Assisted-by: Daniel Stenberg
- Reviewed-by: Jay Satiro
+ Assisted-by: Daniel Stenberg
+ Reviewed-by: Jay Satiro
- Replaces #5852
- Closes #5880
+ Replaces #5852
+ Closes #5880
-Daniel Stenberg (28 Aug 2020)
-- RELEASE-NOTES: synced
+Daniel Stenberg (28 Aug 2020)
+- RELEASE-NOTES: synced
-- [Jeroen Ooms brought this change]
+- [Jeroen Ooms brought this change]
- tests: add test1912 with typechecks
+ tests: add test1912 with typechecks
- Validates that gcc-typecheck macros match the new option type API.
+ Validates that gcc-typecheck macros match the new option type API.
- Closes #5873
+ Closes #5873
-- easyoptions: provide debug function when DEBUGBUILD
+- easyoptions: provide debug function when DEBUGBUILD
- ... not CURLDEBUG as they're not always set in conjunction.
+ ... not CURLDEBUG as they're not always set in conjunction.
- Follow-up to 6ebe63fac23f38df
-
- Fixes #5877
- Closes #5878
+ Follow-up to 6ebe63fac23f38df
+
+ Fixes #5877
+ Closes #5878
-Marc Hoersken (28 Aug 2020)
-- sockfilt: handle FD_CLOSE winsock event on write socket
+Marc Hoersken (28 Aug 2020)
+- sockfilt: handle FD_CLOSE winsock event on write socket
- Learn from the way Cygwin handles and maps the WinSock events
- to simulate correct and complete poll and select behaviour
- according to Richard W. Stevens Network Programming book.
+ Learn from the way Cygwin handles and maps the WinSock events
+ to simulate correct and complete poll and select behaviour
+ according to Richard W. Stevens Network Programming book.
- Follow up to #5867
- Closes #5879
-
-- multi: handle connection state winsock events
+ Follow up to #5867
+ Closes #5879
+
+- multi: handle connection state winsock events
- Learn from the way Cygwin handles and maps the WinSock events
- to simulate correct and complete poll and select behaviour
- according to Richard W. Stevens Network Programming book.
+ Learn from the way Cygwin handles and maps the WinSock events
+ to simulate correct and complete poll and select behaviour
+ according to Richard W. Stevens Network Programming book.
- Reviewed-by: Jay Satiro
- Reviewed-by: Marcel Raad
+ Reviewed-by: Jay Satiro
+ Reviewed-by: Marcel Raad
- Follow up to #5634
- Closes #5867
-
-Daniel Stenberg (28 Aug 2020)
-- Curl_pgrsTime - return new time to avoid timeout integer overflow
+ Follow up to #5634
+ Closes #5867
+
+Daniel Stenberg (28 Aug 2020)
+- Curl_pgrsTime - return new time to avoid timeout integer overflow
- Setting a timeout to INT_MAX could cause an immediate error to get
- returned as timeout because of an overflow when different values of
- 'now' were used.
+ Setting a timeout to INT_MAX could cause an immediate error to get
+ returned as timeout because of an overflow when different values of
+ 'now' were used.
- This is primarily fixed by having Curl_pgrsTime() return the "now" when
- TIMER_STARTSINGLE is set so that the parent function will continue using
- that time.
+ This is primarily fixed by having Curl_pgrsTime() return the "now" when
+ TIMER_STARTSINGLE is set so that the parent function will continue using
+ that time.
- Reported-by: Ionuț-Francisc Oancea
- Fixes #5583
- Closes #5847
-
-- TLS: fix SRP detection by using the proper #ifdefs
+ Reported-by: Ionuț-Francisc Oancea
+ Fixes #5583
+ Closes #5847
+
+- TLS: fix SRP detection by using the proper #ifdefs
- USE_TLS_SRP will be true if *any* selected TLS backend can use SRP
+ USE_TLS_SRP will be true if *any* selected TLS backend can use SRP
- HAVE_OPENSSL_SRP is defined when OpenSSL can use it
+ HAVE_OPENSSL_SRP is defined when OpenSSL can use it
- HAVE_GNUTLS_SRP is defined when GnuTLS can use it
+ HAVE_GNUTLS_SRP is defined when GnuTLS can use it
- Clarify in the curl_verison_info docs that CURL_VERSION_TLSAUTH_SRP is
- set if at least one of the supported backends offers SRP.
+ Clarify in the curl_verison_info docs that CURL_VERSION_TLSAUTH_SRP is
+ set if at least one of the supported backends offers SRP.
- Reported-by: Stefan Strogin
- Fixes #5865
- Closes #5870
-
-- [Dan Kenigsberg brought this change]
-
- docs: SSLCERTS: fix English syntax
+ Reported-by: Stefan Strogin
+ Fixes #5865
+ Closes #5870
+
+- [Dan Kenigsberg brought this change]
+
+ docs: SSLCERTS: fix English syntax
- Signed-off-by: Dan Kenigsberg <danken@redhat.com>
+ Signed-off-by: Dan Kenigsberg <danken@redhat.com>
- Closes #5876
+ Closes #5876
-- [Alessandro Ghedini brought this change]
+- [Alessandro Ghedini brought this change]
- docs: non-existing macros in man pages
+ docs: non-existing macros in man pages
- As reported by man(1) when invoked as:
-
- man --warnings -E UTF-8 -l -Tutf8 -Z <file> >/dev/null
-
- Closes #5846
+ As reported by man(1) when invoked as:
+
+ man --warnings -E UTF-8 -l -Tutf8 -Z <file> >/dev/null
+
+ Closes #5846
-- [Alessandro Ghedini brought this change]
+- [Alessandro Ghedini brought this change]
- curl.1: fix typo invokved -> invoked
+ curl.1: fix typo invokved -> invoked
- Closes #5846
+ Closes #5846
-- buildconf: invoke 'autoreconf -fi' instead
-
- The custom script isn't necessary anymore - but remains for simplicity
- and just invokes autoreconf.
-
- Closes #5853
+- buildconf: invoke 'autoreconf -fi' instead
+
+ The custom script isn't necessary anymore - but remains for simplicity
+ and just invokes autoreconf.
+
+ Closes #5853
-- [Emil Engler brought this change]
+- [Emil Engler brought this change]
- lib: make Curl_gethostname accept a const pointer
+ lib: make Curl_gethostname accept a const pointer
+
+ The address of that variable never gets changed, only the data in it so
+ why not make it a "char * const"?
- The address of that variable never gets changed, only the data in it so
- why not make it a "char * const"?
-
- Closes #5866
+ Closes #5866
-- docs/libcurl: update "Added in" version for curl_easy_option*
+- docs/libcurl: update "Added in" version for curl_easy_option*
- Follow-up to 6ebe63fac23f38
+ Follow-up to 6ebe63fac23f38
-- scripts: improve the "get latest curl release tag" logic
-
- ... by insiting on it matching "^curl-".
+- scripts: improve the "get latest curl release tag" logic
+
+ ... by insiting on it matching "^curl-".
-- configure: added --disable-get-easy-options
+- configure: added --disable-get-easy-options
- To allow disabling of the curl_easy_option APIs in a build.
+ To allow disabling of the curl_easy_option APIs in a build.
- Closes #5365
+ Closes #5365
-- options: API for meta-data about easy options
+- options: API for meta-data about easy options
+
+ const struct curl_easyoption *curl_easy_option_by_name(const char *name);
+
+ const struct curl_easyoption *curl_easy_option_by_id (CURLoption id);
+
+ const struct curl_easyoption *
+ curl_easy_option_next(const struct curl_easyoption *prev);
+
+ The purpose is to provide detailed enough information to allow for
+ example libcurl bindings to get option information at run-time about
+ what easy options that exist and what arguments they expect.
- const struct curl_easyoption *curl_easy_option_by_name(const char *name);
-
- const struct curl_easyoption *curl_easy_option_by_id (CURLoption id);
-
- const struct curl_easyoption *
- curl_easy_option_next(const struct curl_easyoption *prev);
-
- The purpose is to provide detailed enough information to allow for
- example libcurl bindings to get option information at run-time about
- what easy options that exist and what arguments they expect.
-
- Assisted-by: Jeroen Ooms
- Closes #5365
+ Assisted-by: Jeroen Ooms
+ Closes #5365
-- [Eric Curtin brought this change]
+- [Eric Curtin brought this change]
- HTTP/3: update to OpenSSL_1_1_1g-quic-draft-29
-
- Closes #5871
+ HTTP/3: update to OpenSSL_1_1_1g-quic-draft-29
+
+ Closes #5871
-- RELEASE-NOTES: synced
+- RELEASE-NOTES: synced
-Jay Satiro (26 Aug 2020)
-- openssl: Fix wincrypt symbols conflict with BoringSSL
+Jay Satiro (26 Aug 2020)
+- openssl: Fix wincrypt symbols conflict with BoringSSL
- OpenSSL undefines the conflicting symbols but BoringSSL does not so we
- must do it ourselves.
+ OpenSSL undefines the conflicting symbols but BoringSSL does not so we
+ must do it ourselves.
- Reported-by: Samuel Tranchet
- Assisted-by: Javier Blazquez
+ Reported-by: Samuel Tranchet
+ Assisted-by: Javier Blazquez
- Ref: https://bugs.chromium.org/p/boringssl/issues/detail?id=371
- Ref: https://github.com/openssl/openssl/blob/OpenSSL_1_1_1g/include/openssl/ossl_typ.h#L66-L73
+ Ref: https://bugs.chromium.org/p/boringssl/issues/detail?id=371
+ Ref: https://github.com/openssl/openssl/blob/OpenSSL_1_1_1g/include/openssl/ossl_typ.h#L66-L73
- Fixes https://github.com/curl/curl/issues/5669
- Closes https://github.com/curl/curl/pull/5857
+ Fixes https://github.com/curl/curl/issues/5669
+ Closes https://github.com/curl/curl/pull/5857
-Daniel Stenberg (26 Aug 2020)
-- socketpair: allow CURL_DISABLE_SOCKETPAIR
+Daniel Stenberg (26 Aug 2020)
+- socketpair: allow CURL_DISABLE_SOCKETPAIR
- ... to completely disable the use of socketpair
+ ... to completely disable the use of socketpair
- Closes #5850
+ Closes #5850
-- curl_get_line: build only if cookies or alt-svc are enabled
+- curl_get_line: build only if cookies or alt-svc are enabled
- Closes #5851
-
-- [fullincome brought this change]
-
- schannel: fix memory leak when using get_cert_location
+ Closes #5851
+
+- [fullincome brought this change]
+
+ schannel: fix memory leak when using get_cert_location
- The get_cert_location function allocates memory only on success.
- Previously get_cert_location was able to allocate memory and return
- error. It wasn't obvious and in this case the memory wasn't
- released.
+ The get_cert_location function allocates memory only on success.
+ Previously get_cert_location was able to allocate memory and return
+ error. It wasn't obvious and in this case the memory wasn't
+ released.
- Fixes #5855
- Closes #5860
+ Fixes #5855
+ Closes #5860
-- [Emil Engler brought this change]
+- [Emil Engler brought this change]
- git: ignore libtests in 3XXX area
+ git: ignore libtests in 3XXX area
- Currently the file tests/libtest/lib3010 is not getting
- ignored by git. This fixes it by adding the 3XXX area to
- the according .gitignore file.
+ Currently the file tests/libtest/lib3010 is not getting
+ ignored by git. This fixes it by adding the 3XXX area to
+ the according .gitignore file.
- Closes #5859
+ Closes #5859
-- [Emil Engler brought this change]
+- [Emil Engler brought this change]
- doh: add error message for DOH_DNS_NAME_TOO_LONG
+ doh: add error message for DOH_DNS_NAME_TOO_LONG
- When this error code was introduced in b6a53fff6c1d07e8a9, it was
- forgotten to be added in the errors array and doh_strerror function.
-
- Closes #5863
+ When this error code was introduced in b6a53fff6c1d07e8a9, it was
+ forgotten to be added in the errors array and doh_strerror function.
+
+ Closes #5863
-- ngtcp2: adapt to the new pkt_info arguments
+- ngtcp2: adapt to the new pkt_info arguments
+
+ Guidance-by: Tatsuhiro Tsujikawa
- Guidance-by: Tatsuhiro Tsujikawa
-
- Closes #5864
+ Closes #5864
-- winbuild/README.md: make <options> visible
+- winbuild/README.md: make <options> visible
- Follow-up to be753add31c2d8c
+ Follow-up to be753add31c2d8c
-- winbuild: convert the instruction text to README.md
+- winbuild: convert the instruction text to README.md
- Closes #5861
+ Closes #5861
-- lib1560: verify "redirect" to double-slash leading URL
+- lib1560: verify "redirect" to double-slash leading URL
- Closes #5849
+ Closes #5849
-Marc Hoersken (25 Aug 2020)
-- multi: expand pre-check for socket readiness
+Marc Hoersken (25 Aug 2020)
+- multi: expand pre-check for socket readiness
- Check readiness of all sockets before waiting on them
- to avoid locking in case the one-time event FD_WRITE
- was already consumed by a previous wait operation.
+ Check readiness of all sockets before waiting on them
+ to avoid locking in case the one-time event FD_WRITE
+ was already consumed by a previous wait operation.
- More information about WinSock network events:
- https://docs.microsoft.com/en-us/windows/win32/api/
- winsock2/nf-winsock2-wsaeventselect#return-value
+ More information about WinSock network events:
+ https://docs.microsoft.com/en-us/windows/win32/api/
+ winsock2/nf-winsock2-wsaeventselect#return-value
- Closes #5634
+ Closes #5634
+
+- [rcombs brought this change]
-- [rcombs brought this change]
-
- multi: implement wait using winsock events
+ multi: implement wait using winsock events
- This avoids using a pair of TCP ports to provide wakeup functionality
- for every multi instance on Windows, where socketpair() is emulated
- using a TCP socket on loopback which could in turn lead to socket
- resource exhaustion.
+ This avoids using a pair of TCP ports to provide wakeup functionality
+ for every multi instance on Windows, where socketpair() is emulated
+ using a TCP socket on loopback which could in turn lead to socket
+ resource exhaustion.
- A previous version of this patch failed to account for how in WinSock,
- FD_WRITE is set only once when writing becomes possible and not again
- until after a send has failed due to the buffer filling. This contrasts
- to how FD_READ and FD_OOB continue to be set until the conditions they
- refer to no longer apply. This meant that if a user wrote some data to
- a socket, but not enough data to completely fill its send buffer, then
- waited on that socket to become writable, we'd erroneously stall until
- their configured timeout rather than returning immediately.
+ A previous version of this patch failed to account for how in WinSock,
+ FD_WRITE is set only once when writing becomes possible and not again
+ until after a send has failed due to the buffer filling. This contrasts
+ to how FD_READ and FD_OOB continue to be set until the conditions they
+ refer to no longer apply. This meant that if a user wrote some data to
+ a socket, but not enough data to completely fill its send buffer, then
+ waited on that socket to become writable, we'd erroneously stall until
+ their configured timeout rather than returning immediately.
- This version of the patch addresses that issue by checking each socket
- we're waiting on to become writable with select() before the wait, and
- zeroing the timeout if it's already writable.
-
- Assisted-by: Marc Hörsken
- Reviewed-by: Marcel Raad
- Reviewed-by: Daniel Stenberg
- Tested-by: Gergely Nagy
- Tested-by: Rasmus Melchior Jacobsen
- Tested-by: Tomas Berger
-
- Replaces #5397
- Reverts #5632
- Closes #5634
+ This version of the patch addresses that issue by checking each socket
+ we're waiting on to become writable with select() before the wait, and
+ zeroing the timeout if it's already writable.
+
+ Assisted-by: Marc Hörsken
+ Reviewed-by: Marcel Raad
+ Reviewed-by: Daniel Stenberg
+ Tested-by: Gergely Nagy
+ Tested-by: Rasmus Melchior Jacobsen
+ Tested-by: Tomas Berger
+
+ Replaces #5397
+ Reverts #5632
+ Closes #5634
-- select: reduce duplication of Curl_poll in Curl_socket_check
+- select: reduce duplication of Curl_poll in Curl_socket_check
- Change Curl_socket_check to use select-fallback in Curl_poll
- instead of implementing it in Curl_socket_check and Curl_poll.
+ Change Curl_socket_check to use select-fallback in Curl_poll
+ instead of implementing it in Curl_socket_check and Curl_poll.
- Reviewed-by: Daniel Stenberg
- Reviewed-by: Jay Satiro
+ Reviewed-by: Daniel Stenberg
+ Reviewed-by: Jay Satiro
- Replaces #5262 and #5492
- Closes #5707
+ Replaces #5262 and #5492
+ Closes #5707
-- select: fix poll-based check not detecting connect failure
+- select: fix poll-based check not detecting connect failure
+
+ This commit changes Curl_socket_check to use POLLPRI to
+ check for connect failure on the write socket, because
+ POLLPRI maps to fds_err. This is in line with select(2).
- This commit changes Curl_socket_check to use POLLPRI to
- check for connect failure on the write socket, because
- POLLPRI maps to fds_err. This is in line with select(2).
+ The select-based socket check correctly checks for connect
+ failures by adding the write socket also to fds_err.
- The select-based socket check correctly checks for connect
- failures by adding the write socket also to fds_err.
+ The poll-based implementation (which internally can itself
+ fallback to select again) did not previously check for
+ connect failure by using POLLPRI with the write socket.
- The poll-based implementation (which internally can itself
- fallback to select again) did not previously check for
- connect failure by using POLLPRI with the write socket.
+ See the follow up commit to this for more information.
- See the follow up commit to this for more information.
+ This commit makes sure connect failures can be detected
+ and handled if HAVE_POLL_FINE is defined, eg. on msys2-devel.
- This commit makes sure connect failures can be detected
- and handled if HAVE_POLL_FINE is defined, eg. on msys2-devel.
+ Reviewed-by: Daniel Stenberg
+ Reviewed-by: Jay Satiro
- Reviewed-by: Daniel Stenberg
- Reviewed-by: Jay Satiro
-
- Replaces #5509
- Prepares #5707
+ Replaces #5509
+ Prepares #5707
-- select.h: make socket validation macros test for INVALID_SOCKET
+- select.h: make socket validation macros test for INVALID_SOCKET
+
+ With Winsock the valid range is [0..INVALID_SOCKET-1] according to
+ https://docs.microsoft.com/en-us/windows/win32/winsock/socket-data-type-2
+
+ Reviewed-by: Jay Satiro
+ Reviewed-by: Marcel Raad
+ Reviewed-by: Daniel Stenberg
- With Winsock the valid range is [0..INVALID_SOCKET-1] according to
- https://docs.microsoft.com/en-us/windows/win32/winsock/socket-data-type-2
+ Closes #5760
+
+Daniel Stenberg (24 Aug 2020)
+- docs: --output-dir is added in 7.73.0, nothing else
- Reviewed-by: Jay Satiro
- Reviewed-by: Marcel Raad
- Reviewed-by: Daniel Stenberg
-
- Closes #5760
+ Follow-up to 5620d2cc78c0
-Daniel Stenberg (24 Aug 2020)
-- docs: --output-dir is added in 7.73.0, nothing else
+- curl: add --output-dir
+
+ Works with --create-dirs and with -J
- Follow-up to 5620d2cc78c0
-
-- curl: add --output-dir
+ Add test 3008, 3009, 3011, 3012 and 3013 to verify.
- Works with --create-dirs and with -J
-
- Add test 3008, 3009, 3011, 3012 and 3013 to verify.
-
- Closes #5637
+ Closes #5637
-- configure: fix pkg-config detecting wolfssl
+- configure: fix pkg-config detecting wolfssl
- When amending the include path with "/wolfssl", this now properly strips
- off all whitespace from the path variable! Previously this would lead to
- pkg-config builds creating bad command lines.
-
- Closes #5848
+ When amending the include path with "/wolfssl", this now properly strips
+ off all whitespace from the path variable! Previously this would lead to
+ pkg-config builds creating bad command lines.
+
+ Closes #5848
-- [Michael Musset brought this change]
+- [Michael Musset brought this change]
- sftp: add the option CURLKHSTAT_FINE_REPLACE
+ sftp: add the option CURLKHSTAT_FINE_REPLACE
+
+ Replace the old fingerprint of the host with a new.
- Replace the old fingerprint of the host with a new.
-
- Closes #5685
+ Closes #5685
-- RELEASE-NOTES: synced
+- RELEASE-NOTES: synced
- The next release is now to become 7.73.0
+ The next release is now to become 7.73.0
-- checksrc: verify do-while and spaces between the braces
+- checksrc: verify do-while and spaces between the braces
- Updated mprintf.c to comply
+ Updated mprintf.c to comply
- Closes #5845
+ Closes #5845
-- curl: support XDG_CONFIG_HOME to find .curlrc
+- curl: support XDG_CONFIG_HOME to find .curlrc
- Added test433 to verify. Updated documentation.
+ Added test433 to verify. Updated documentation.
- Reviewed-by: Jay Satiro
- Suggested-by: Eli Schwartz
- Fixes #5829
- Closes #5837
+ Reviewed-by: Jay Satiro
+ Suggested-by: Eli Schwartz
+ Fixes #5829
+ Closes #5837
-- etag: save and use the full received contents
+- etag: save and use the full received contents
+
+ ... which makes it support weak tags and non-standard etags too!
- ... which makes it support weak tags and non-standard etags too!
+ Added test case 347 to verify blank incoming ETag:
- Added test case 347 to verify blank incoming ETag:
-
- Fixes #5610
- Closes #5833
+ Fixes #5610
+ Closes #5833
-- setopt: if the buffer exists, refuse the new BUFFERSIZE
+- setopt: if the buffer exists, refuse the new BUFFERSIZE
- The buffer only exists during transfer and then we shouldn't change the
- size (the setopt is not documented to work then).
+ The buffer only exists during transfer and then we shouldn't change the
+ size (the setopt is not documented to work then).
+
+ Reported-by: Harry Sintonen
+ Closes #5842
+
+- [COFFEETALES brought this change]
+
+ sftp: add new quote commands 'atime' and 'mtime'
- Reported-by: Harry Sintonen
- Closes #5842
+ Closes #5810
-- [COFFEETALES brought this change]
-
- sftp: add new quote commands 'atime' and 'mtime'
+- CURLE_PROXY: new error code
+
+ Failures clearly returned from a (SOCKS) proxy now causes this return
+ code. Previously the situation was not very clear as what would be
+ returned and when.
- Closes #5810
-
-- CURLE_PROXY: new error code
+ In addition: when this error code is returned, an application can use
+ CURLINFO_PROXY_ERROR to query libcurl for the detailed error, which then
+ returns a value from the new 'CURLproxycode' enum.
- Failures clearly returned from a (SOCKS) proxy now causes this return
- code. Previously the situation was not very clear as what would be
- returned and when.
-
- In addition: when this error code is returned, an application can use
- CURLINFO_PROXY_ERROR to query libcurl for the detailed error, which then
- returns a value from the new 'CURLproxycode' enum.
-
- Closes #5770
+ Closes #5770
-- runtests: make cleardir() erase dot files too
+- runtests: make cleardir() erase dot files too
+
+ Because test cases might use dot files.
- Because test cases might use dot files.
-
- Closes #5838
+ Closes #5838
-- KNOWN_BUGS: 'no_proxy' string-matches IPv6 numerical addreses
+- KNOWN_BUGS: 'no_proxy' string-matches IPv6 numerical addreses
- Also: the current behavior is now documented in the curl.1 and
- CURLOPT_NOPROXY.3 man pages.
+ Also: the current behavior is now documented in the curl.1 and
+ CURLOPT_NOPROXY.3 man pages.
- Reported-by: Andrew Barnes
- Closes #5745
- Closes #5841
+ Reported-by: Andrew Barnes
+ Closes #5745
+ Closes #5841
-Viktor Szakats (22 Aug 2020)
-- Makefile.m32: add ability to override zstd libs [ci skip]
+Viktor Szakats (22 Aug 2020)
+- Makefile.m32: add ability to override zstd libs [ci skip]
- Similarly to brotli, where this was already possible.
- E.g. it allows to link zstd statically to libcurl.dll.
+ Similarly to brotli, where this was already possible.
+ E.g. it allows to link zstd statically to libcurl.dll.
- Ref: https://github.com/curl/curl-for-win/issues/12
- Ref: https://github.com/curl/curl-for-win/commit/d9b266afd2e5d3f5604483010ef62340b5918c89
+ Ref: https://github.com/curl/curl-for-win/issues/12
+ Ref: https://github.com/curl/curl-for-win/commit/d9b266afd2e5d3f5604483010ef62340b5918c89
- Closes https://github.com/curl/curl/pull/5840
+ Closes https://github.com/curl/curl/pull/5840
-Daniel Stenberg (21 Aug 2020)
-- runtests: avoid 'fail to start' repeated messages in attempt loops
+Daniel Stenberg (21 Aug 2020)
+- runtests: avoid 'fail to start' repeated messages in attempt loops
- Closes #5834
+ Closes #5834
-- runtests: clear pid variables when failing to start a server
+- runtests: clear pid variables when failing to start a server
- ... as otherwise the parent doesn't detect the failure and believe it
- actually worked to start.
+ ... as otherwise the parent doesn't detect the failure and believe it
+ actually worked to start.
- Reported-by: Christian Weisgerber
- Bug: https://curl.haxx.se/mail/lib-2020-08/0018.html
- Closes #5834
+ Reported-by: Christian Weisgerber
+ Bug: https://curl.haxx.se/mail/lib-2020-08/0018.html
+ Closes #5834
-- TODO: Virtual external sockets
+- TODO: Virtual external sockets
- Closes #5835
+ Closes #5835
-- [Don J Olmstead brought this change]
+- [Don J Olmstead brought this change]
- dist: add missing CMake Find modules to the distribution
-
- Closes #5836
+ dist: add missing CMake Find modules to the distribution
+
+ Closes #5836
-- RELEASE-NOTES: synced
+- RELEASE-NOTES: synced
- ... and version bumped to 7.72.1
+ ... and version bumped to 7.72.1
-- tls: provide the CApath verbose log on its own line
+- tls: provide the CApath verbose log on its own line
- ... not newline separated from the previous line. This makes it output
- asterisk prefixed properly like other verbose putput!
-
- Reported-by: jmdavitt on github
- Fixes #5826
- Closes #5827
+ ... not newline separated from the previous line. This makes it output
+ asterisk prefixed properly like other verbose putput!
+
+ Reported-by: jmdavitt on github
+ Fixes #5826
+ Closes #5827
+
+Version 7.72.0 (19 Aug 2020)
-Version 7.72.0 (19 Aug 2020)
-
-Daniel Stenberg (19 Aug 2020)
-- RELEASE-NOTES: synced
+Daniel Stenberg (19 Aug 2020)
+- RELEASE-NOTES: synced
- The curl 7.72.0 release
+ The curl 7.72.0 release
-- THANKS: add names from curl 7.72.0 release
-
-Jay Satiro (18 Aug 2020)
-- KNOWN_BUGS: Schannel TLS 1.2 handshake bug in old Windows versions
+- THANKS: add names from curl 7.72.0 release
+
+Jay Satiro (18 Aug 2020)
+- KNOWN_BUGS: Schannel TLS 1.2 handshake bug in old Windows versions
- Reported-by: plujon@users.noreply.github.com
+ Reported-by: plujon@users.noreply.github.com
- Closes https://github.com/curl/curl/issues/5488
+ Closes https://github.com/curl/curl/issues/5488
-Daniel Stenberg (17 Aug 2020)
-- Curl_easy: remember last connection by id, not by pointer
+Daniel Stenberg (17 Aug 2020)
+- Curl_easy: remember last connection by id, not by pointer
- CVE-2020-8231
+ CVE-2020-8231
- Bug: https://curl.haxx.se/docs/CVE-2020-8231.html
+ Bug: https://curl.haxx.se/docs/CVE-2020-8231.html
- Reported-by: Marc Aldorasi
- Closes #5824
+ Reported-by: Marc Aldorasi
+ Closes #5824
-- examples/rtsp.c: correct the copyright year
+- examples/rtsp.c: correct the copyright year
-- RELEASE-PROCEDURE.md: add more future release dates
+- RELEASE-PROCEDURE.md: add more future release dates
-- [H3RSKO brought this change]
+- [H3RSKO brought this change]
- docs: change "web site" to "website"
+ docs: change "web site" to "website"
- According to wikipedia:
+ According to wikipedia:
- While "web site" was the original spelling, this variant has become
- rarely used, and "website" has become the standard spelling
+ While "web site" was the original spelling, this variant has become
+ rarely used, and "website" has become the standard spelling
- Closes #5822
+ Closes #5822
+
+- [Bevan Weiss brought this change]
-- [Bevan Weiss brought this change]
-
- CMake: don't complain about missing nroff
+ CMake: don't complain about missing nroff
- The curl_nroff_check() was always being called, and complaining if
- *NROFF wasn't found, even when not making the manual.
+ The curl_nroff_check() was always being called, and complaining if
+ *NROFF wasn't found, even when not making the manual.
- Only check for nroff (and complain) if actually making the manual
+ Only check for nroff (and complain) if actually making the manual
- Closes #5817
+ Closes #5817
-- [Brian Inglis brought this change]
+- [Brian Inglis brought this change]
- libtest/Makefile.am: add -no-undefined for libstubgss for Cygwin
+ libtest/Makefile.am: add -no-undefined for libstubgss for Cygwin
- copy the LDFLAGS approach for adding same option with `libhostname` in
- `libtest/Makefile.am`:
+ copy the LDFLAGS approach for adding same option with `libhostname` in
+ `libtest/Makefile.am`:
- - init `libstubgss_la_LDFLAGS_EXTRA` variable,
- - add option to variable inside conditional,
- - use variable in `libstubgss_la_LDFLAGS`
-
- Fixes #5819
- Closes #5820
+ - init `libstubgss_la_LDFLAGS_EXTRA` variable,
+ - add option to variable inside conditional,
+ - use variable in `libstubgss_la_LDFLAGS`
+
+ Fixes #5819
+ Closes #5820
-- docs: clarify MAX_SEND/RECV_SPEED functionality
+- docs: clarify MAX_SEND/RECV_SPEED functionality
- ... in particular what happens if the maximum speed limit is set to a
- value that's smaller than the transfer buffer size in use.
+ ... in particular what happens if the maximum speed limit is set to a
+ value that's smaller than the transfer buffer size in use.
- Reported-by: Tomas Berger
- Fixes #5788
- Closes #5813
+ Reported-by: Tomas Berger
+ Fixes #5788
+ Closes #5813
-- test1140: compare stdout
+- test1140: compare stdout
- To make problems more immediately obvious when tests fail.
+ To make problems more immediately obvious when tests fail.
- Closes #5814
+ Closes #5814
-- asyn-ares: correct some bad comments
+- asyn-ares: correct some bad comments
- Closes #5812
+ Closes #5812
+
+- [Emil Engler brought this change]
-- [Emil Engler brought this change]
-
- docs: Add video link to docs/CONTRIBUTE.md
+ docs: Add video link to docs/CONTRIBUTE.md
- Closes #5811
+ Closes #5811
-- curl-config: ignore REQUIRE_LIB_DEPS in --libs output
+- curl-config: ignore REQUIRE_LIB_DEPS in --libs output
- Fixes a curl-config issue on cygwin by making sure REQUIRE_LIB_DEPS is
- not considered for the --libs output.
+ Fixes a curl-config issue on cygwin by making sure REQUIRE_LIB_DEPS is
+ not considered for the --libs output.
- Reported-by: ramsay-jones on github
- Assisted-by: Brian Inglis and Ken Brown
- Fixes #5793
- Closes #5808
+ Reported-by: ramsay-jones on github
+ Assisted-by: Brian Inglis and Ken Brown
+ Fixes #5793
+ Closes #5808
-- copyright: update/correct the year range on a few files
+- copyright: update/correct the year range on a few files
-- scripts/copyright.pl: ignore .muse files
+- scripts/copyright.pl: ignore .muse files
-- [Emil Engler brought this change]
+- [Emil Engler brought this change]
- multi: Remove 10-year old out-commented code
+ multi: Remove 10-year old out-commented code
- The code hasn't been touched since 2010-08-18
+ The code hasn't been touched since 2010-08-18
- Closes #5805
+ Closes #5805
-- KNOWN_BUGS: A shared connection cache is not thread-safe
+- KNOWN_BUGS: A shared connection cache is not thread-safe
- Closes #4915
- Closes #5802
+ Closes #4915
+ Closes #5802
-- CONTRIBUTE: extend git commit message description
+- CONTRIBUTE: extend git commit message description
- In particular how the first line works.
+ In particular how the first line works.
- Closes #5803
+ Closes #5803
+
+- RELEASE-NOTES: synced
+
+- [Stefan Yohansson brought this change]
-- RELEASE-NOTES: synced
-
-- [Stefan Yohansson brought this change]
-
- transfer: move retrycount from connect struct to easy handle
+ transfer: move retrycount from connect struct to easy handle
- This flag was applied to the connection struct that is released on
- retry. These changes move the retry counter into Curl_easy struct that
- lives across retries and retains the new connection.
+ This flag was applied to the connection struct that is released on
+ retry. These changes move the retry counter into Curl_easy struct that
+ lives across retries and retains the new connection.
- Reported-by: Cherish98 on github
- Fixes #5794
- Closes #5800
+ Reported-by: Cherish98 on github
+ Fixes #5794
+ Closes #5800
-- libssh2: s/ssherr/sftperr/
+- libssh2: s/ssherr/sftperr/
- The debug output used ssherr instead of sftperr which not only outputs
- the wrong error code but also casues a warning on Windows.
+ The debug output used ssherr instead of sftperr which not only outputs
+ the wrong error code but also casues a warning on Windows.
- Follow-up to 7370b4e39f1
+ Follow-up to 7370b4e39f1
- Reported-by: Gisle Vanem
- Bug: https://github.com/curl/curl/commit/7370b4e39f1390e701f5b68d910c619151daf72b#r41334700
- Closes #5799
+ Reported-by: Gisle Vanem
+ Bug: https://github.com/curl/curl/commit/7370b4e39f1390e701f5b68d910c619151daf72b#r41334700
+ Closes #5799
-- ftp: don't do ssl_shutdown instead of ssl_close
+- ftp: don't do ssl_shutdown instead of ssl_close
- The shutdown function is for downgrading a connection from TLS to plain,
- and this is not requested here.
+ The shutdown function is for downgrading a connection from TLS to plain,
+ and this is not requested here.
- Have ssl_close reset the TLS connection state.
+ Have ssl_close reset the TLS connection state.
- This partially reverts commit f002c850d98d
+ This partially reverts commit f002c850d98d
- Reported-by: Rasmus Melchior Jacobsen
- Reported-by: Denis Goleshchikhin
- Fixes #5797
+ Reported-by: Rasmus Melchior Jacobsen
+ Reported-by: Denis Goleshchikhin
+ Fixes #5797
-Marc Hoersken (9 Aug 2020)
-- CI/azure: fix test outcome values and use latest API version
+Marc Hoersken (9 Aug 2020)
+- CI/azure: fix test outcome values and use latest API version
- This makes sure that tests ignored or skipped are not shown
- just in the category "Other", but with their correct state.
+ This makes sure that tests ignored or skipped are not shown
+ just in the category "Other", but with their correct state.
- Closes #5796
+ Closes #5796
-- CI/azure: show runtime stats to investigate slowness
+- CI/azure: show runtime stats to investigate slowness
- Also avoid naming conflict of TFLAGS env and tflags variables.
+ Also avoid naming conflict of TFLAGS env and tflags variables.
- Closes #5776
+ Closes #5776
-Daniel Stenberg (8 Aug 2020)
-- TLS naming: fix more Winssl and Darwinssl leftovers
+Daniel Stenberg (8 Aug 2020)
+- TLS naming: fix more Winssl and Darwinssl leftovers
- The CMake option is now called CMAKE_USE_SCHANNEL
+ The CMake option is now called CMAKE_USE_SCHANNEL
- The winbuild flag is USE_SCHANNEL
+ The winbuild flag is USE_SCHANNEL
- The CI jobs and build scripts only use the new names and the new name
- options
+ The CI jobs and build scripts only use the new names and the new name
+ options
- Tests now require 'Schannel' (when necessary)
+ Tests now require 'Schannel' (when necessary)
- Closes #5795
-
-- smtp_parse_address: handle blank input string properly
+ Closes #5795
+
+- smtp_parse_address: handle blank input string properly
- Closes #5792
+ Closes #5792
-- runtests: run the DICT server on a random port number
+- runtests: run the DICT server on a random port number
- Removed support for -b (base port number)
+ Removed support for -b (base port number)
- Closes #5783
+ Closes #5783
- RELEASE-NOTES: synced
-- runtests: move the TELNET server to a dynamic port
+- runtests: move the TELNET server to a dynamic port
+
+ Rename the port variable to TELNETPORT to better match the existing
+ pattern.
- Rename the port variable to TELNETPORT to better match the existing
- pattern.
-
- Closes #5785
+ Closes #5785
-- ngtcp2: adapt to error code rename
+- ngtcp2: adapt to error code rename
- Closes #5786
+ Closes #5786
-- runtests: move the smbserver to use a dynamic port number
+- runtests: move the smbserver to use a dynamic port number
- Closes #5782
+ Closes #5782
-- runtests: run the http2 tests on a random port number
+- runtests: run the http2 tests on a random port number
- Closes #5779
-
-- gtls: survive not being able to get name/issuer
+ Closes #5779
+
+- gtls: survive not being able to get name/issuer
- Closes #5778
+ Closes #5778
-- runtests: move the gnutls-serv tests to a dynamic port
+- runtests: move the gnutls-serv tests to a dynamic port
- Affects test 320, 321, 322 and 324.
+ Affects test 320, 321, 322 and 324.
- Closes #5778
-
-- runtests: support dynamicly base64 encoded sections in tests
+ Closes #5778
+
+- runtests: support dynamicly base64 encoded sections in tests
- This allows us to make test cases to use base64 at run-time and still
- use and verify information determined at run-time, such as the IMAP test
- server's port number in test 842.
+ This allows us to make test cases to use base64 at run-time and still
+ use and verify information determined at run-time, such as the IMAP test
+ server's port number in test 842.
- This change makes 12 tests run again that basically never ran since we
- moved to dynamic port numbers.
+ This change makes 12 tests run again that basically never ran since we
+ moved to dynamic port numbers.
- ftpserver.pl is adjusted to load test instructions and test number from
- the preprocessed test file.
+ ftpserver.pl is adjusted to load test instructions and test number from
+ the preprocessed test file.
- FILEFORMAT.md now documents the new base64 encoding syntax.
+ FILEFORMAT.md now documents the new base64 encoding syntax.
- Reported-by: Marcel Raad
- Fixes #5761
- Closes #5775
+ Reported-by: Marcel Raad
+ Fixes #5761
+ Closes #5775
-- curl.1: add a few missing valid exit codes
+- curl.1: add a few missing valid exit codes
- 93 - 96 can be returned as well.
+ 93 - 96 can be returned as well.
- Closes #5777
+ Closes #5777
-- TODO: Use multiple parallel transfers for a single download
-
- Closes #5774
+- TODO: Use multiple parallel transfers for a single download
+
+ Closes #5774
-- TODO: Set the modification date on an uploaded file
+- TODO: Set the modification date on an uploaded file
- Closes #5768
+ Closes #5768
-- [Thomas M. DuBuisson brought this change]
+- [Thomas M. DuBuisson brought this change]
- CI: Add muse CI config
+ CI: Add muse CI config
- Closes #5772
+ Closes #5772
-- [Thomas M. DuBuisson brought this change]
+- [Thomas M. DuBuisson brought this change]
- travis/script.sh: fix use of `-n' with unquoted envvar
+ travis/script.sh: fix use of `-n' with unquoted envvar
- Shellcheck tells us "-n doesn't work with unquoted arguments. quote or
- use [[ ]]."
+ Shellcheck tells us "-n doesn't work with unquoted arguments. quote or
+ use [[ ]]."
- And testing shows:
+ And testing shows:
- ```
- docker run --rm -it ubuntu bash
- root@fe85ce156856:/# [ -n $DOES_NOT_EXIST ] && echo "I ran"
- I ran
- root@fe85ce156856:/# [ -n "$DOES_NOT_EXIST" ] && echo "I ran"
- root@fe85ce156856:/#
- ```
+ ```
+ docker run --rm -it ubuntu bash
+ root@fe85ce156856:/# [ -n $DOES_NOT_EXIST ] && echo "I ran"
+ I ran
+ root@fe85ce156856:/# [ -n "$DOES_NOT_EXIST" ] && echo "I ran"
+ root@fe85ce156856:/#
+ ```
- Closes #5773
+ Closes #5773
-- h2: repair trailer handling
+- h2: repair trailer handling
- The previous h2 trailer fix in 54a2b63 was wrong and caused a
- regression: it cannot deal with trailers immediately when read since
- they may be read off the connection by the wrong 'data' owner.
+ The previous h2 trailer fix in 54a2b63 was wrong and caused a
+ regression: it cannot deal with trailers immediately when read since
+ they may be read off the connection by the wrong 'data' owner.
- This change reverts the logic back to gathering all trailers into a
- single buffer, like before 54a2b63.
+ This change reverts the logic back to gathering all trailers into a
+ single buffer, like before 54a2b63.
- Reported-by: Tadej Vengust
- Fixes #5663
- Closes #5769
+ Reported-by: Tadej Vengust
+ Fixes #5663
+ Closes #5769
-Viktor Szakats (3 Aug 2020)
-- windows: disable Unix Sockets for old mingw
+Viktor Szakats (3 Aug 2020)
+- windows: disable Unix Sockets for old mingw
+
+ Classic mingw and 10y+ old versions of mingw-w64 don't ship with
+ Windows headers having the typedef necessary for Unix Sockets
+ support, so try detecting these environments to disable this
+ feature.
+
+ Ref: https://sourceforge.net/p/mingw-w64/mingw-w64/ci/cf6afc57179a5910621215f8f4037d406892072c/
- Classic mingw and 10y+ old versions of mingw-w64 don't ship with
- Windows headers having the typedef necessary for Unix Sockets
- support, so try detecting these environments to disable this
- feature.
+ Reviewed-by: Daniel Stenberg
- Ref: https://sourceforge.net/p/mingw-w64/mingw-w64/ci/cf6afc57179a5910621215f8f4037d406892072c/
-
- Reviewed-by: Daniel Stenberg
-
- Fixes #5674
- Closes #5758
+ Fixes #5674
+ Closes #5758
-Marcel Raad (3 Aug 2020)
-- test1908: treat file as text
+Marcel Raad (3 Aug 2020)
+- test1908: treat file as text
- Fixes the line endings on Windows.
+ Fixes the line endings on Windows.
- Closes https://github.com/curl/curl/pull/5767
+ Closes https://github.com/curl/curl/pull/5767
-- TrackMemory tests: ignore realloc and free in getenv.c
+- TrackMemory tests: ignore realloc and free in getenv.c
- These are only called for WIN32.
+ These are only called for WIN32.
- Closes https://github.com/curl/curl/pull/5767
+ Closes https://github.com/curl/curl/pull/5767
+
+Daniel Stenberg (3 Aug 2020)
+- tests/FILEFORMAT.md: mention %HTTP2PORT
-Daniel Stenberg (3 Aug 2020)
-- tests/FILEFORMAT.md: mention %HTTP2PORT
-
- RELEASE-NOTES: synced
-- tlsv1.3.d. only for TLS-using connections
+- tlsv1.3.d. only for TLS-using connections
- ... and rephrase that "not all" TLS backends support it.
+ ... and rephrase that "not all" TLS backends support it.
- Closes #5764
+ Closes #5764
-- tls-max.d: this option is only for TLS-using connections
-
- Ref: #5763
- Closes #5764
+- tls-max.d: this option is only for TLS-using connections
+
+ Ref: #5763
+ Closes #5764
-Marcel Raad (2 Aug 2020)
-- [Cameron Cawley brought this change]
-
- tool_doswin: Simplify Windows version detection
+Marcel Raad (2 Aug 2020)
+- [Cameron Cawley brought this change]
+
+ tool_doswin: Simplify Windows version detection
- Closes https://github.com/curl/curl/pull/5754
+ Closes https://github.com/curl/curl/pull/5754
-- [Cameron Cawley brought this change]
+- [Cameron Cawley brought this change]
- win32: Add Curl_verify_windows_version() to curlx
+ win32: Add Curl_verify_windows_version() to curlx
- Closes https://github.com/curl/curl/pull/5754
+ Closes https://github.com/curl/curl/pull/5754
-- runtests.pl: treat LibreSSL and BoringSSL as OpenSSL
+- runtests.pl: treat LibreSSL and BoringSSL as OpenSSL
- This makes the tests that require the OpenSSL feature also run for
- those two compatible libraries.
+ This makes the tests that require the OpenSSL feature also run for
+ those two compatible libraries.
- Closes https://github.com/curl/curl/pull/5762
+ Closes https://github.com/curl/curl/pull/5762
-Daniel Stenberg (1 Aug 2020)
-- multi: Condition 'extrawait' is always true
+Daniel Stenberg (1 Aug 2020)
+- multi: Condition 'extrawait' is always true
- Reported by Codacy.
+ Reported by Codacy.
- Reviewed-by: Marcel Raad
- Closes #5759
+ Reviewed-by: Marcel Raad
+ Closes #5759
-Marcel Raad (1 Aug 2020)
-- openssl: fix build with LibreSSL < 2.9.1
+Marcel Raad (1 Aug 2020)
+- openssl: fix build with LibreSSL < 2.9.1
- `SSL_CTX_add0_chain_cert` and `SSL_CTX_clear_chain_certs` were
- introduced in LibreSSL 2.9.1 [0].
+ `SSL_CTX_add0_chain_cert` and `SSL_CTX_clear_chain_certs` were
+ introduced in LibreSSL 2.9.1 [0].
- [0] https://github.com/libressl-portable/openbsd/commit/0db809ee178457c8170abfae3931d7bd13abf3ef
+ [0] https://github.com/libressl-portable/openbsd/commit/0db809ee178457c8170abfae3931d7bd13abf3ef
- Closes https://github.com/curl/curl/pull/5757
+ Closes https://github.com/curl/curl/pull/5757
-Daniel Stenberg (1 Aug 2020)
-- [Marc Aldorasi brought this change]
+Daniel Stenberg (1 Aug 2020)
+- [Marc Aldorasi brought this change]
- multi_remove_handle: close unused connect-only connections
+ multi_remove_handle: close unused connect-only connections
- Previously any connect-only connections in a multi handle would be kept
- alive until the multi handle was closed. Since these connections cannot
- be re-used, they can be marked for closure when the associated easy
- handle is removed from the multi handle.
+ Previously any connect-only connections in a multi handle would be kept
+ alive until the multi handle was closed. Since these connections cannot
+ be re-used, they can be marked for closure when the associated easy
+ handle is removed from the multi handle.
- Closes #5749
+ Closes #5749
-- checksrc: invoke script with -D to find .checksrc proper
+- checksrc: invoke script with -D to find .checksrc proper
- Without the -D command line option, checksrc.pl won't know which
- directory to load the ".checksrc" file from when building out of the
- source tree.
+ Without the -D command line option, checksrc.pl won't know which
+ directory to load the ".checksrc" file from when building out of the
+ source tree.
- Reported-by: Marcel Raad
- Fixes #5715
- Closes #5755
+ Reported-by: Marcel Raad
+ Fixes #5715
+ Closes #5755
-- [Carlo Marcelo Arenas Belón brought this change]
+- [Carlo Marcelo Arenas Belón brought this change]
- buildconf: retire ares buildconf invocation
+ buildconf: retire ares buildconf invocation
- no longer needed after 4259d2df7dd95637a4b1e3fb174fe5e5aef81069
+ no longer needed after 4259d2df7dd95637a4b1e3fb174fe5e5aef81069
-- [Carlo Marcelo Arenas Belón brought this change]
+- [Carlo Marcelo Arenas Belón brought this change]
- buildconf: excempt defunct reference to ACLOCAL_FLAGS
+ buildconf: excempt defunct reference to ACLOCAL_FLAGS
- retired with 09f278121e815028adb24d228d8092fc6cb022aa but kept around as
- the name is generic enough that it might be in use and relied upon from
- the environment.
+ retired with 09f278121e815028adb24d228d8092fc6cb022aa but kept around as
+ the name is generic enough that it might be in use and relied upon from
+ the environment.
-- [Carlo Marcelo Arenas Belón brought this change]
+- [Carlo Marcelo Arenas Belón brought this change]
- buildconf: avoid array concatenation in die()
+ buildconf: avoid array concatenation in die()
+
+ reported as error SC2145[1] by shellcheck, but not expected to cause
+ any behavioural differences otherwise.
+
+ [1] https://github.com/koalaman/shellcheck/wiki/SC2145
- reported as error SC2145[1] by shellcheck, but not expected to cause
- any behavioural differences otherwise.
-
- [1] https://github.com/koalaman/shellcheck/wiki/SC2145
-
- Closes #5701
+ Closes #5701
-- travis: add ppc64le and s390x builds
+- travis: add ppc64le and s390x builds
- Closes #5752
+ Closes #5752
-Marc Hoersken (31 Jul 2020)
-- connect: remove redundant message about connect failure
+Marc Hoersken (31 Jul 2020)
+- connect: remove redundant message about connect failure
- Reviewed-by: Daniel Stenberg
+ Reviewed-by: Daniel Stenberg
- Closes #5708
+ Closes #5708
-- tests/sshserver.pl: fix compatibility with OpenSSH for Windows
-
- Follow up to #5721
+- tests/sshserver.pl: fix compatibility with OpenSSH for Windows
+
+ Follow up to #5721
-- CI/azure: install libssh2 for use with msys2-based builds
+- CI/azure: install libssh2 for use with msys2-based builds
+
+ This enables building and running the SFTP tests.
+ Unfortunately OpenSSH for Windows does not support SCP (yet).
- This enables building and running the SFTP tests.
- Unfortunately OpenSSH for Windows does not support SCP (yet).
+ Reviewed-by: Daniel Stenberg
- Reviewed-by: Daniel Stenberg
-
- Closes #5721
+ Closes #5721
-- CI/azure: increase Windows job timeout once again
+- CI/azure: increase Windows job timeout once again
- Avoid aborted jobs due to performance issues on Azure DevOps.
+ Avoid aborted jobs due to performance issues on Azure DevOps.
- Reviewed-by: Daniel Stenberg
- Reviewed-by: Jay Satiro
+ Reviewed-by: Daniel Stenberg
+ Reviewed-by: Jay Satiro
- Closes #5738
+ Closes #5738
-Jay Satiro (30 Jul 2020)
-- TODO: Schannel: 'Add option to allow abrupt server closure'
+Jay Satiro (30 Jul 2020)
+- TODO: Schannel: 'Add option to allow abrupt server closure'
+
+ We should offer an option to allow abrupt server closures (server closes
+ SSL transfer without sending a known termination point such as length of
+ transfer or close_notify alert). Abrupt server closures are usually
+ because of misconfigured or very old servers.
- We should offer an option to allow abrupt server closures (server closes
- SSL transfer without sending a known termination point such as length of
- transfer or close_notify alert). Abrupt server closures are usually
- because of misconfigured or very old servers.
-
- Closes https://github.com/curl/curl/issues/4427
+ Closes https://github.com/curl/curl/issues/4427
-- url: fix CURLU and location following
+- url: fix CURLU and location following
- Prior to this change if the user set a URL handle (CURLOPT_CURLU) it was
- incorrectly used for the location follow, resulting in infinite requests
- to the original location.
+ Prior to this change if the user set a URL handle (CURLOPT_CURLU) it was
+ incorrectly used for the location follow, resulting in infinite requests
+ to the original location.
- Reported-by: sspiri@users.noreply.github.com
+ Reported-by: sspiri@users.noreply.github.com
- Fixes https://github.com/curl/curl/issues/5709
- Closes https://github.com/curl/curl/pull/5713
+ Fixes https://github.com/curl/curl/issues/5709
+ Closes https://github.com/curl/curl/pull/5713
-Daniel Stenberg (30 Jul 2020)
+Daniel Stenberg (30 Jul 2020)
- RELEASE-NOTES: synced
-- [divinity76 brought this change]
-
- docs: add date of 7.20 to CURLM_CALL_MULTI_PERFORM mentions
+- [divinity76 brought this change]
+
+ docs: add date of 7.20 to CURLM_CALL_MULTI_PERFORM mentions
- it helps make it obvious that most developers don't have to care about
- the CURLM_CALL_MULTI_PERFORM value (last release using it is nearly 11
- years old, November 4 2009)
+ it helps make it obvious that most developers don't have to care about
+ the CURLM_CALL_MULTI_PERFORM value (last release using it is nearly 11
+ years old, November 4 2009)
- Closes #5744
+ Closes #5744
-Jay Satiro (29 Jul 2020)
-- tool_cb_wrt: fix outfile mode flags for Windows
+Jay Satiro (29 Jul 2020)
+- tool_cb_wrt: fix outfile mode flags for Windows
+
+ - Use S_IREAD and S_IWRITE mode permission flags to create the file
+ on Windows instead of S_IRUSR, S_IWUSR, etc.
- - Use S_IREAD and S_IWRITE mode permission flags to create the file
- on Windows instead of S_IRUSR, S_IWUSR, etc.
+ Windows only accepts a combination of S_IREAD and S_IWRITE. It does not
+ acknowledge other combinations, for which it may generate an assertion.
- Windows only accepts a combination of S_IREAD and S_IWRITE. It does not
- acknowledge other combinations, for which it may generate an assertion.
+ This is a follow-up to 81b4e99 from yesterday, which improved the
+ existing file check with -J.
- This is a follow-up to 81b4e99 from yesterday, which improved the
- existing file check with -J.
-
- Ref: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/open-wopen#remarks
- Ref: https://github.com/curl/curl/pull/5731
-
- Closes https://github.com/curl/curl/pull/5742
+ Ref: https://docs.microsoft.com/en-us/cpp/c-runtime-library/reference/open-wopen#remarks
+ Ref: https://github.com/curl/curl/pull/5731
+
+ Closes https://github.com/curl/curl/pull/5742
-Daniel Stenberg (28 Jul 2020)
-- checksrc: ban gmtime/localtime
+Daniel Stenberg (28 Jul 2020)
+- checksrc: ban gmtime/localtime
- They're not thread-safe so they should not be used in libcurl code.
+ They're not thread-safe so they should not be used in libcurl code.
- Explictly enabled when deemed necessary and in examples and tests
+ Explictly enabled when deemed necessary and in examples and tests
- Reviewed-by: Nicolas Sterchele
- Closes #5732
+ Reviewed-by: Nicolas Sterchele
+ Closes #5732
-- transfer: fix data_pending for builds with both h2 and h3 enabled
+- transfer: fix data_pending for builds with both h2 and h3 enabled
- Closes #5734
+ Closes #5734
-- curl_multi_setopt: fix compiler warning "result is always false"
+- curl_multi_setopt: fix compiler warning "result is always false"
+
+ On systems with 32 bit long the expression is always false. Avoid
+ the warning.
- On systems with 32 bit long the expression is always false. Avoid
- the warning.
-
- Reported-by: Gisle Vanem
- Bug: https://github.com/curl/curl/commit/61a08508f6a458fe21bbb18cd2a9bac2f039452b#commitcomment-40941232
- Closes #5736
+ Reported-by: Gisle Vanem
+ Bug: https://github.com/curl/curl/commit/61a08508f6a458fe21bbb18cd2a9bac2f039452b#commitcomment-40941232
+ Closes #5736
-- curl: improve the existing file check with -J
+- curl: improve the existing file check with -J
- Previously a file that isn't user-readable but is user-writable would
- not be properly avoided and would get overwritten.
+ Previously a file that isn't user-readable but is user-writable would
+ not be properly avoided and would get overwritten.
- Reported-by: BrumBrum on hackerone
- Assisted-by: Jay Satiro
- Bug: https://hackerone.com/reports/926638
- Closes #5731
+ Reported-by: BrumBrum on hackerone
+ Assisted-by: Jay Satiro
+ Bug: https://hackerone.com/reports/926638
+ Closes #5731
-- [Jonathan Nieder brought this change]
+- [Jonathan Nieder brought this change]
- multi: update comment to say easyp list is linear
+ multi: update comment to say easyp list is linear
- Since 09b9fc900 (multi: remove 'Curl_one_easy' struct, phase 1,
- 2013-08-02), the easy handle list is not circular but ends with
- ->next pointing to NULL.
-
- Reported-by: Masaya Suzuki <masayasuzuki@google.com>
- Closes #5737
+ Since 09b9fc900 (multi: remove 'Curl_one_easy' struct, phase 1,
+ 2013-08-02), the easy handle list is not circular but ends with
+ ->next pointing to NULL.
+
+ Reported-by: Masaya Suzuki <masayasuzuki@google.com>
+ Closes #5737
-- CURLOPT_NOBODY.3: fix the syntax for referring to options
+- CURLOPT_NOBODY.3: fix the syntax for referring to options
- As test 1140 fails otherwise!
+ As test 1140 fails otherwise!
- Follow-up to e1bac81cc815
+ Follow-up to e1bac81cc815
-- ngtcp2: store address in sockaddr_storage
+- ngtcp2: store address in sockaddr_storage
- Reported-by: Tatsuhiro Tsujikawa
- Closes #5733
+ Reported-by: Tatsuhiro Tsujikawa
+ Closes #5733
-- CURLOPT_NOBODY.3: clarify what setting to 0 means
+- CURLOPT_NOBODY.3: clarify what setting to 0 means
- ... and mention that HTTP with other methods than HEAD might get a body and
- there's no option available to stop that.
+ ... and mention that HTTP with other methods than HEAD might get a body and
+ there's no option available to stop that.
- Closes #5729
+ Closes #5729
-- setopt: unset NOBODY switches to GET if still HEAD
+- setopt: unset NOBODY switches to GET if still HEAD
- Unsetting CURLOPT_NOBODY with 0L when doing HTTP has no documented
- action but before 7.71.0 that used to switch back to GET and with this
- change (assuming the method is still set to HEAD) this behavior is
- brought back.
+ Unsetting CURLOPT_NOBODY with 0L when doing HTTP has no documented
+ action but before 7.71.0 that used to switch back to GET and with this
+ change (assuming the method is still set to HEAD) this behavior is
+ brought back.
- Reported-by: causal-agent on github
- Fixes #5725
- Closes #5728
+ Reported-by: causal-agent on github
+ Fixes #5725
+ Closes #5728
-- [Ehren Bendler brought this change]
+- [Ehren Bendler brought this change]
- configure: cleanup wolfssl + pkg-config conflicts when cross compiling.
+ configure: cleanup wolfssl + pkg-config conflicts when cross compiling.
- Also choose a different wolfSSL function to test for NTLM support.
+ Also choose a different wolfSSL function to test for NTLM support.
- Fixes #5605
- Closes #5682
+ Fixes #5605
+ Closes #5682
-- configure: show zstd "no" in summary when built without it
+- configure: show zstd "no" in summary when built without it
- Reported-by: Marc Hörsken
- Fixes #5720
- Closes #5730
+ Reported-by: Marc Hörsken
+ Fixes #5720
+ Closes #5730
-- quiche: handle calling disconnect twice
-
- Reported-by: lilongyan-huawei on github
- Fixes #5726
- Closes #5727
+- quiche: handle calling disconnect twice
+
+ Reported-by: lilongyan-huawei on github
+ Fixes #5726
+ Closes #5727
-- [Nicolas Sterchele brought this change]
+- [Nicolas Sterchele brought this change]
- getinfo: reset retry-after value in initinfo
+ getinfo: reset retry-after value in initinfo
- - Avoid re-using retry_after value from preceding request
- - Add libtest 3010 to verify
+ - Avoid re-using retry_after value from preceding request
+ - Add libtest 3010 to verify
- Reported-by: joey-l-us on github
- Fixes #5661
- Closes #5672
+ Reported-by: joey-l-us on github
+ Fixes #5661
+ Closes #5672
-Marcel Raad (27 Jul 2020)
-- WIN32: stop forcing narrow-character API
+Marcel Raad (27 Jul 2020)
+- WIN32: stop forcing narrow-character API
- Except where the results are only used for character output.
- getenv is not touched because it's part of the public API, and having
- it return UTF-8 instead of ANSI would be a breaking change.
+ Except where the results are only used for character output.
+ getenv is not touched because it's part of the public API, and having
+ it return UTF-8 instead of ANSI would be a breaking change.
- Fixes https://github.com/curl/curl/issues/5658
- Fixes https://github.com/curl/curl/issues/5712
- Closes https://github.com/curl/curl/pull/5718
+ Fixes https://github.com/curl/curl/issues/5658
+ Fixes https://github.com/curl/curl/issues/5712
+ Closes https://github.com/curl/curl/pull/5718
-Jay Satiro (27 Jul 2020)
-- [Tobias Stoeckmann brought this change]
+Jay Satiro (27 Jul 2020)
+- [Tobias Stoeckmann brought this change]
- mprintf: Fix stack overflows
+ mprintf: Fix stack overflows
- Stack overflows can occur with precisions for integers and floats.
+ Stack overflows can occur with precisions for integers and floats.
- Proof of concepts:
- - curl_mprintf("%d, %.*1$d", 500, 1);
- - curl_mprintf("%d, %+0500.*1$f", 500, 1);
+ Proof of concepts:
+ - curl_mprintf("%d, %.*1$d", 500, 1);
+ - curl_mprintf("%d, %+0500.*1$f", 500, 1);
- Ideally, compile with -fsanitize=address which makes this undefined
- behavior a bit more defined for debug purposes.
+ Ideally, compile with -fsanitize=address which makes this undefined
+ behavior a bit more defined for debug purposes.
- The format strings are valid. The overflows occur due to invalid
- arguments. If these arguments are variables with contents controlled
- by an attacker, the function's stack can be corrupted.
+ The format strings are valid. The overflows occur due to invalid
+ arguments. If these arguments are variables with contents controlled
+ by an attacker, the function's stack can be corrupted.
- Also see CVE-2016-9586 which partially fixed the float aspect.
+ Also see CVE-2016-9586 which partially fixed the float aspect.
- Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
+ Signed-off-by: Tobias Stoeckmann <tobias@stoeckmann.org>
- Closes https://github.com/curl/curl/pull/5722
+ Closes https://github.com/curl/curl/pull/5722
-- [Tobias Stoeckmann brought this change]
+- [Tobias Stoeckmann brought this change]
- mprintf: Fix dollar string handling
+ mprintf: Fix dollar string handling
- Verify that specified parameters are in range. If parameters are too
- large, fail early on and avoid out of boundary accesses.
+ Verify that specified parameters are in range. If parameters are too
+ large, fail early on and avoid out of boundary accesses.
- Also do not read behind boundaries of illegal format strings.
+ Also do not read behind boundaries of illegal format strings.
- These are defensive measures since it is expected that format strings
- are well-formed. Format strings should not be modifiable by user
- input due to possible generic format string attacks.
-
- Closes https://github.com/curl/curl/pull/5722
+ These are defensive measures since it is expected that format strings
+ are well-formed. Format strings should not be modifiable by user
+ input due to possible generic format string attacks.
+
+ Closes https://github.com/curl/curl/pull/5722
-Daniel Stenberg (26 Jul 2020)
-- ntlm: free target_info before (re-)malloc
+Daniel Stenberg (26 Jul 2020)
+- ntlm: free target_info before (re-)malloc
+
+ OSS-Fuzz found a way this could get called again with the pointer still
+ pointing to a malloc'ed memory, leading to a leak.
- OSS-Fuzz found a way this could get called again with the pointer still
- pointing to a malloc'ed memory, leading to a leak.
+ Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24379
- Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=24379
-
- Closes #5724
+ Closes #5724
-Marcel Raad (26 Jul 2020)
-- CI/macos: set minimum macOS version
+Marcel Raad (26 Jul 2020)
+- CI/macos: set minimum macOS version
- This enables some deprecation warnings.
- Previously, autotools defaulted to 10.8.
+ This enables some deprecation warnings.
+ Previously, autotools defaulted to 10.8.
- Closes https://github.com/curl/curl/pull/5723
+ Closes https://github.com/curl/curl/pull/5723
-Daniel Stenberg (26 Jul 2020)
+Daniel Stenberg (26 Jul 2020)
- RELEASE-NOTES: synced
-Marcel Raad (25 Jul 2020)
-- CI/macos: enable warnings as errors for CMake builds
+Marcel Raad (25 Jul 2020)
+- CI/macos: enable warnings as errors for CMake builds
- Closes https://github.com/curl/curl/pull/5716
+ Closes https://github.com/curl/curl/pull/5716
-- CMake: fix test for warning suppressions
+- CMake: fix test for warning suppressions
+
+ GCC doesn't warn for unknown `-Wno-` options, except if there are other
+ warnings or errors [0]. This was problematic with `CURL_WERROR` as that
+ warning-as-error cannot be suppressed. Notably, this always happened
+ with `-Wno-pedantic-ms-format` when not targeting Windows. So test for
+ the positive form of the warning instead, which should always result in
+ a diagnostic if unknown.
- GCC doesn't warn for unknown `-Wno-` options, except if there are other
- warnings or errors [0]. This was problematic with `CURL_WERROR` as that
- warning-as-error cannot be suppressed. Notably, this always happened
- with `-Wno-pedantic-ms-format` when not targeting Windows. So test for
- the positive form of the warning instead, which should always result in
- a diagnostic if unknown.
-
- [0] https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
-
- Closes https://github.com/curl/curl/pull/5714
+ [0] https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
+
+ Closes https://github.com/curl/curl/pull/5714
-Jay Satiro (23 Jul 2020)
-- curl.h: update CURLINFO_LASTONE
+Jay Satiro (23 Jul 2020)
+- curl.h: update CURLINFO_LASTONE
- CURLINFO_LASTONE should have been updated when
- CURLINFO_EFFECTIVE_METHOD was added.
+ CURLINFO_LASTONE should have been updated when
+ CURLINFO_EFFECTIVE_METHOD was added.
- Reported-by: xwxbug@users.noreply.github.com
+ Reported-by: xwxbug@users.noreply.github.com
- Fixes https://github.com/curl/curl/issues/5711
+ Fixes https://github.com/curl/curl/issues/5711
-Marc Hoersken (22 Jul 2020)
-- CI/azure: unconditionally enable warnings-as-errors with autotools
+Marc Hoersken (22 Jul 2020)
+- CI/azure: unconditionally enable warnings-as-errors with autotools
- Reviewed-by: Marcel Raad
+ Reviewed-by: Marcel Raad
- Follow up to #5694
- Closes #5706
+ Follow up to #5694
+ Closes #5706
-Marcel Raad (21 Jul 2020)
-- doh: remove redundant cast
+Marcel Raad (21 Jul 2020)
+- doh: remove redundant cast
- Closes https://github.com/curl/curl/pull/5704
+ Closes https://github.com/curl/curl/pull/5704
-- CI/macos: unconditionally enable warnings-as-errors with autotools
+- CI/macos: unconditionally enable warnings-as-errors with autotools
- Previously, warnings were only visible in the output for most jobs.
+ Previously, warnings were only visible in the output for most jobs.
- Closes https://github.com/curl/curl/pull/5694
+ Closes https://github.com/curl/curl/pull/5694
-- util: silence conversion warnings
+- util: silence conversion warnings
- timeval::tv_usec might be a 32-bit integer and timespec::tv_nsec might
- be a 64-bit integer. This is the case when building for recent macOS
- versions, for example. Just treat tv_usec as an int, which should
- hopefully always be sufficient on systems with
- `HAVE_CLOCK_GETTIME_MONOTONIC`.
+ timeval::tv_usec might be a 32-bit integer and timespec::tv_nsec might
+ be a 64-bit integer. This is the case when building for recent macOS
+ versions, for example. Just treat tv_usec as an int, which should
+ hopefully always be sufficient on systems with
+ `HAVE_CLOCK_GETTIME_MONOTONIC`.
- Closes https://github.com/curl/curl/pull/5695
+ Closes https://github.com/curl/curl/pull/5695
-- md(4|5): don't use deprecated macOS functions
+- md(4|5): don't use deprecated macOS functions
- They are marked as deprecated for -mmacosx-version-min >= 10.15,
- which might result in warnings-as-errors.
+ They are marked as deprecated for -mmacosx-version-min >= 10.15,
+ which might result in warnings-as-errors.
- Closes https://github.com/curl/curl/pull/5695
+ Closes https://github.com/curl/curl/pull/5695
-Daniel Stenberg (18 Jul 2020)
-- strdup: remove the odd strlen check
+Daniel Stenberg (18 Jul 2020)
+- strdup: remove the odd strlen check
- It confuses code analyzers with its use of -1 for unsigned value. Also,
- a check that's not normally used in strdup() code - and not necessary.
+ It confuses code analyzers with its use of -1 for unsigned value. Also,
+ a check that's not normally used in strdup() code - and not necessary.
- Closes #5697
+ Closes #5697
-- [Alessandro Ghedini brought this change]
-
- travis: update quiche builds for new boringssl layout
+- [Alessandro Ghedini brought this change]
+
+ travis: update quiche builds for new boringssl layout
+
+ This is required after https://github.com/cloudflare/quiche/pull/593
+ moved BoringSSL around slightly.
- This is required after https://github.com/cloudflare/quiche/pull/593
- moved BoringSSL around slightly.
+ This also means that Go is not needed to build BoringSSL anymore (the
+ one provided by quiche anyway).
- This also means that Go is not needed to build BoringSSL anymore (the
- one provided by quiche anyway).
-
- Closes #5691
+ Closes #5691
-Marcel Raad (17 Jul 2020)
-- configure: allow disabling warnings
+Marcel Raad (17 Jul 2020)
+- configure: allow disabling warnings
- When using `--enable-warnings`, it was not possible to disable warnings
- via CFLAGS that got explicitly enabled. Now warnings are not enabled
- anymore if they are explicitly disabled (or enabled) in CFLAGS. This
- works for at least GCC, clang, and TCC as they have corresponding
- `-Wno-` options for every warning.
+ When using `--enable-warnings`, it was not possible to disable warnings
+ via CFLAGS that got explicitly enabled. Now warnings are not enabled
+ anymore if they are explicitly disabled (or enabled) in CFLAGS. This
+ works for at least GCC, clang, and TCC as they have corresponding
+ `-Wno-` options for every warning.
- Closes https://github.com/curl/curl/pull/5689
+ Closes https://github.com/curl/curl/pull/5689
-Daniel Stenberg (16 Jul 2020)
-- ngtcp2: adjust to recent sockaddr updates
+Daniel Stenberg (16 Jul 2020)
+- ngtcp2: adjust to recent sockaddr updates
- Closes #5690
+ Closes #5690
-- page-header: provide protocol details in the curl.1 man page
+- page-header: provide protocol details in the curl.1 man page
- Add protocol and version specific information about all protocols curl
- supports.
+ Add protocol and version specific information about all protocols curl
+ supports.
- Fixes #5679
- Reported-by: tbugfinder on github
- Closes #5686
+ Fixes #5679
+ Reported-by: tbugfinder on github
+ Closes #5686
-Daniel Gustafsson (16 Jul 2020)
-- docs: Update a few leftover mentions of DarwinSSL
+Daniel Gustafsson (16 Jul 2020)
+- docs: Update a few leftover mentions of DarwinSSL
- Commit 76a9c3c4be10b3d4d379d5b23ca76806bbae536a renamed DarwinSSL to the
- more correct/common name Secure Transport, but a few mentions in the docs
- remained.
+ Commit 76a9c3c4be10b3d4d379d5b23ca76806bbae536a renamed DarwinSSL to the
+ more correct/common name Secure Transport, but a few mentions in the docs
+ remained.
- Closes #5688
- Reviewed-by: Daniel Stenberg <daniel@haxx.se>
+ Closes #5688
+ Reviewed-by: Daniel Stenberg <daniel@haxx.se>
-Daniel Stenberg (16 Jul 2020)
-- file2memory: use a define instead of -1 unsigned value
+Daniel Stenberg (16 Jul 2020)
+- file2memory: use a define instead of -1 unsigned value
- ... to use the maximum value for 'size_t' when detecting integer overflow.
- Changed the limit to max/4 as already that seems unreasonably large.
+ ... to use the maximum value for 'size_t' when detecting integer overflow.
+ Changed the limit to max/4 as already that seems unreasonably large.
- Codacy didn't like the previous approach.
+ Codacy didn't like the previous approach.
- Closes #5683
+ Closes #5683
-- CURL_PUSH_ERROROUT: allow the push callback to fail the parent stream
+- CURL_PUSH_ERROROUT: allow the push callback to fail the parent stream
- ... by adding support for a new dedicated return code.
+ ... by adding support for a new dedicated return code.
- Suggested-by: Jonathan Cardoso
- Assisted-by: Erik Johansson
- URL: https://curl.haxx.se/mail/lib-2020-06/0099.html
- Closes #5636
+ Suggested-by: Jonathan Cardoso
+ Assisted-by: Erik Johansson
+ URL: https://curl.haxx.se/mail/lib-2020-06/0099.html
+ Closes #5636
+
+- [Baruch Siach brought this change]
-- [Baruch Siach brought this change]
-
- nss: fix build with disabled proxy support
+ nss: fix build with disabled proxy support
- Avoid reference to fields that do not exist when CURL_DISABLE_PROXY is
- defined.
+ Avoid reference to fields that do not exist when CURL_DISABLE_PROXY is
+ defined.
- Closes #5667
+ Closes #5667
-- test1139: make it display the difference on test failures
+- test1139: make it display the difference on test failures
-- test1119: verify stdout in the test
+- test1119: verify stdout in the test
- So that failures will be displayed in the terminal, as it makes test failures
- visually displayed easier and faster.
+ So that failures will be displayed in the terminal, as it makes test failures
+ visually displayed easier and faster.
- Closes #5644
-
-- curl: add %{method} to the -w variables
+ Closes #5644
+
+- curl: add %{method} to the -w variables
- Gets the CURLINFO_EFFECTIVE_METHOD from libcurl.
+ Gets the CURLINFO_EFFECTIVE_METHOD from libcurl.
- Added test 1197 to verify.
+ Added test 1197 to verify.
-- CURLINFO_EFFECTIVE_METHOD: added
+- CURLINFO_EFFECTIVE_METHOD: added
+
+ Provide the HTTP method that was used on the latest request, which might
+ be relevant for users when there was one or more redirects involved.
- Provide the HTTP method that was used on the latest request, which might
- be relevant for users when there was one or more redirects involved.
-
- Closes #5511
+ Closes #5511
-Viktor Szakats (14 Jul 2020)
-- windows: add unicode to feature list
+Viktor Szakats (14 Jul 2020)
+- windows: add unicode to feature list
- Reviewed-by: Marcel Raad
- Reviewed-by: Marc Hörsken
+ Reviewed-by: Marcel Raad
+ Reviewed-by: Marc Hörsken
+
+ Closes #5491
+
+Daniel Stenberg (14 Jul 2020)
+- multi: remove two checks always true
- Closes #5491
+ Detected by Codacy
+ Closes #5676
-Daniel Stenberg (14 Jul 2020)
-- multi: remove two checks always true
+Marc Hoersken (13 Jul 2020)
+- workflows: limit what branches to run CodeQL on
- Detected by Codacy
- Closes #5676
-
-Marc Hoersken (13 Jul 2020)
-- workflows: limit what branches to run CodeQL on
+ Align CodeQL action with existing CI actions:
+ - Update branch filter to avoid duplicate CI runs.
+ - Shorten workflow name due to informative job name.
- Align CodeQL action with existing CI actions:
- - Update branch filter to avoid duplicate CI runs.
- - Shorten workflow name due to informative job name.
+ Reviewed-by: Daniel Stenberg
- Reviewed-by: Daniel Stenberg
-
- Closes #5660
+ Closes #5660
-- appveyor: collect libcurl.dll variants with prefix or suffix
+- appveyor: collect libcurl.dll variants with prefix or suffix
- On some platforms libcurl is build with a platform-specific
- prefix and/or a version number suffix.
+ On some platforms libcurl is build with a platform-specific
+ prefix and/or a version number suffix.
- Assisted-by: Jay Satiro
+ Assisted-by: Jay Satiro
- Closes #5659
+ Closes #5659
-Daniel Stenberg (12 Jul 2020)
-- [ihsinme brought this change]
+Daniel Stenberg (12 Jul 2020)
+- [ihsinme brought this change]
- socks: use size_t for size variable
-
- Use the unsigned type (size_t) in the arithmetic of pointers. In this
- context, the signed type (ssize_t) is used unnecessarily.
-
- Authored-by: ihsinme on github
- Closes #5654
+ socks: use size_t for size variable
+
+ Use the unsigned type (size_t) in the arithmetic of pointers. In this
+ context, the signed type (ssize_t) is used unnecessarily.
+
+ Authored-by: ihsinme on github
+ Closes #5654
-- RELEASE-NOTES: synced
-
- ... and bumped to 7.72.0 as the next release version number
+- RELEASE-NOTES: synced
+
+ ... and bumped to 7.72.0 as the next release version number
-- [Gilles Vollant brought this change]
+- [Gilles Vollant brought this change]
- content_encoding: add zstd decoding support
-
- include zstd curl patch for Makefile.m32 from vszakats
- and include Add CMake support for zstd from Peter Wu
-
- Helped-by: Viktor Szakats
- Helped-by: Peter Wu
- Closes #5453
+ content_encoding: add zstd decoding support
+
+ include zstd curl patch for Makefile.m32 from vszakats
+ and include Add CMake support for zstd from Peter Wu
+
+ Helped-by: Viktor Szakats
+ Helped-by: Peter Wu
+ Closes #5453
-- asyn.h: remove the Curl_resolver_getsock define
-
- - not used
- - used the wrong number of arguments
- - confused the Codeacy code analyzer
-
- Closes #5647
+- asyn.h: remove the Curl_resolver_getsock define
+
+ - not used
+ - used the wrong number of arguments
+ - confused the Codeacy code analyzer
+
+ Closes #5647
-- [Nicolas Sterchele brought this change]
+- [Nicolas Sterchele brought this change]
- configure.ac: Sort features name in summary
+ configure.ac: Sort features name in summary
+
+ - Same as protocols
- - Same as protocols
-
- Closes #5656
+ Closes #5656
-- [Matthias Naegler brought this change]
+- [Matthias Naegler brought this change]
- cmake: fix windows xp build
+ cmake: fix windows xp build
- Reviewed-by: Marcel Raad
- Closes #5662
+ Reviewed-by: Marcel Raad
+ Closes #5662
-- ngtcp2: update to modified qlog callback prototype
+- ngtcp2: update to modified qlog callback prototype
- Closes #5675
+ Closes #5675
-- transfer: fix memory-leak with CURLOPT_CURLU in a duped handle
+- transfer: fix memory-leak with CURLOPT_CURLU in a duped handle
- Added test case 674 to reproduce and verify the bug report.
+ Added test case 674 to reproduce and verify the bug report.
- Fixes #5665
- Reported-by: NobodyXu on github
- Closes #5673
+ Fixes #5665
+ Reported-by: NobodyXu on github
+ Closes #5673
+
+- [Baruch Siach brought this change]
-- [Baruch Siach brought this change]
+ bearssl: fix build with disabled proxy support
+
+ Avoid reference to fields that do not exist when CURL_DISABLE_PROXY is
+ defined.
+
+ Reviewed-by: Nicolas Sterchele
+ Closes #5666
- bearssl: fix build with disabled proxy support
-
- Avoid reference to fields that do not exist when CURL_DISABLE_PROXY is
- defined.
-
- Reviewed-by: Nicolas Sterchele
- Closes #5666
+- RELEASE-NOTES: synced
-- RELEASE-NOTES: synced
+Jay Satiro (11 Jul 2020)
+- [Carlo Marcelo Arenas Belón brought this change]
-Jay Satiro (11 Jul 2020)
-- [Carlo Marcelo Arenas Belón brought this change]
-
- cirrus-ci: upgrade 11-STABLE to 11.4
+ cirrus-ci: upgrade 11-STABLE to 11.4
- Meant to be the last of the 11 series and so make sure that all
- other references reflect all 11 versions so they can be retired
- together later.
-
- Closes https://github.com/curl/curl/pull/5668
+ Meant to be the last of the 11 series and so make sure that all
+ other references reflect all 11 versions so they can be retired
+ together later.
+
+ Closes https://github.com/curl/curl/pull/5668
-- [Filip Salomonsson brought this change]
+- [Filip Salomonsson brought this change]
- CURLINFO_CERTINFO.3: fix typo
+ CURLINFO_CERTINFO.3: fix typo
- Closes https://github.com/curl/curl/pull/5655
-
-Daniel Stenberg (4 Jul 2020)
-- http2: only do the *done() cleanups for HTTP
+ Closes https://github.com/curl/curl/pull/5655
+
+Daniel Stenberg (4 Jul 2020)
+- http2: only do the *done() cleanups for HTTP
- Follow-up to ef86daf4d3
+ Follow-up to ef86daf4d3
- Closes #5650
- Fixes #5646
+ Closes #5650
+ Fixes #5646
-- [Alex Kiernan brought this change]
-
- gnutls: repair the build with `CURL_DISABLE_PROXY`
+- [Alex Kiernan brought this change]
+
+ gnutls: repair the build with `CURL_DISABLE_PROXY`
- `http_proxy`/`proxy_ssl`/`tunnel_proxy` will not be available in `conn`
- if `CURL_DISABLE_PROXY` is enabled. Repair the build with that
- configuration.
+ `http_proxy`/`proxy_ssl`/`tunnel_proxy` will not be available in `conn`
+ if `CURL_DISABLE_PROXY` is enabled. Repair the build with that
+ configuration.
- Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
- Closes #5645
+ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+ Closes #5645
-Alex Kiernan (3 Jul 2020)
-- gnutls: Fetch backend when using proxy
+Alex Kiernan (3 Jul 2020)
+- gnutls: Fetch backend when using proxy
- Fixes: 89865c149 ("gnutls: remove the BACKEND define kludge")
- Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
+ Fixes: 89865c149 ("gnutls: remove the BACKEND define kludge")
+ Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
-Daniel Stenberg (3 Jul 2020)
-- [Laramie Leavitt brought this change]
+Daniel Stenberg (3 Jul 2020)
+- [Laramie Leavitt brought this change]
- http2: close the http2 connection when no more requests may be sent
+ http2: close the http2 connection when no more requests may be sent
+
+ Well-behaving HTTP2 servers send two GOAWAY messages. The first
+ message is a warning that indicates that the server is going to
+ stop accepting streams. The second one actually closes the stream.
+
+ nghttp2 reports this state (and the other state of no more stream
+ identifiers) via the call nghttp2_session_check_request_allowed().
+ In this state the client should not create more streams on the
+ session (tcp connection), and in curl this means that the server
+ has requested that the connection is closed.
- Well-behaving HTTP2 servers send two GOAWAY messages. The first
- message is a warning that indicates that the server is going to
- stop accepting streams. The second one actually closes the stream.
+ It would be also be possible to put the connclose() call into the
+ on_http2_frame_recv() function that triggers on the GOAWAY message.
- nghttp2 reports this state (and the other state of no more stream
- identifiers) via the call nghttp2_session_check_request_allowed().
- In this state the client should not create more streams on the
- session (tcp connection), and in curl this means that the server
- has requested that the connection is closed.
+ This fixes a bug seen when the client sees the following sequence of
+ frames:
- It would be also be possible to put the connclose() call into the
- on_http2_frame_recv() function that triggers on the GOAWAY message.
+ // advisory GOAWAY
+ HTTP2 GOAWAY [stream-id = 0, promised-stream-id = -1]
+ ... some additional frames
- This fixes a bug seen when the client sees the following sequence of
- frames:
+ // final GOAWAY
+ HTTP2 GOAWAY [stream-id = 0, promised-stream-id = N ]
- // advisory GOAWAY
- HTTP2 GOAWAY [stream-id = 0, promised-stream-id = -1]
- ... some additional frames
+ Before this change, curl will attempt to reuse the connection even
+ after the last stream, will encounter this error:
- // final GOAWAY
- HTTP2 GOAWAY [stream-id = 0, promised-stream-id = N ]
+ * Found bundle for host localhost: 0x5595f0a694e0 [can multiplex]
+ * Re-using existing connection! (#0) with host localhost
+ * Connected to localhost (::1) port 10443 (#0)
+ * Using Stream ID: 9 (easy handle 0x5595f0a72e30)
+ > GET /index.html?5 HTTP/2
+ > Host: localhost:10443
+ > user-agent: curl/7.68.0
+ > accept: */*
+ >
+ * stopped the pause stream!
+ * Connection #0 to host localhost left intact
+ curl: (16) Error in the HTTP2 framing layer
- Before this change, curl will attempt to reuse the connection even
- after the last stream, will encounter this error:
-
- * Found bundle for host localhost: 0x5595f0a694e0 [can multiplex]
- * Re-using existing connection! (#0) with host localhost
- * Connected to localhost (::1) port 10443 (#0)
- * Using Stream ID: 9 (easy handle 0x5595f0a72e30)
- > GET /index.html?5 HTTP/2
- > Host: localhost:10443
- > user-agent: curl/7.68.0
- > accept: */*
- >
- * stopped the pause stream!
- * Connection #0 to host localhost left intact
- curl: (16) Error in the HTTP2 framing layer
-
- This error may posion the connection cache, causing future requests
- which resolve to the same curl connection to go through the same error
- path.
-
- Closes #5643
+ This error may posion the connection cache, causing future requests
+ which resolve to the same curl connection to go through the same error
+ path.
+
+ Closes #5643
-- ftpserver: don't verify SMTP MAIL FROM names
+- ftpserver: don't verify SMTP MAIL FROM names
- Rely on tests asking the names to get refused instead - test servers
- should be as dumb as possible. Edited test 914, 955 and 959 accordingly.
+ Rely on tests asking the names to get refused instead - test servers
+ should be as dumb as possible. Edited test 914, 955 and 959 accordingly.
- Closes #5639
+ Closes #5639
-- curl_version_info.3: CURL_VERSION_KERBEROS4 is deprecated
+- curl_version_info.3: CURL_VERSION_KERBEROS4 is deprecated
- This came up in #5640. It make sense to clarify this in the docs!
+ This came up in #5640. It make sense to clarify this in the docs!
- Reminded-by: Kamil Dudka
- Closes #5642
+ Reminded-by: Kamil Dudka
+ Closes #5642
-Kamil Dudka (3 Jul 2020)
-- tool_getparam: make --krb option work again
+Kamil Dudka (3 Jul 2020)
+- tool_getparam: make --krb option work again
- It was disabled by mistake in commit curl-7_37_1-23-ge38ba4301.
+ It was disabled by mistake in commit curl-7_37_1-23-ge38ba4301.
- Bug: https://bugzilla.redhat.com/1833193
- Closes #5640
-
-Daniel Stenberg (2 Jul 2020)
-- [Jeremy Maitin-Shepard brought this change]
-
- http2: fix nghttp2_strerror -> nghttp2_http2_strerror in debug messages
+ Bug: https://bugzilla.redhat.com/1833193
+ Closes #5640
+
+Daniel Stenberg (2 Jul 2020)
+- [Jeremy Maitin-Shepard brought this change]
+
+ http2: fix nghttp2_strerror -> nghttp2_http2_strerror in debug messages
- Confusingly, nghttp2 has two different error code enums:
+ Confusingly, nghttp2 has two different error code enums:
- - nghttp2_error, to be used with nghttp2_strerror
- - nghttp2_error_code, to be used with nghttp2_http2_strerror
+ - nghttp2_error, to be used with nghttp2_strerror
+ - nghttp2_error_code, to be used with nghttp2_http2_strerror
- Closes #5641
+ Closes #5641
-Marcel Raad (2 Jul 2020)
-- url: silence MSVC warning
+Marcel Raad (2 Jul 2020)
+- url: silence MSVC warning
- Since commit f3d501dc678, if proxy support is disabled, MSVC warns:
- url.c : warning C4701: potentially uninitialized local variable
- 'hostaddr' used
- url.c : error C4703: potentially uninitialized local pointer variable
- 'hostaddr' used
+ Since commit f3d501dc678, if proxy support is disabled, MSVC warns:
+ url.c : warning C4701: potentially uninitialized local variable
+ 'hostaddr' used
+ url.c : error C4703: potentially uninitialized local pointer variable
+ 'hostaddr' used
- That could actually only happen if both `conn->bits.proxy` and
- `CURL_DISABLE_PROXY` were enabled.
- Initialize it to NULL to silence the warning.
+ That could actually only happen if both `conn->bits.proxy` and
+ `CURL_DISABLE_PROXY` were enabled.
+ Initialize it to NULL to silence the warning.
- Closes https://github.com/curl/curl/pull/5638
+ Closes https://github.com/curl/curl/pull/5638
-Daniel Stenberg (1 Jul 2020)
+Daniel Stenberg (1 Jul 2020)
- RELEASE-NOTES: synced
-Version 7.71.1 (30 Jun 2020)
+Version 7.71.1 (30 Jun 2020)
+
+Daniel Stenberg (30 Jun 2020)
+- RELEASE-NOTES: curl 7.71.1
-Daniel Stenberg (30 Jun 2020)
-- RELEASE-NOTES: curl 7.71.1
+- THANKS: add contributors to 7.71.1
-- THANKS: add contributors to 7.71.1
+- scripts/copyright.pl: skip .dcignore
-- scripts/copyright.pl: skip .dcignore
-
-- Revert "multi: implement wait using winsock events"
+- Revert "multi: implement wait using winsock events"
- This reverts commit 8bc25c590e530de87595d1bb3577f699eb1309b9.
+ This reverts commit 8bc25c590e530de87595d1bb3577f699eb1309b9.
- That commit (from #5397) introduced a regression in 7.71.0.
+ That commit (from #5397) introduced a regression in 7.71.0.
- Reported-by: tmkk on github
- Fixes #5631
- Closes #5632
+ Reported-by: tmkk on github
+ Fixes #5631
+ Closes #5632
+
+- TODO: Add flag to specify download directory
+
+- TODO: return code to CURLMOPT_PUSHFUNCTION to fail connection
-- TODO: Add flag to specify download directory
-
-- TODO: return code to CURLMOPT_PUSHFUNCTION to fail connection
-
-- cirrus-ci: disable FreeBSD 13 (again)
+- cirrus-ci: disable FreeBSD 13 (again)
- It has been failing for a good while again. This time we better leave it
- disabled until we have more reason to believe it behaves.
+ It has been failing for a good while again. This time we better leave it
+ disabled until we have more reason to believe it behaves.
- Closes #5628
+ Closes #5628
-- ngtcp2: sync with current master
+- ngtcp2: sync with current master
- ngtcp2 added two new callbacks
-
- Reported-by: Lucien Zürcher
- Fixes #5624
- Closes #5627
+ ngtcp2 added two new callbacks
+
+ Reported-by: Lucien Zürcher
+ Fixes #5624
+ Closes #5627
-- examples/multithread.c: call curl_global_cleanup()
+- examples/multithread.c: call curl_global_cleanup()
- Reported-by: qiandu2006 on github
- Fixes #5622
- Closes #5623
+ Reported-by: qiandu2006 on github
+ Fixes #5622
+ Closes #5623
-- vtls: compare cert blob when finding a connection to reuse
+- vtls: compare cert blob when finding a connection to reuse
- Reported-by: Gergely Nagy
- Fixes #5617
- Closes #5619
+ Reported-by: Gergely Nagy
+ Fixes #5617
+ Closes #5619
-- RELEASE-NOTES: synced
+- RELEASE-NOTES: synced
-- terminology: call them null-terminated strings
+- terminology: call them null-terminated strings
+
+ Updated terminology in docs, comments and phrases to refer to C strings
+ as "null-terminated". Done to unify with how most other C oriented docs
+ refer of them and what users in general seem to prefer (based on a
+ single highly unscientific poll on twitter).
- Updated terminology in docs, comments and phrases to refer to C strings
- as "null-terminated". Done to unify with how most other C oriented docs
- refer of them and what users in general seem to prefer (based on a
- single highly unscientific poll on twitter).
-
- Reported-by: coinhubs on github
- Fixes #5598
- Closes #5608
+ Reported-by: coinhubs on github
+ Fixes #5598
+ Closes #5608
-- http: fix proxy auth with blank password
-
- Regression in 7.71.0
-
- Added test case 346 to verify.
-
- Reported-by: Kristoffer Gleditsch
- Fixes #5613
- Closes #5616
+- http: fix proxy auth with blank password
+
+ Regression in 7.71.0
+
+ Added test case 346 to verify.
+
+ Reported-by: Kristoffer Gleditsch
+ Fixes #5613
+ Closes #5616
-- .dcignore: ignore tests and docs directories
+- .dcignore: ignore tests and docs directories
- This is a config file for deepcode.ai, a static code analyzer.
+ This is a config file for deepcode.ai, a static code analyzer.
-Jay Satiro (26 Jun 2020)
-- tool_cb_hdr: Fix etag warning output and return code
+Jay Satiro (26 Jun 2020)
+- tool_cb_hdr: Fix etag warning output and return code
+
+ - Return 'failure' on failure, to follow the existing style.
+
+ - Put Warning: and the warning message on the same line.
- - Return 'failure' on failure, to follow the existing style.
+ Ref: https://github.com/curl/curl/issues/5610
- - Put Warning: and the warning message on the same line.
-
- Ref: https://github.com/curl/curl/issues/5610
-
- Closes https://github.com/curl/curl/pull/5612
+ Closes https://github.com/curl/curl/pull/5612
-Daniel Stenberg (26 Jun 2020)
-- CURLOPT_READFUNCTION.3: provide the upload data size up front
+Daniel Stenberg (26 Jun 2020)
+- CURLOPT_READFUNCTION.3: provide the upload data size up front
- Assisted-by: Jay Satiro
- Closes #5607
+ Assisted-by: Jay Satiro
+ Closes #5607
-- test1539: do a HTTP 1.0 POST without a set size (fails)
+- test1539: do a HTTP 1.0 POST without a set size (fails)
- Attempt to reproduce #5593. Test case 1514 is very similar but uses
- HTTP/1.1 and thus switches to chunked.
+ Attempt to reproduce #5593. Test case 1514 is very similar but uses
+ HTTP/1.1 and thus switches to chunked.
- Closes #5595
+ Closes #5595
-- [Baruch Siach brought this change]
+- [Baruch Siach brought this change]
- mbedtls: fix build with disabled proxy support
+ mbedtls: fix build with disabled proxy support
- Don't reference fields that do not exist. Fixes build failure:
+ Don't reference fields that do not exist. Fixes build failure:
- vtls/mbedtls.c: In function 'mbed_connect_step1':
- vtls/mbedtls.c:249:54: error: 'struct connectdata' has no member named 'http_proxy'
+ vtls/mbedtls.c: In function 'mbed_connect_step1':
+ vtls/mbedtls.c:249:54: error: 'struct connectdata' has no member named 'http_proxy'
- Closes #5615
-
-- codeql-analysis.yml: fix the 'languages' setting
+ Closes #5615
+
+- codeql-analysis.yml: fix the 'languages' setting
- It needs a 'with:' in front of it.
+ It needs a 'with:' in front of it.
-GitHub (26 Jun 2020)
-- [Daniel Stenberg brought this change]
+GitHub (26 Jun 2020)
+- [Daniel Stenberg brought this change]
- gtihub: codeql-analysis.yml
+ gtihub: codeql-analysis.yml
- enables code security scanning with github actions
+ enables code security scanning with github actions
-Daniel Stenberg (25 Jun 2020)
-- tests: verify newline in username and password for HTTP
+Daniel Stenberg (25 Jun 2020)
+- tests: verify newline in username and password for HTTP
- test 1296 is a simply command line test
+ test 1296 is a simply command line test
- test 1910 is a libcurl test including a redirect
-
-- url: allow user + password to contain "control codes" for HTTP(S)
+ test 1910 is a libcurl test including a redirect
+
+- url: allow user + password to contain "control codes" for HTTP(S)
- Reported-by: Jon Johnson Jr
- Fixes #5582
- Closes #5592
+ Reported-by: Jon Johnson Jr
+ Fixes #5582
+ Closes #5592
-- escape: make the URL decode able to reject only %00 bytes
+- escape: make the URL decode able to reject only %00 bytes
- ... or all "control codes" or nothing.
-
- Assisted-by: Nicolas Sterchele
+ ... or all "control codes" or nothing.
+
+ Assisted-by: Nicolas Sterchele
-- http2: set the correct URL in pushed transfers
+- http2: set the correct URL in pushed transfers
- ...previously CURLINFO_EFFECTIVE_URL would report the URL of the
- original "mother transfer", not the actually pushed resource.
+ ...previously CURLINFO_EFFECTIVE_URL would report the URL of the
+ original "mother transfer", not the actually pushed resource.
- Reported-by: Jonathan Cardoso Machado
- Fixes #5589
- Closes #5591
+ Reported-by: Jonathan Cardoso Machado
+ Fixes #5589
+ Closes #5591
-Jay Satiro (25 Jun 2020)
-- [Javier Blazquez brought this change]
+Jay Satiro (25 Jun 2020)
+- [Javier Blazquez brought this change]
- openssl: Fix compilation on Windows when ngtcp2 is enabled
+ openssl: Fix compilation on Windows when ngtcp2 is enabled
+
+ - Include wincrypt before OpenSSL includes so that the latter can
+ properly handle any conflicts between the two.
- - Include wincrypt before OpenSSL includes so that the latter can
- properly handle any conflicts between the two.
-
- Closes https://github.com/curl/curl/pull/5606
+ Closes https://github.com/curl/curl/pull/5606
-Daniel Stenberg (25 Jun 2020)
-- test543: extended to verify zero length input
+Daniel Stenberg (25 Jun 2020)
+- test543: extended to verify zero length input
- As was reported in #5601
+ As was reported in #5601
-- escape: zero length input should return a zero length output
+- escape: zero length input should return a zero length output
- Regression added in 7.71.0.
+ Regression added in 7.71.0.
- Fixes #5601
- Reported-by: Kristoffer Gleditsch
- Closes #5602
+ Fixes #5601
+ Reported-by: Kristoffer Gleditsch
+ Closes #5602
-- Curl_inet_ntop: always check the return code
+- Curl_inet_ntop: always check the return code
- Reported-by: Siva Sivaraman
- Fixes #5412
- Closes #5597
+ Reported-by: Siva Sivaraman
+ Fixes #5412
+ Closes #5597
-- sendf: improve the message on client write errors
+- sendf: improve the message on client write errors
- Replace "Failed writing body (X != Y)" with
- "Failure writing output to destination". Possibly slightly less cryptic.
+ Replace "Failed writing body (X != Y)" with
+ "Failure writing output to destination". Possibly slightly less cryptic.
- Reported-by: coinhubs on github
- Fixes #5594
- Closes #5596
+ Reported-by: coinhubs on github
+ Fixes #5594
+ Closes #5596
- RELEASE-NOTES: synced
-- curlver: start working on 7.71.1
+- curlver: start working on 7.71.1
-- [Denis Baručić brought this change]
+- [Denis Baručić brought this change]
- DYNBUF.md: fix a typo: trail => tail
+ DYNBUF.md: fix a typo: trail => tail
- Closes #5599
+ Closes #5599
-Version 7.71.0 (23 Jun 2020)
+Version 7.71.0 (23 Jun 2020)
-Daniel Stenberg (23 Jun 2020)
-- RELEASE-NOTES: curl 7.71.0 release
+Daniel Stenberg (23 Jun 2020)
+- RELEASE-NOTES: curl 7.71.0 release
-- THANKS: curl 7.71.0 additions
+- THANKS: curl 7.71.0 additions
-- url: make sure pushed streams get an allocated download buffer
+- url: make sure pushed streams get an allocated download buffer
+
+ Follow-up to c4e6968127e876b0
- Follow-up to c4e6968127e876b0
+ When a new transfer is created, as a resuly of an acknowledged push,
+ that transfer needs a download buffer allocated.
- When a new transfer is created, as a resuly of an acknowledged push,
- that transfer needs a download buffer allocated.
-
- Closes #5590
+ Closes #5590
-Jay Satiro (22 Jun 2020)
-- openssl: Don't ignore CA paths when using Windows CA store
+Jay Satiro (22 Jun 2020)
+- openssl: Don't ignore CA paths when using Windows CA store
- This commit changes the behavior of CURLSSLOPT_NATIVE_CA so that it does
- not override CURLOPT_CAINFO / CURLOPT_CAPATH, or the hardcoded default
- locations. Instead the CA store can now be used at the same time.
+ This commit changes the behavior of CURLSSLOPT_NATIVE_CA so that it does
+ not override CURLOPT_CAINFO / CURLOPT_CAPATH, or the hardcoded default
+ locations. Instead the CA store can now be used at the same time.
- The change is due to the impending release. The issue is still being
- discussed. The behavior of CURLSSLOPT_NATIVE_CA is subject to change and
- is now documented as experimental.
-
- Ref: bc052cc (parent commit)
- Ref: https://github.com/curl/curl/issues/5585
+ The change is due to the impending release. The issue is still being
+ discussed. The behavior of CURLSSLOPT_NATIVE_CA is subject to change and
+ is now documented as experimental.
+
+ Ref: bc052cc (parent commit)
+ Ref: https://github.com/curl/curl/issues/5585
-- tool_operate: Don't use Windows CA store as a fallback
+- tool_operate: Don't use Windows CA store as a fallback
+
+ Background:
- Background:
+ 148534d added CURLSSLOPT_NATIVE_CA to use the Windows OS certificate
+ store in libcurl w/ OpenSSL on Windows. CURLSSLOPT_NATIVE_CA overrides
+ CURLOPT_CAINFO if both are set. The curl tool will fall back to
+ CURLSSLOPT_NATIVE_CA if it could not find a certificate bundle to set
+ via CURLOPT_CAINFO.
- 148534d added CURLSSLOPT_NATIVE_CA to use the Windows OS certificate
- store in libcurl w/ OpenSSL on Windows. CURLSSLOPT_NATIVE_CA overrides
- CURLOPT_CAINFO if both are set. The curl tool will fall back to
- CURLSSLOPT_NATIVE_CA if it could not find a certificate bundle to set
- via CURLOPT_CAINFO.
+ Problem:
- Problem:
-
- libcurl may be built with hardcoded paths to a certificate bundle or
- directory, and if CURLSSLOPT_NATIVE_CA is used then those paths are
- ignored.
-
- Solution:
-
- A solution is still being discussed but since there's an impending
- release this commit removes using CURLSSLOPT_NATIVE_CA in the curl tool.
-
- Ref: https://github.com/curl/curl/issues/5585
+ libcurl may be built with hardcoded paths to a certificate bundle or
+ directory, and if CURLSSLOPT_NATIVE_CA is used then those paths are
+ ignored.
+
+ Solution:
+
+ A solution is still being discussed but since there's an impending
+ release this commit removes using CURLSSLOPT_NATIVE_CA in the curl tool.
+
+ Ref: https://github.com/curl/curl/issues/5585
-- openssl: Fix CA fallback logic for OpenSSL 3.0 build
-
- Prior to this change I assume a build error would occur when
- CURL_CA_FALLBACK was used.
-
- Closes https://github.com/curl/curl/pull/5587
+- openssl: Fix CA fallback logic for OpenSSL 3.0 build
+
+ Prior to this change I assume a build error would occur when
+ CURL_CA_FALLBACK was used.
+
+ Closes https://github.com/curl/curl/pull/5587
+
+Daniel Stenberg (22 Jun 2020)
+- copyright: update mismatched copyright years
-Daniel Stenberg (22 Jun 2020)
-- copyright: update mismatched copyright years
+- test1460: verify that -Ji is not ok
-- test1460: verify that -Ji is not ok
-
-- tool_getparam: -i is not OK if -J is used
+- tool_getparam: -i is not OK if -J is used
- Reported-by: sn on hackerone
- Bug: https://curl.haxx.se/docs/CVE-2020-8177.html
-
-- [Peter Wu brought this change]
-
- CMake: ignore INTERFACE_LIBRARY targets for pkg-config file
+ Reported-by: sn on hackerone
+ Bug: https://curl.haxx.se/docs/CVE-2020-8177.html
+
+- [Peter Wu brought this change]
+
+ CMake: ignore INTERFACE_LIBRARY targets for pkg-config file
- Reviewed-by: Marcel Raad
- Fixes #5512
- Closes #5517
+ Reviewed-by: Marcel Raad
+ Fixes #5512
+ Closes #5517
+
+- [Valentyn Korniienko brought this change]
+
+ multibyte: Fixed access-> waccess to file for Windows Plarform
+
+ Reviewed-by: Marcel Raad
+ Closes #5580
-- [Valentyn Korniienko brought this change]
+- altsvc: bump to h3-29
+
+ Closes #5584
- multibyte: Fixed access-> waccess to file for Windows Plarform
+- urlglob: treat literal IPv6 addresses with zone IDs as a host name
- Reviewed-by: Marcel Raad
- Closes #5580
-
-- altsvc: bump to h3-29
+ ... and not as a "glob". Now done by passing the supposed host to the
+ URL parser which supposedly will do a better job at identifying "real"
+ numerical IPv6 addresses.
- Closes #5584
-
-- urlglob: treat literal IPv6 addresses with zone IDs as a host name
+ Reported-by: puckipedia on github
+ Fixes #5576
+ Closes #5579
+
+- test1179: verify error message for non-existing cmdline option
+
+- tool_getparam: repair the error message for unknown flag
- ... and not as a "glob". Now done by passing the supposed host to the
- URL parser which supposedly will do a better job at identifying "real"
- numerical IPv6 addresses.
-
- Reported-by: puckipedia on github
- Fixes #5576
- Closes #5579
+ Follow-up to 9e5669f3880674
+ Detected by Coverity CID 1464582 ("Logically dead code")
+
+ Closes #5577
+
+- FILEFORMAT: describe verify/stderr
-- test1179: verify error message for non-existing cmdline option
-
-- tool_getparam: repair the error message for unknown flag
+- connect: improve happy eyeballs handling
- Follow-up to 9e5669f3880674
- Detected by Coverity CID 1464582 ("Logically dead code")
+ For QUIC but also for regular TCP when the second family runs out of IPs
+ with a failure while the first family is still trying to connect.
- Closes #5577
-
-- FILEFORMAT: describe verify/stderr
-
-- connect: improve happy eyeballs handling
-
- For QUIC but also for regular TCP when the second family runs out of IPs
- with a failure while the first family is still trying to connect.
-
- Separated the timeout handling for IPv4 and IPv6 connections when they
- both have a number of addresses to iterate over.
-
-- ngtcp2: never call fprintf() in lib code in release version
-
-- ngtcp2: fix happy eyeballs quic connect crash
-
- Reported-by: Peter Wu
- Fixes #5565
- Closes #5568
-
-- select: remove the unused ELAPSED_MS() macro
+ Separated the timeout handling for IPv4 and IPv6 connections when they
+ both have a number of addresses to iterate over.
+
+- ngtcp2: never call fprintf() in lib code in release version
+
+- ngtcp2: fix happy eyeballs quic connect crash
- Closes #5573
+ Reported-by: Peter Wu
+ Fixes #5565
+ Closes #5568
-Marc Hoersken (17 Jun 2020)
-- [rcombs brought this change]
-
- multi: implement wait using winsock events
-
- This avoids using a pair of TCP ports to provide wakeup functionality
- for every multi instance on Windows, where socketpair() is emulated
- using a TCP socket on loopback which could in turn lead to socket
- resource exhaustion.
+- select: remove the unused ELAPSED_MS() macro
- Reviewed-by: Gergely Nagy
- Reviewed-by: Marc Hörsken
+ Closes #5573
+
+Marc Hoersken (17 Jun 2020)
+- [rcombs brought this change]
+
+ multi: implement wait using winsock events
- Closes #5397
-
-Daniel Stenberg (17 Jun 2020)
-- manpage: add three missing environment variables
+ This avoids using a pair of TCP ports to provide wakeup functionality
+ for every multi instance on Windows, where socketpair() is emulated
+ using a TCP socket on loopback which could in turn lead to socket
+ resource exhaustion.
- CURL_SSL_BACKEND, QLOGDIR and SSLKEYLOGFILE
+ Reviewed-by: Gergely Nagy
+ Reviewed-by: Marc Hörsken
- Closes #5571
+ Closes #5397
-- RELEASE-NOTES: synced
-
-- configure: for wolfSSL, check for the DES func needed for NTLM
+Daniel Stenberg (17 Jun 2020)
+- manpage: add three missing environment variables
- Also adds pkg-config support for the wolfSSL detection.
+ CURL_SSL_BACKEND, QLOGDIR and SSLKEYLOGFILE
+
+ Closes #5571
-- [Ruurd Beerstra brought this change]
+- RELEASE-NOTES: synced
- ntlm: enable NTLM support with wolfSSL
+- configure: for wolfSSL, check for the DES func needed for NTLM
- When wolfSSL is built with its OpenSSL API layer, it fetures the same DES*
- functions that OpenSSL has. This change take advantage of that.
+ Also adds pkg-config support for the wolfSSL detection.
+
+- [Ruurd Beerstra brought this change]
+
+ ntlm: enable NTLM support with wolfSSL
- Co-authored-by: Daniel Stenberg
- Closes #5556
- Fixes #5548
-
-- http: move header storage to Curl_easy from connectdata
+ When wolfSSL is built with its OpenSSL API layer, it fetures the same DES*
+ functions that OpenSSL has. This change take advantage of that.
- Since the connection can be used by many independent requests (using
- HTTP/2 or HTTP/3), things like user-agent and other transfer-specific
- data MUST NOT be kept connection oriented as it could lead to requests
- getting the wrong string for their requests. This struct data was
- lingering like this due to old HTTP1 legacy thinking where it didn't
- mattered..
-
- Fixes #5566
- Closes #5567
+ Co-authored-by: Daniel Stenberg
+ Closes #5556
+ Fixes #5548
-- CODE_REVIEW.md: how to do code reviews in curl
+- http: move header storage to Curl_easy from connectdata
- Assisted-by: Daniel Gustafsson
- Assisted-by: Rich Salz
- Assisted-by: Hugo van Kemenade
- Assisted-by: James Fuller
- Assisted-by: Marc Hörsken
- Assisted-by: Jay Satiro
+ Since the connection can be used by many independent requests (using
+ HTTP/2 or HTTP/3), things like user-agent and other transfer-specific
+ data MUST NOT be kept connection oriented as it could lead to requests
+ getting the wrong string for their requests. This struct data was
+ lingering like this due to old HTTP1 legacy thinking where it didn't
+ mattered..
- Closes #5555
+ Fixes #5566
+ Closes #5567
-- altsvc: remove the num field from the altsvc struct
+- CODE_REVIEW.md: how to do code reviews in curl
- It was superfluous since we have the list.size alredy
+ Assisted-by: Daniel Gustafsson
+ Assisted-by: Rich Salz
+ Assisted-by: Hugo van Kemenade
+ Assisted-by: James Fuller
+ Assisted-by: Marc Hörsken
+ Assisted-by: Jay Satiro
- Reported-by: Jay Satiro
- Fixes #5553
- Closes #5563
-
-- version.d: expanded and alpha-sorted
+ Closes #5555
+
+- altsvc: remove the num field from the altsvc struct
- Added a few missing features not previously mentioned. Ordered them
- alphabetically.
+ It was superfluous since we have the list.size alredy
- Closes #5558
-
-- ABI.md: rename to .md and polish the markdown
+ Reported-by: Jay Satiro
+ Fixes #5553
+ Closes #5563
+
+- version.d: expanded and alpha-sorted
- Closes #5562
-
-- HELP-US: add a section for "smaller tasks"
+ Added a few missing features not previously mentioned. Ordered them
+ alphabetically.
- The point of this section is to meet the CII Best Practices gold level
- critera:
+ Closes #5558
+
+- ABI.md: rename to .md and polish the markdown
- "The project MUST clearly identify small tasks that can be performed by
- new or casual contributors"
-
- Closes #5560
+ Closes #5562
-- TODO: retry on the redirected-to URL
+- HELP-US: add a section for "smaller tasks"
+
+ The point of this section is to meet the CII Best Practices gold level
+ critera:
- Closes #5462
+ "The project MUST clearly identify small tasks that can be performed by
+ new or casual contributors"
+
+ Closes #5560
-- mailmap: Nicolas Sterchele
-
-- [Nicolas Sterchele brought this change]
-
- TODO: remove 19.3 section title
+- TODO: retry on the redirected-to URL
- Follow-up to ad6416986755e417c66e2c6, which caused wrong formatting on
- curl documentation website
+ Closes #5462
+
+- mailmap: Nicolas Sterchele
+
+- [Nicolas Sterchele brought this change]
+
+ TODO: remove 19.3 section title
+
+ Follow-up to ad6416986755e417c66e2c6, which caused wrong formatting on
+ curl documentation website
- Closes #5561
+ Closes #5561
-- [Martin V brought this change]
-
- test1560: avoid possibly negative association in wording
+- [Martin V brought this change]
+
+ test1560: avoid possibly negative association in wording
- Closes #5549
+ Closes #5549
-- share: don't set the share flag it something fails
+- share: don't set the share flag it something fails
- When asking for a specific feature to be shared in the share object,
- that bit was previously set unconditionally even if the shared feature
- failed or otherwise wouldn't work.
+ When asking for a specific feature to be shared in the share object,
+ that bit was previously set unconditionally even if the shared feature
+ failed or otherwise wouldn't work.
- Closes #5554
+ Closes #5554
-- buildconf: remove -print from the find command that removes files
+- buildconf: remove -print from the find command that removes files
- It's just too annoying and unnecessary to get a long list of files shown
+ It's just too annoying and unnecessary to get a long list of files shown
- RELEASE-NOTES: synced
-- wording: avoid blacklist/whitelist stereotypes
+- wording: avoid blacklist/whitelist stereotypes
- Instead of discussing if there's value or meaning (implied or not) in
- the colors, let's use words without the same possibly negative
- associations.
+ Instead of discussing if there's value or meaning (implied or not) in
+ the colors, let's use words without the same possibly negative
+ associations.
- Closes #5546
+ Closes #5546
-Jay Satiro (9 Jun 2020)
-- tool_getparam: fix memory leak in parse_args
+Jay Satiro (9 Jun 2020)
+- tool_getparam: fix memory leak in parse_args
- Prior to this change in Windows Unicode builds most parsed options would
- not be freed.
+ Prior to this change in Windows Unicode builds most parsed options would
+ not be freed.
- Found using _CrtDumpMemoryLeaks().
+ Found using _CrtDumpMemoryLeaks().
- Ref: https://github.com/curl/curl/issues/5545
+ Ref: https://github.com/curl/curl/issues/5545
-Daniel Stenberg (8 Jun 2020)
-- socks: detect connection close during handshake
+Daniel Stenberg (8 Jun 2020)
+- socks: detect connection close during handshake
- The SOCKS4/5 state machines weren't properly terminated when the proxy
- connection got closed, leading to a busy-loop.
+ The SOCKS4/5 state machines weren't properly terminated when the proxy
+ connection got closed, leading to a busy-loop.
- Reported-By: zloi-user on github
- Fixes #5532
- Closes #5542
+ Reported-By: zloi-user on github
+ Fixes #5532
+ Closes #5542
+
+- [James Fuller brought this change]
-- [James Fuller brought this change]
-
- multi: add defensive check on data->multi->num_alive
+ multi: add defensive check on data->multi->num_alive
- Closes #5540
-
-- Curl_addrinfo: use one malloc instead of three
+ Closes #5540
+
+- Curl_addrinfo: use one malloc instead of three
- To reduce the amount of allocations needed for creating a Curl_addrinfo
- struct, make a single larger malloc instead of three separate smaller
- ones.
+ To reduce the amount of allocations needed for creating a Curl_addrinfo
+ struct, make a single larger malloc instead of three separate smaller
+ ones.
- Closes #5533
+ Closes #5533
+
+- [Alessandro Ghedini brought this change]
-- [Alessandro Ghedini brought this change]
-
- quiche: update SSLKEYLOGFILE support
+ quiche: update SSLKEYLOGFILE support
- quiche now requires the application to explicitly set the keylog path
- for each connection, rather than reading the environment variable
- itself.
+ quiche now requires the application to explicitly set the keylog path
+ for each connection, rather than reading the environment variable
+ itself.
- Closes #5541
-
-- tests: add two simple tests for --login-options
+ Closes #5541
+
+- tests: add two simple tests for --login-options
- Test 895 and 896 - as a follow-up to a3e972313b
+ Test 895 and 896 - as a follow-up to a3e972313b
- Closes #5539
+ Closes #5539
-- ngtcp2: update with recent API changes
+- ngtcp2: update with recent API changes
- Syncs with ngtcp2 commit 7e9a917d386d98 merged June 7 2020.
+ Syncs with ngtcp2 commit 7e9a917d386d98 merged June 7 2020.
- Assisted-by: Tatsuhiro Tsujikawa
- Closes #5538
-
-- [James Fuller brought this change]
-
- socks: remove unreachable breaks in socks.c and mime.c
+ Assisted-by: Tatsuhiro Tsujikawa
+ Closes #5538
+
+- [James Fuller brought this change]
+
+ socks: remove unreachable breaks in socks.c and mime.c
+
+ Closes #5537
+
+- tool_cfgable: free login_options at exit
- Closes #5537
+ Memory leak
+ Reported-by: Geeknik Labs
+ Fixes #5535
+ Closes #5536
-- tool_cfgable: free login_options at exit
+- libssh2: keep sftp errors as 'unsigned long'
- Memory leak
- Reported-by: Geeknik Labs
- Fixes #5535
- Closes #5536
-
-- libssh2: keep sftp errors as 'unsigned long'
+ Remove weird work-around for storing the SFTP errors as int instead of
+ the "unsigned long" that libssh2 actually returns for SFTP errors.
- Remove weird work-around for storing the SFTP errors as int instead of
- the "unsigned long" that libssh2 actually returns for SFTP errors.
-
- Closes #5534
+ Closes #5534
-Marc Hoersken (6 Jun 2020)
-- timeouts: move ms timeouts to timediff_t from int and long
+Marc Hoersken (6 Jun 2020)
+- timeouts: move ms timeouts to timediff_t from int and long
+
+ Now that all functions in select.[ch] take timediff_t instead
+ of the limited int or long, we can remove type conversions
+ and related preprocessor checks to silence compiler warnings.
+
+ Avoiding conversions from time_t was already done in 842f73de.
- Now that all functions in select.[ch] take timediff_t instead
- of the limited int or long, we can remove type conversions
- and related preprocessor checks to silence compiler warnings.
-
- Avoiding conversions from time_t was already done in 842f73de.
-
- Based upon #5262
- Supersedes #5214, #5220 and #5221
- Follow up to #5343 and #5479
- Closes #5490
+ Based upon #5262
+ Supersedes #5214, #5220 and #5221
+ Follow up to #5343 and #5479
+ Closes #5490
-Daniel Stenberg (6 Jun 2020)
-- [François Rigault brought this change]
+Daniel Stenberg (6 Jun 2020)
+- [François Rigault brought this change]
- openssl: set FLAG_TRUSTED_FIRST unconditionally
-
- On some systems, openssl 1.0.x is still the default, but it has been
- patched to contain all the recent security fixes. As a result of this
- patching, it is possible for macro X509_V_FLAG_NO_ALT_CHAINS to be
- defined, while the previous behavior of openssl to not look at trusted
- chains first, remains.
-
- Fix it: ensure X509_V_FLAG_TRUSTED_FIRST is always set, do not try to
- probe for the behavior of openssl based on the existence ofmacros.
-
- Closes #5530
+ openssl: set FLAG_TRUSTED_FIRST unconditionally
+
+ On some systems, openssl 1.0.x is still the default, but it has been
+ patched to contain all the recent security fixes. As a result of this
+ patching, it is possible for macro X509_V_FLAG_NO_ALT_CHAINS to be
+ defined, while the previous behavior of openssl to not look at trusted
+ chains first, remains.
+
+ Fix it: ensure X509_V_FLAG_TRUSTED_FIRST is always set, do not try to
+ probe for the behavior of openssl based on the existence ofmacros.
+
+ Closes #5530
-- server/util: fix logmsg format using curl_off_t argument
-
- ... this caused segfaults on armv7.
-
- Regression added in dd0365d560aea5a (7.70.0)
-
- Reviewed-by: Jay Satiro
- Closes #5529
+- server/util: fix logmsg format using curl_off_t argument
+
+ ... this caused segfaults on armv7.
+
+ Regression added in dd0365d560aea5a (7.70.0)
+
+ Reviewed-by: Jay Satiro
+ Closes #5529
- RELEASE-NOTES: synced
-- [Cherish98 brought this change]
+- [Cherish98 brought this change]
- socks: fix expected length of SOCKS5 reply
+ socks: fix expected length of SOCKS5 reply
- Commit 4a4b63d forgot to set the expected SOCKS5 reply length when the
- reply ATYP is X'01'. This resulted in erroneously expecting more bytes
- when the request length is greater than the reply length (e.g., when
- remotely resolving the hostname).
+ Commit 4a4b63d forgot to set the expected SOCKS5 reply length when the
+ reply ATYP is X'01'. This resulted in erroneously expecting more bytes
+ when the request length is greater than the reply length (e.g., when
+ remotely resolving the hostname).
- Closes #5527
+ Closes #5527
-Marc Hoersken (5 Jun 2020)
-- .gitignore: add directory containing the stats repo
+Marc Hoersken (5 Jun 2020)
+- .gitignore: add directory containing the stats repo
- Since the new curl/stats repository is designed to be
- checked out into the curl repository working tree as stats/
- it should be on the ignore list to aid in commit staging.
-
-Daniel Stenberg (5 Jun 2020)
-- [Adnan Khan brought this change]
-
- HTTP3.md: clarify cargo build directory
+ Since the new curl/stats repository is designed to be
+ checked out into the curl repository working tree as stats/
+ it should be on the ignore list to aid in commit staging.
+
+Daniel Stenberg (5 Jun 2020)
+- [Adnan Khan brought this change]
+
+ HTTP3.md: clarify cargo build directory
- Cargo needs to be called from within the 'quiche' directory.
+ Cargo needs to be called from within the 'quiche' directory.
- Closes #5522
+ Closes #5522
-- user-agent.d: spell out what happens given a blank argument
+- user-agent.d: spell out what happens given a blank argument
- Closes #5525
-
-- trailers: switch h1-trailer logic to use dynbuf
+ Closes #5525
+
+- trailers: switch h1-trailer logic to use dynbuf
- In the continued effort to remove "manual" realloc schemes.
+ In the continued effort to remove "manual" realloc schemes.
- Closes #5524
+ Closes #5524
-- CURLINFO_ACTIVESOCKET.3: clarify the description
+- CURLINFO_ACTIVESOCKET.3: clarify the description
- Reported-by: Jay Satiro
- Fixes #5299
- Closes #5520
+ Reported-by: Jay Satiro
+ Fixes #5299
+ Closes #5520
-- mailmap: Don J Olmstead
+- mailmap: Don J Olmstead
-- configure: only strip first -L from LDFLAGS
+- configure: only strip first -L from LDFLAGS
- In the logic that works out if a given OpenSSL path works, it stripped
- off a possibly leading -L flag using an incorrect sed pattern which
- would remove all instances of -L in the string, including if the path
- itself contained that two-letter sequence!
+ In the logic that works out if a given OpenSSL path works, it stripped
+ off a possibly leading -L flag using an incorrect sed pattern which
+ would remove all instances of -L in the string, including if the path
+ itself contained that two-letter sequence!
- The same pattern was used and is now updated in multiple places. Now it
- only removes -L if it starts the strings.
+ The same pattern was used and is now updated in multiple places. Now it
+ only removes -L if it starts the strings.
- Reported-by: Mohamed Osama
- Fixes #5519
- Closes #5521
-
-Peter Wu (4 Jun 2020)
-- quiche: advertise draft 28 support
+ Reported-by: Mohamed Osama
+ Fixes #5519
+ Closes #5521
+
+Peter Wu (4 Jun 2020)
+- quiche: advertise draft 28 support
- Fix the verbose message while at it, quiche currently supports draft
- 27 and draft 28 simultaneously.
+ Fix the verbose message while at it, quiche currently supports draft
+ 27 and draft 28 simultaneously.
- Closes #5518
+ Closes #5518
-Daniel Stenberg (4 Jun 2020)
-- KNOWN_BUGS: RTSP authentication breaks without redirect support
+Daniel Stenberg (4 Jun 2020)
+- KNOWN_BUGS: RTSP authentication breaks without redirect support
- Closes #4750
-
-Jay Satiro (4 Jun 2020)
-- projects: Add crypt32.lib to dependencies for all OpenSSL configs
+ Closes #4750
+
+Jay Satiro (4 Jun 2020)
+- projects: Add crypt32.lib to dependencies for all OpenSSL configs
- Windows project configurations that use OpenSSL with USE_WIN32_CRYPTO
- need crypt32.
+ Windows project configurations that use OpenSSL with USE_WIN32_CRYPTO
+ need crypt32.
- Follow-up to 148534d which added CURLSSLOPT_NATIVE_CA for 7.71.0.
+ Follow-up to 148534d which added CURLSSLOPT_NATIVE_CA for 7.71.0.
- The changes that are in this commit were made by script.
+ The changes that are in this commit were made by script.
- Ref: https://gist.github.com/jay/a1861b50ecce2b32931237180f856e28
+ Ref: https://gist.github.com/jay/a1861b50ecce2b32931237180f856e28
- Closes https://github.com/curl/curl/pull/5516
+ Closes https://github.com/curl/curl/pull/5516
-Marc Hoersken (3 Jun 2020)
-- CI/macos: fix 'is already installed' errors by using bundle
+Marc Hoersken (3 Jun 2020)
+- CI/macos: fix 'is already installed' errors by using bundle
- Avoid failing CI builds due to nghttp2 being already installed.
+ Avoid failing CI builds due to nghttp2 being already installed.
- Closes #5513
+ Closes #5513
-Daniel Stenberg (3 Jun 2020)
-- altsvc: fix 'dsthost' may be used uninitialized in this function
+Daniel Stenberg (3 Jun 2020)
+- altsvc: fix 'dsthost' may be used uninitialized in this function
+
+- RELEASE-NOTES: synced
-- RELEASE-NOTES: synced
-
-- urldata: let the HTTP method be in the set.* struct
+- urldata: let the HTTP method be in the set.* struct
- When the method is updated inside libcurl we must still not change the
- method as set by the user as then repeated transfers with that same
- handle might not execute the same operation anymore!
+ When the method is updated inside libcurl we must still not change the
+ method as set by the user as then repeated transfers with that same
+ handle might not execute the same operation anymore!
- This fixes the libcurl part of #5462
-
- Test 1633 added to verify.
-
- Closes #5499
+ This fixes the libcurl part of #5462
+
+ Test 1633 added to verify.
+
+ Closes #5499
-- hostip: fix the memory-leak introduced in 67d2802
+- hostip: fix the memory-leak introduced in 67d2802
- Fixes #5503
- Closes #5504
-
-- test970: make it require proxy support
+ Fixes #5503
+ Closes #5504
+
+- test970: make it require proxy support
- This test verifies the -w %json output and the test case includes a full
- generated "blob". If there's no proxy support built into libcurl, it
- will return an error for proxy related info variables and they will not
- be included in the json, thus causing a mismatch and this test fails.
+ This test verifies the -w %json output and the test case includes a full
+ generated "blob". If there's no proxy support built into libcurl, it
+ will return an error for proxy related info variables and they will not
+ be included in the json, thus causing a mismatch and this test fails.
- Reported-by: Marc Hörsken
- Fixes #5501
- Closes #5502
+ Reported-by: Marc Hörsken
+ Fixes #5501
+ Closes #5502
-- [Radoslav Georgiev brought this change]
+- [Radoslav Georgiev brought this change]
- examples/http2-down/upload: add error checks
+ examples/http2-down/upload: add error checks
- If `index.html` does not exist in the directory from which the example
- is invoked, the fopen(upload, "rb") invocation in `setup` would fail,
- returning NULL. This value is subsequently passed as the FILE* argument
- of the `fread` invocation in the `read_callback` function, which is the
- actual cause of the crash (apparently `fread` assumes that argument to
- be non-null).
+ If `index.html` does not exist in the directory from which the example
+ is invoked, the fopen(upload, "rb") invocation in `setup` would fail,
+ returning NULL. This value is subsequently passed as the FILE* argument
+ of the `fread` invocation in the `read_callback` function, which is the
+ actual cause of the crash (apparently `fread` assumes that argument to
+ be non-null).
- In addition, mitigate some possible crashes of similar origin.
+ In addition, mitigate some possible crashes of similar origin.
- Closes #5463
+ Closes #5463
-- [kotoriのねこ brought this change]
+- [kotoriのねこ brought this change]
- examples/ephiperfifo: turn off interval when setting timerfd
-
- Reported-by: therealhirudo on github
- Fixes #5485
- Closes #5497
+ examples/ephiperfifo: turn off interval when setting timerfd
+
+ Reported-by: therealhirudo on github
+ Fixes #5485
+ Closes #5497
-- [Saleem Abdulrasool brought this change]
+- [Saleem Abdulrasool brought this change]
- vtls: repair the build with `CURL_DISABLE_PROXY`
+ vtls: repair the build with `CURL_DISABLE_PROXY`
- `http_proxy` will not be available in `conndata` if `CURL_DISABLE_PROXY`
- is enabled. Repair the build with that configuration.
+ `http_proxy` will not be available in `conndata` if `CURL_DISABLE_PROXY`
+ is enabled. Repair the build with that configuration.
- Follow-up to f3d501dc67
+ Follow-up to f3d501dc67
- Closes #5498
+ Closes #5498
-- transfer: remove k->str NULL check
+- transfer: remove k->str NULL check
- "Null-checking k->str suggests that it may be null, but it has already
- been dereferenced on all paths leading to the check" - and it can't
- legally be NULL at this point. Remove check.
+ "Null-checking k->str suggests that it may be null, but it has already
+ been dereferenced on all paths leading to the check" - and it can't
+ legally be NULL at this point. Remove check.
- Detected by Coverity CID 1463884
+ Detected by Coverity CID 1463884
- Closes #5495
+ Closes #5495
-Marc Hoersken (1 Jun 2020)
-- select: always use Sleep in Curl_wait_ms on Win32
+Marc Hoersken (1 Jun 2020)
+- select: always use Sleep in Curl_wait_ms on Win32
- Since Win32 almost always will also have USE_WINSOCK,
- we can reduce complexity and always use Sleep there.
+ Since Win32 almost always will also have USE_WINSOCK,
+ we can reduce complexity and always use Sleep there.
- Assisted-by: Jay Satiro
- Reviewed-by: Daniel Stenberg
+ Assisted-by: Jay Satiro
+ Reviewed-by: Daniel Stenberg
- Follow up to #5343
- Closes #5489
+ Follow up to #5343
+ Closes #5489
-Daniel Stenberg (31 May 2020)
-- conncache: download buffer needs +1 size for trailing zero
+Daniel Stenberg (31 May 2020)
+- conncache: download buffer needs +1 size for trailing zero
- Follow-up to c4e6968127e
- Detected by OSS-Fuzz: https://oss-fuzz.com/testcase-detail/5727799779524608
+ Follow-up to c4e6968127e
+ Detected by OSS-Fuzz: https://oss-fuzz.com/testcase-detail/5727799779524608
-Marc Hoersken (31 May 2020)
-- azure: use matrix strategy to avoid configuration redundancy
+Marc Hoersken (31 May 2020)
+- azure: use matrix strategy to avoid configuration redundancy
- This also includes the following changes:
+ This also includes the following changes:
- - Use the same timeout for all jobs on Linux (60 minutes)
- and Windows (90 minutes)
- - Use CLI stable apt-get install -y instead of apt install
- which warns about that and run apt-get update first
- - Enable MQTT for Windows msys2 builds instead of
- legacy msys1 builds
- - Add ./configure --prefix parameter to the msys2 builds
- - The MSYSTEM environment variable is now preset inside
- the container images for the msys2 builds
+ - Use the same timeout for all jobs on Linux (60 minutes)
+ and Windows (90 minutes)
+ - Use CLI stable apt-get install -y instead of apt install
+ which warns about that and run apt-get update first
+ - Enable MQTT for Windows msys2 builds instead of
+ legacy msys1 builds
+ - Add ./configure --prefix parameter to the msys2 builds
+ - The MSYSTEM environment variable is now preset inside
+ the container images for the msys2 builds
- Note: on Azure Pipelines the matrix strategy is basically
- just a simple list of job copies and not really a matrix.
+ Note: on Azure Pipelines the matrix strategy is basically
+ just a simple list of job copies and not really a matrix.
- Closes #5468
+ Closes #5468
-Daniel Stenberg (30 May 2020)
-- build: disable more code/data when built without proxy support
+Daniel Stenberg (30 May 2020)
+- build: disable more code/data when built without proxy support
- Added build to travis to verify
+ Added build to travis to verify
- Closes #5466
+ Closes #5466
-- url: alloc the download buffer at transfer start
+- url: alloc the download buffer at transfer start
+
+ ... and free it as soon as the transfer is done. It removes the extra
+ alloc when a new size is set with setopt() and reduces memory for unused
+ easy handles.
- ... and free it as soon as the transfer is done. It removes the extra
- alloc when a new size is set with setopt() and reduces memory for unused
- easy handles.
+ In addition: the closure_handle now doesn't use an allocated buffer at
+ all but the smallest supported size as a stack based one.
- In addition: the closure_handle now doesn't use an allocated buffer at
- all but the smallest supported size as a stack based one.
-
- Closes #5472
+ Closes #5472
-- timeouts: change millisecond timeouts to timediff_t from time_t
+- timeouts: change millisecond timeouts to timediff_t from time_t
- For millisecond timers we like timediff_t better. Also, time_t can be
- unsigned so returning a negative value doesn't work then.
+ For millisecond timers we like timediff_t better. Also, time_t can be
+ unsigned so returning a negative value doesn't work then.
- Closes #5479
+ Closes #5479
-Marc Hoersken (30 May 2020)
-- select: add overflow checks for timeval conversions
+Marc Hoersken (30 May 2020)
+- select: add overflow checks for timeval conversions
- Using time_t and suseconds_t if suseconds_t is available,
- long on Windows (maybe others in the future) and int elsewhere.
+ Using time_t and suseconds_t if suseconds_t is available,
+ long on Windows (maybe others in the future) and int elsewhere.
- Also handle case of ULONG_MAX being greater or equal to INFINITE.
+ Also handle case of ULONG_MAX being greater or equal to INFINITE.
- Assisted-by: Jay Satiro
- Reviewed-by: Daniel Stenberg
+ Assisted-by: Jay Satiro
+ Reviewed-by: Daniel Stenberg
- Part of #5343
+ Part of #5343
-- select: use timediff_t instead of time_t and int for timeout_ms
+- select: use timediff_t instead of time_t and int for timeout_ms
- Make all functions in select.[ch] take timeout_ms as timediff_t
- which should always be large enough and signed on all platforms
- to take all possible timeout values and avoid type conversions.
+ Make all functions in select.[ch] take timeout_ms as timediff_t
+ which should always be large enough and signed on all platforms
+ to take all possible timeout values and avoid type conversions.
- Reviewed-by: Jay Satiro
- Reviewed-by: Daniel Stenberg
+ Reviewed-by: Jay Satiro
+ Reviewed-by: Daniel Stenberg
- Replaces #5107 and partially #5262
- Related to #5240 and #5286
- Closes #5343
-
-- unit1604.c: fix implicit conv from 'SANITIZEcode' to 'CURLcode'
+ Replaces #5107 and partially #5262
+ Related to #5240 and #5286
+ Closes #5343
+
+- unit1604.c: fix implicit conv from 'SANITIZEcode' to 'CURLcode'
- GCC 10 warns about this with warning: implicit conversion
- from 'SANITIZEcode' to 'CURLcode' [-Wenum-conversion]
+ GCC 10 warns about this with warning: implicit conversion
+ from 'SANITIZEcode' to 'CURLcode' [-Wenum-conversion]
- Since 'expected_result' is not really of type 'CURLcode' and
- it is not exposed in any way, we can just use 'SANITIZEcode'.
+ Since 'expected_result' is not really of type 'CURLcode' and
+ it is not exposed in any way, we can just use 'SANITIZEcode'.
- Reviewed-by: Daniel Stenberg
- Reviewed-by: Marcel Raad
+ Reviewed-by: Daniel Stenberg
+ Reviewed-by: Marcel Raad
- Closes #5476
+ Closes #5476
-- tests/libtest: fix undefined reference to 'curlx_win32_fopen'
+- tests/libtest: fix undefined reference to 'curlx_win32_fopen'
- Since curl_setup.h now makes use of curlx_win32_fopen for Win32
- builds with USE_WIN32_LARGE_FILES or USE_WIN32_SMALL_FILES defined,
- we need to include the relevant files for tests using fopen,
- because the libtest sources are also including curl_setup.h
+ Since curl_setup.h now makes use of curlx_win32_fopen for Win32
+ builds with USE_WIN32_LARGE_FILES or USE_WIN32_SMALL_FILES defined,
+ we need to include the relevant files for tests using fopen,
+ because the libtest sources are also including curl_setup.h
- Reviewed-by: Marcel Raad
- Reviewed-by: Daniel Stenberg
-
- Follow up to #3784 (ffdddb45d9)
- Closes #5475
+ Reviewed-by: Marcel Raad
+ Reviewed-by: Daniel Stenberg
+
+ Follow up to #3784 (ffdddb45d9)
+ Closes #5475
-- appveyor: add non-debug plain autotools-based build
+- appveyor: add non-debug plain autotools-based build
- This should enable us to catch linking issues with the
- testsuite early, like the one described/fixed in #5475.
+ This should enable us to catch linking issues with the
+ testsuite early, like the one described/fixed in #5475.
- Reviewed-by: Daniel Stenberg
- Reviewed-by: Marcel Raad
-
- Closes #5477
+ Reviewed-by: Daniel Stenberg
+ Reviewed-by: Marcel Raad
+
+ Closes #5477
-Daniel Stenberg (29 May 2020)
+Daniel Stenberg (29 May 2020)
- RELEASE-NOTES: synced
-- Revert "buildconf: use find -execdir"
+- Revert "buildconf: use find -execdir"
- This partially reverts commit c712009838f44211958854de431315586995bc61.
+ This partially reverts commit c712009838f44211958854de431315586995bc61.
- Keep the ares_ files removed but bring back the older way to run find,
- to make it work with busybox's find, as apparently that's being used.
+ Keep the ares_ files removed but bring back the older way to run find,
+ to make it work with busybox's find, as apparently that's being used.
- Reported-by: Max Peal
- Fixes #5483
- Closes #5484
+ Reported-by: Max Peal
+ Fixes #5483
+ Closes #5484
-- server/sws: fix asan warning on use of uninitialized variable
+- server/sws: fix asan warning on use of uninitialized variable
-- libssh2: improved error output for wrong quote syntax
+- libssh2: improved error output for wrong quote syntax
- Reported-by: Werner Stolz
+ Reported-by: Werner Stolz
- Closes #5474
+ Closes #5474
-- mk-lib1521: generate code for testing BLOB options as well
+- mk-lib1521: generate code for testing BLOB options as well
- Follow-up to cac5374298b3
+ Follow-up to cac5374298b3
- Closes #5478
+ Closes #5478
-- configure: repair the check if argv can be written to
+- configure: repair the check if argv can be written to
+
+ Due to bad escaping of the test code, the test wouldn't build and thus
+ result in a negative test result, which would lead to the unconditional
+ assumption that overwriting the arguments doesn't work and thus curl
+ would never hide credentials given in the command line, even when it
+ would otherwise be possible.
- Due to bad escaping of the test code, the test wouldn't build and thus
- result in a negative test result, which would lead to the unconditional
- assumption that overwriting the arguments doesn't work and thus curl
- would never hide credentials given in the command line, even when it
- would otherwise be possible.
+ Regression from commit 2d4c2152c (7.60.0)
- Regression from commit 2d4c2152c (7.60.0)
-
- Reported-by: huzunhao on github
- Fixes #5470
- Closes #5471
+ Reported-by: huzunhao on github
+ Fixes #5470
+ Closes #5471
-Peter Wu (28 May 2020)
-- CMake: rebuild Makefile.inc.cmake when Makefile.inc changes
+Peter Wu (28 May 2020)
+- CMake: rebuild Makefile.inc.cmake when Makefile.inc changes
- Otherwise the build might fail due to missing source files, as
- demonstrated by the recent keylog.c addition on an existing build dir.
+ Otherwise the build might fail due to missing source files, as
+ demonstrated by the recent keylog.c addition on an existing build dir.
- Closes #5469
+ Closes #5469
-Daniel Stenberg (28 May 2020)
-- urldata: fix comments: Curl_done() is called multi_done() now
+Daniel Stenberg (28 May 2020)
+- urldata: fix comments: Curl_done() is called multi_done() now
- ... since 575e885db
-
-Peter Wu (27 May 2020)
-- ngtcp2: use common key log routine for better thread-safety
+ ... since 575e885db
+
+Peter Wu (27 May 2020)
+- ngtcp2: use common key log routine for better thread-safety
- Tested with ngtcp2 built against the OpenSSL library. Additionally
- tested with MultiSSL (NSS for TLS and ngtcp2+OpenSSL for QUIC).
+ Tested with ngtcp2 built against the OpenSSL library. Additionally
+ tested with MultiSSL (NSS for TLS and ngtcp2+OpenSSL for QUIC).
- The TLS backend (independent of QUIC) may or may not already have opened
- the keylog file before. Therefore Curl_tls_keylog_open is always called
- to ensure the file is open.
+ The TLS backend (independent of QUIC) may or may not already have opened
+ the keylog file before. Therefore Curl_tls_keylog_open is always called
+ to ensure the file is open.
-- wolfssl: add SSLKEYLOGFILE support
+- wolfssl: add SSLKEYLOGFILE support
- Tested following the same curl and tshark commands as in commit
- "vtls: Extract and simplify key log file handling from OpenSSL" using
- WolfSSL v4.4.0-stable-128-g5179503e8 from git master built with
- `./configure --enable-all --enable-debug CFLAGS=-DHAVE_SECRET_CALLBACK`.
+ Tested following the same curl and tshark commands as in commit
+ "vtls: Extract and simplify key log file handling from OpenSSL" using
+ WolfSSL v4.4.0-stable-128-g5179503e8 from git master built with
+ `./configure --enable-all --enable-debug CFLAGS=-DHAVE_SECRET_CALLBACK`.
- Full support for this feature requires certain wolfSSL build options,
- see "Availability note" in lib/vtls/wolfssl.c for details.
-
- Closes #5327
+ Full support for this feature requires certain wolfSSL build options,
+ see "Availability note" in lib/vtls/wolfssl.c for details.
+
+ Closes #5327
-- vtls: Extract and simplify key log file handling from OpenSSL
+- vtls: Extract and simplify key log file handling from OpenSSL
+
+ Create a set of routines for TLS key log file handling to enable reuse
+ with other TLS backends. Simplify the OpenSSL backend as follows:
- Create a set of routines for TLS key log file handling to enable reuse
- with other TLS backends. Simplify the OpenSSL backend as follows:
+ - Drop the ENABLE_SSLKEYLOGFILE macro as it is unconditionally enabled.
+ - Do not perform dynamic memory allocation when preparing a log entry.
+ Unless the TLS specifications change we can suffice with a reasonable
+ fixed-size buffer.
+ - Simplify state tracking when SSL_CTX_set_keylog_callback is
+ unavailable. My original sslkeylog.c code included this tracking in
+ order to handle multiple calls to SSL_connect and detect new keys
+ after renegotiation (via SSL_read/SSL_write). For curl however we can
+ be sure that a single master secret eventually becomes available
+ after SSL_connect, so a simple flag is sufficient. An alternative to
+ the flag is examining SSL_state(), but this seems more complex and is
+ not pursued. Capturing keys after server renegotiation was already
+ unsupported in curl and remains unsupported.
- - Drop the ENABLE_SSLKEYLOGFILE macro as it is unconditionally enabled.
- - Do not perform dynamic memory allocation when preparing a log entry.
- Unless the TLS specifications change we can suffice with a reasonable
- fixed-size buffer.
- - Simplify state tracking when SSL_CTX_set_keylog_callback is
- unavailable. My original sslkeylog.c code included this tracking in
- order to handle multiple calls to SSL_connect and detect new keys
- after renegotiation (via SSL_read/SSL_write). For curl however we can
- be sure that a single master secret eventually becomes available
- after SSL_connect, so a simple flag is sufficient. An alternative to
- the flag is examining SSL_state(), but this seems more complex and is
- not pursued. Capturing keys after server renegotiation was already
- unsupported in curl and remains unsupported.
+ Tested with curl built against OpenSSL 0.9.8zh, 1.0.2u, and 1.1.1f
+ (`SSLKEYLOGFILE=keys.txt curl -vkso /dev/null https://localhost:4433`)
+ against an OpenSSL 1.1.1f server configured with:
- Tested with curl built against OpenSSL 0.9.8zh, 1.0.2u, and 1.1.1f
- (`SSLKEYLOGFILE=keys.txt curl -vkso /dev/null https://localhost:4433`)
- against an OpenSSL 1.1.1f server configured with:
+ # Force non-TLSv1.3, use TLSv1.0 since 0.9.8 fails with 1.1 or 1.2
+ openssl s_server -www -tls1
+ # Likewise, but fail the server handshake.
+ openssl s_server -www -tls1 -Verify 2
+ # TLS 1.3 test. No need to test the failing server handshake.
+ openssl s_server -www -tls1_3
- # Force non-TLSv1.3, use TLSv1.0 since 0.9.8 fails with 1.1 or 1.2
- openssl s_server -www -tls1
- # Likewise, but fail the server handshake.
- openssl s_server -www -tls1 -Verify 2
- # TLS 1.3 test. No need to test the failing server handshake.
- openssl s_server -www -tls1_3
+ Verify that all secrets (1 for TLS 1.0, 4 for TLS 1.3) are correctly
+ written using Wireshark. For the first and third case, expect four
+ matches per connection (decrypted Server Finished, Client Finished, HTTP
+ Request, HTTP Response). For the second case where the handshake fails,
+ expect a decrypted Server Finished only.
- Verify that all secrets (1 for TLS 1.0, 4 for TLS 1.3) are correctly
- written using Wireshark. For the first and third case, expect four
- matches per connection (decrypted Server Finished, Client Finished, HTTP
- Request, HTTP Response). For the second case where the handshake fails,
- expect a decrypted Server Finished only.
+ tshark -i lo -pf tcp -otls.keylog_file:keys.txt -Tfields \
+ -eframe.number -eframe.time -etcp.stream -e_ws.col.Info \
+ -dtls.port==4433,http -ohttp.desegment_body:FALSE \
+ -Y 'tls.handshake.verify_data or http'
- tshark -i lo -pf tcp -otls.keylog_file:keys.txt -Tfields \
- -eframe.number -eframe.time -etcp.stream -e_ws.col.Info \
- -dtls.port==4433,http -ohttp.desegment_body:FALSE \
- -Y 'tls.handshake.verify_data or http'
-
- A single connection can easily be identified via the `tcp.stream` field.
+ A single connection can easily be identified via the `tcp.stream` field.
-Daniel Stenberg (27 May 2020)
-- FILEFORMAT: add more features that tests can depend on
+Daniel Stenberg (27 May 2020)
+- FILEFORMAT: add more features that tests can depend on
-- [Michael Kaufmann brought this change]
-
- transfer: close connection after excess data has been read
+- [Michael Kaufmann brought this change]
+
+ transfer: close connection after excess data has been read
+
+ For HTTP 1.x, it's a protocol error when the server sends more bytes
+ than announced. If this happens, don't reuse the connection, because the
+ start position of the next response is undefined.
- For HTTP 1.x, it's a protocol error when the server sends more bytes
- than announced. If this happens, don't reuse the connection, because the
- start position of the next response is undefined.
-
- Closes #5440
+ Closes #5440
-- [Estanislau Augé-Pujadas brought this change]
+- [Estanislau Augé-Pujadas brought this change]
- Revert "ssh: ignore timeouts during disconnect"
+ Revert "ssh: ignore timeouts during disconnect"
- This reverts commit f31760e63b4e9ef1eb25f8f211390f8239388515. Shipped in
- curl 7.54.1.
+ This reverts commit f31760e63b4e9ef1eb25f8f211390f8239388515. Shipped in
+ curl 7.54.1.
- Bug: https://curl.haxx.se/mail/lib-2020-05/0068.html
- Closes #5465
-
-- urldata: connect related booleans live in struct ConnectBits
+ Bug: https://curl.haxx.se/mail/lib-2020-05/0068.html
+ Closes #5465
+
+- urldata: connect related booleans live in struct ConnectBits
- And remove a few unused booleans!
+ And remove a few unused booleans!
- Closes #5461
+ Closes #5461
-- hostip: on macOS avoid DoH when given a numerical IP address
+- hostip: on macOS avoid DoH when given a numerical IP address
- When USE_RESOLVE_ON_IPS is set (defined on macOS), it means that
- numerical IP addresses still need to get "resolved" - but not with DoH.
+ When USE_RESOLVE_ON_IPS is set (defined on macOS), it means that
+ numerical IP addresses still need to get "resolved" - but not with DoH.
- Reported-by: Viktor Szakats
- Fixes #5454
- Closes #5459
+ Reported-by: Viktor Szakats
+ Fixes #5454
+ Closes #5459
-- ngtcp2: cleanup memory when failing to connect
+- ngtcp2: cleanup memory when failing to connect
- Reported-by: Peter Wu
- Fixes #5447 (the ngtcp2 side of it)
- Closes #5451
-
-- quiche: clean up memory properly when failing to connect
+ Reported-by: Peter Wu
+ Fixes #5447 (the ngtcp2 side of it)
+ Closes #5451
+
+- quiche: clean up memory properly when failing to connect
- Addresses the quiche side of #5447
- Reported-by: Peter Wu
- Closes #5450
+ Addresses the quiche side of #5447
+ Reported-by: Peter Wu
+ Closes #5450
-- cleanup: use a single space after equals sign in assignments
-
-- url: accept "any length" credentials for proxy auth
+- cleanup: use a single space after equals sign in assignments
+
+- url: accept "any length" credentials for proxy auth
+
+ They're only limited to the maximum string input restrictions, not to
+ 256 bytes.
- They're only limited to the maximum string input restrictions, not to
- 256 bytes.
+ Added test 1178 to verify
- Added test 1178 to verify
-
- Reported-by: Will Roberts
- Fixes #5448
- Closes #5449
+ Reported-by: Will Roberts
+ Fixes #5448
+ Closes #5449
+
+- [Maksim Stsepanenka brought this change]
-- [Maksim Stsepanenka brought this change]
-
- test1167: fixes in badsymbols.pl
+ test1167: fixes in badsymbols.pl
- Closes #5442
+ Closes #5442
-- altsvc: fix parser for lines ending with CRLF
+- altsvc: fix parser for lines ending with CRLF
- Fixed the alt-svc parser to treat a newline as end of line.
+ Fixed the alt-svc parser to treat a newline as end of line.
- The unit tests in test 1654 were done without CRLF and thus didn't quite
- match the real world. Now they use CRLF as well.
+ The unit tests in test 1654 were done without CRLF and thus didn't quite
+ match the real world. Now they use CRLF as well.
- Reported-by: Peter Wu
- Assisted-by: Peter Wu
- Assisted-by: Jay Satiro
- Fixes #5445
- Closes #5446
+ Reported-by: Peter Wu
+ Assisted-by: Peter Wu
+ Assisted-by: Jay Satiro
+ Fixes #5445
+ Closes #5446
-Viktor Szakats (25 May 2020)
-- all: fix codespell errors
+Viktor Szakats (25 May 2020)
+- all: fix codespell errors
- Reviewed-by: Jay Satiro
- Reviewed-by: Daniel Stenberg
- Closes https://github.com/curl/curl/pull/5452
+ Reviewed-by: Jay Satiro
+ Reviewed-by: Daniel Stenberg
+ Closes https://github.com/curl/curl/pull/5452
-Peter Wu (25 May 2020)
-- ngtcp2: fix build with current ngtcp2 master implementing draft 28
+Peter Wu (25 May 2020)
+- ngtcp2: fix build with current ngtcp2 master implementing draft 28
- Based on client.cc changes from ngtcp2. Tested with current git master,
- ngtcp2 commit c77d5731ce92, nghttp3 commit 65ff479d4380.
+ Based on client.cc changes from ngtcp2. Tested with current git master,
+ ngtcp2 commit c77d5731ce92, nghttp3 commit 65ff479d4380.
- Fixes #5444
- Closes #5443
-
-Daniel Stenberg (25 May 2020)
-- RELEASE-NOTES: synced
+ Fixes #5444
+ Closes #5443
+
+Daniel Stenberg (25 May 2020)
+- RELEASE-NOTES: synced
- moved the new setopts up to a "change"
+ moved the new setopts up to a "change"
-- RELEASE-NOTES: synced
+- RELEASE-NOTES: synced
+
+- copyright: updated year ranges out of sync
+
+ ... and whitelisted a few more files in the the copyright.pl script.
-- copyright: updated year ranges out of sync
-
- ... and whitelisted a few more files in the the copyright.pl script.
+- [Gilles Vollant brought this change]
-- [Gilles Vollant brought this change]
-
- setopt: add CURLOPT_PROXY_ISSUERCERT(_BLOB) for coherency
+ setopt: add CURLOPT_PROXY_ISSUERCERT(_BLOB) for coherency
- Closes #5431
+ Closes #5431
-- curl: remove -J "informational" written on stdout
+- curl: remove -J "informational" written on stdout
- curl would previously show "curl: Saved to filename 'name from header'"
- if -J was used and a name was picked from the Content-Disposition
- header. That output could interfer with other stdout output, such as -w.
+ curl would previously show "curl: Saved to filename 'name from header'"
+ if -J was used and a name was picked from the Content-Disposition
+ header. That output could interfer with other stdout output, such as -w.
- This commit removes that output line.
- Bug: https://curl.haxx.se/mail/archive-2020-05/0044.html
- Reported-by: Коваленко Анатолий Викторович
- Closes #5435
+ This commit removes that output line.
+ Bug: https://curl.haxx.se/mail/archive-2020-05/0044.html
+ Reported-by: Коваленко Анатолий Викторович
+ Closes #5435
-Peter Wu (22 May 2020)
-- travis: simplify quiche build instructions wrt boringssl
+Peter Wu (22 May 2020)
+- travis: simplify quiche build instructions wrt boringssl
+
+ quiche builds boringssl as static library, reuse that instead of
+ building another shared library.
- quiche builds boringssl as static library, reuse that instead of
- building another shared library.
+ Closes #5438
+
+- configure: fix pthread check with static boringssl
- Closes #5438
+ A shared boringssl/OpenSSL library requires -lcrypto only for linking.
+ A static build additionally requires `-ldl -lpthread`. In the latter
+ case `-lpthread` is added to LIBS which prevented `-pthread` from being
+ added to CFLAGS. Clear LIBS to fix linking failures for libtest tests.
-- configure: fix pthread check with static boringssl
+Daniel Stenberg (22 May 2020)
+- Revert "sendf: make failf() use the mvsnprintf() return code"
- A shared boringssl/OpenSSL library requires -lcrypto only for linking.
- A static build additionally requires `-ldl -lpthread`. In the latter
- case `-lpthread` is added to LIBS which prevented `-pthread` from being
- added to CFLAGS. Clear LIBS to fix linking failures for libtest tests.
-
-Daniel Stenberg (22 May 2020)
-- Revert "sendf: make failf() use the mvsnprintf() return code"
+ This reverts commit 74623551f306990e70c7c5515b88972005604a74.
- This reverts commit 74623551f306990e70c7c5515b88972005604a74.
+ Instead mark the function call with (void). Getting the return code and
+ using it instead triggered Coverity warning CID 1463596 because
+ snprintf() can return a negative value...
- Instead mark the function call with (void). Getting the return code and
- using it instead triggered Coverity warning CID 1463596 because
- snprintf() can return a negative value...
+ Closes #5441
+
+- typecheck-gcc.h: CURLINFO_PRIVATE does not need a 'char *'
- Closes #5441
-
-- typecheck-gcc.h: CURLINFO_PRIVATE does not need a 'char *'
+ Reported-by: Billyzou0741326 on github
+ Fixes #5432
+ Closes #5436
+
+- tests/server/util.h: add extern to silence compiler warning
- Reported-by: Billyzou0741326 on github
- Fixes #5432
- Closes #5436
+ Follow-up from a3b0699d5c1
-- tests/server/util.h: add extern to silence compiler warning
+- typecheck-gcc.h: fix the OFF_T check
- Follow-up from a3b0699d5c1
-
-- typecheck-gcc.h: fix the OFF_T check
+ The option number also needs to be less than CURLOPTTYPE_BLOB.
- The option number also needs to be less than CURLOPTTYPE_BLOB.
-
- Follow-up to cac5374298
- Reported-by: Jeroen Ooms
- Bug: https://github.com/curl/curl/pull/5365#issuecomment-631084114
+ Follow-up to cac5374298
+ Reported-by: Jeroen Ooms
+ Bug: https://github.com/curl/curl/pull/5365#issuecomment-631084114
-- TODO: --dry-run
+- TODO: --dry-run
- Closes #5426
-
-- TODO: Ratelimit or wait between serial requests
+ Closes #5426
+
+- TODO: Ratelimit or wait between serial requests
- Closes #5406
+ Closes #5406
-- tool_paramhlp: fixup C89 mistake
-
- Follow-up to c5f0a9db22.
+- tool_paramhlp: fixup C89 mistake
+
+ Follow-up to c5f0a9db22.
-- [Siva Sivaraman brought this change]
+- [Siva Sivaraman brought this change]
- tool_paramhlp: fixed potentially uninitialized strtol() variable
+ tool_paramhlp: fixed potentially uninitialized strtol() variable
- Seems highly unlikely to actually be possible, but better safe than
- sorry.
+ Seems highly unlikely to actually be possible, but better safe than
+ sorry.
- Closes #5417
+ Closes #5417
-- [Siva Sivaraman brought this change]
-
- tool_operate: fixed potentially uninitialized variables
+- [Siva Sivaraman brought this change]
+
+ tool_operate: fixed potentially uninitialized variables
- ... in curl_easy_getinfo() calls. They're harmless but clearing the
- variables makes the code safer and comforts the reader.
+ ... in curl_easy_getinfo() calls. They're harmless but clearing the
+ variables makes the code safer and comforts the reader.
- Closes #5416
+ Closes #5416
-- sha256: move assign to the declaration line
+- sha256: move assign to the declaration line
- Follow-up to fae30656. Should've been squashed with that commit...
+ Follow-up to fae30656. Should've been squashed with that commit...
-- [Siva Sivaraman brought this change]
+- [Siva Sivaraman brought this change]
- sha256: fixed potentially uninitialized variable
+ sha256: fixed potentially uninitialized variable
- Closes #5414
+ Closes #5414
-- sendf: make failf() use the mvsnprintf() return code
+- sendf: make failf() use the mvsnprintf() return code
- ... and avoid a strlen() call. Fixes a MonocleAI warning.
+ ... and avoid a strlen() call. Fixes a MonocleAI warning.
- Reported-by: MonocleAI
- Fixes #5413
- Closes #5420
+ Reported-by: MonocleAI
+ Fixes #5413
+ Closes #5420
-- hostip: make Curl_printable_address not return anything
+- hostip: make Curl_printable_address not return anything
- It was not used much anyway and instead we let it store a blank buffer
- in case of failure.
+ It was not used much anyway and instead we let it store a blank buffer
+ in case of failure.
- Reported-by: MonocleAI
- Fixes #5411
- Closes #5418
+ Reported-by: MonocleAI
+ Fixes #5411
+ Closes #5418
-- ftp: mark return-ignoring calls to Curl_GetFTPResponse with (void)
+- ftp: mark return-ignoring calls to Curl_GetFTPResponse with (void)
- They're done on purpose, make that visible in the code.
- Reported-by: MonocleAI
- Fixes #5412
- Closes #549
+ They're done on purpose, make that visible in the code.
+ Reported-by: MonocleAI
+ Fixes #5412
+ Closes #549
-- TODO: forbid TLS post-handshake auth and do TLS record padding
+- TODO: forbid TLS post-handshake auth and do TLS record padding
- Closes #5396
- Closes #5398
+ Closes #5396
+ Closes #5398
-- RELEASE-NOTES: synced
+- RELEASE-NOTES: synced
-- dynbuf: return NULL when there's no buffer length
+- dynbuf: return NULL when there's no buffer length
- ... as returning a "" is not a good idea as the string is supposed to be
- allocated and returning a const string will cause issues.
+ ... as returning a "" is not a good idea as the string is supposed to be
+ allocated and returning a const string will cause issues.
- Reported-by: Brian Carpenter
- Follow-up to ed35d6590e72c
- Closes #5405
-
-Peter Wu (16 May 2020)
-- travis: upgrade to bionic, clang-9, improve readability
+ Reported-by: Brian Carpenter
+ Follow-up to ed35d6590e72c
+ Closes #5405
+
+Peter Wu (16 May 2020)
+- travis: upgrade to bionic, clang-9, improve readability
- Changes, partially to reduce build failures from external dependencies:
- - Upgrade Ubuntu and drop unnecessary third-party repos.
- - Properly clone apt config to ensure retries.
- - Upgrade to clang-9 from the standard repos.
- - Use Ubuntu 20.04 focal for the libssh build, use of ssh_get_publickey
- fails on -Werror=deprecated-declarations in Ubuntu 18.04. Do not use
- focal everywhere yet since Travis CI has not documented this option.
- In focal, python-impacket (Py2.7) has been removed, leaving only
- python3-impacket. Since it is only needed for SMB tests and not SSH,
- skip it for the libssh job since it might need more work.
- - apt: Remove gcc-8 and libstdc++-8-dev, already installed via g++-8.
+ Changes, partially to reduce build failures from external dependencies:
+ - Upgrade Ubuntu and drop unnecessary third-party repos.
+ - Properly clone apt config to ensure retries.
+ - Upgrade to clang-9 from the standard repos.
+ - Use Ubuntu 20.04 focal for the libssh build, use of ssh_get_publickey
+ fails on -Werror=deprecated-declarations in Ubuntu 18.04. Do not use
+ focal everywhere yet since Travis CI has not documented this option.
+ In focal, python-impacket (Py2.7) has been removed, leaving only
+ python3-impacket. Since it is only needed for SMB tests and not SSH,
+ skip it for the libssh job since it might need more work.
+ - apt: Remove gcc-8 and libstdc++-8-dev, already installed via g++-8.
- Non-functional cleanups:
- - Simplify test matrix, drop redundant os and compiler keys.
- - Deprecation fixes: remove sudo, rename matrix -> jobs.
- - Every job has an 'env' key, put this key first in a list item.
+ Non-functional cleanups:
+ - Simplify test matrix, drop redundant os and compiler keys.
+ - Deprecation fixes: remove sudo, rename matrix -> jobs.
+ - Every job has an 'env' key, put this key first in a list item.
- Closes #5370
-
-- travis: whitespace-only changes for consistency
+ Closes #5370
+
+- travis: whitespace-only changes for consistency
- Automatically apply a consistent indentation with:
+ Automatically apply a consistent indentation with:
- python3 -c 'from ruamel.yaml import YAML;y=YAML();d=y.load(open(".travis.yml"));y.width=500;y.dump(d,open(".travis.yml.new","w"))'
+ python3 -c 'from ruamel.yaml import YAML;y=YAML();d=y.load(open(".travis.yml"));y.width=500;y.dump(d,open(".travis.yml.new","w"))'
- followed by manually re-indenting three comments.
+ followed by manually re-indenting three comments.
- Closes #5370
+ Closes #5370
-- CMake: add libssh build support
+- CMake: add libssh build support
- Closes #5372
+ Closes #5372
-Daniel Stenberg (15 May 2020)
-- KNOWN_BUGS: wolfssh: publickey auth doesn't work
+Daniel Stenberg (15 May 2020)
+- KNOWN_BUGS: wolfssh: publickey auth doesn't work
- Closes #4820
+ Closes #4820
-- KNOWN_BUGS: OS400 port requires deprecated IBM library
+- KNOWN_BUGS: OS400 port requires deprecated IBM library
- Closes #5176
+ Closes #5176
-- [Vyron Tsingaras brought this change]
+- [Vyron Tsingaras brought this change]
- http2: keep trying to send pending frames after req.upload_done
+ http2: keep trying to send pending frames after req.upload_done
- Fixes #1410
- Closes #5401
+ Fixes #1410
+ Closes #5401
-- [Gilles Vollant brought this change]
+- [Gilles Vollant brought this change]
- setopt: support certificate options in memory with struct curl_blob
+ setopt: support certificate options in memory with struct curl_blob
- This change introduces a generic way to provide binary data in setopt
- options, called BLOBs.
-
- This change introduces these new setopts:
-
- CURLOPT_ISSUERCERT_BLOB, CURLOPT_PROXY_SSLCERT_BLOB,
- CURLOPT_PROXY_SSLKEY_BLOB, CURLOPT_SSLCERT_BLOB and CURLOPT_SSLKEY_BLOB.
-
- Reviewed-by: Daniel Stenberg
- Closes #5357
+ This change introduces a generic way to provide binary data in setopt
+ options, called BLOBs.
+
+ This change introduces these new setopts:
+
+ CURLOPT_ISSUERCERT_BLOB, CURLOPT_PROXY_SSLCERT_BLOB,
+ CURLOPT_PROXY_SSLKEY_BLOB, CURLOPT_SSLCERT_BLOB and CURLOPT_SSLKEY_BLOB.
+
+ Reviewed-by: Daniel Stenberg
+ Closes #5357
-- source cleanup: remove all custom typedef structs
+- source cleanup: remove all custom typedef structs
- - Stick to a single unified way to use structs
- - Make checksrc complain on 'typedef struct {'
- - Allow them in tests, public headers and examples
+ - Stick to a single unified way to use structs
+ - Make checksrc complain on 'typedef struct {'
+ - Allow them in tests, public headers and examples
- - Let MD4_CTX, MD5_CTX, and SHA256_CTX typedefs remain as they actually
- typedef different types/structs depending on build conditions.
-
- Closes #5338
+ - Let MD4_CTX, MD5_CTX, and SHA256_CTX typedefs remain as they actually
+ typedef different types/structs depending on build conditions.
+
+ Closes #5338
+
+- travis: remove the .checksrc fiddling
-- travis: remove the .checksrc fiddling
-
-- ftp: make domore_getsock() return the secondary socket properly
+- ftp: make domore_getsock() return the secondary socket properly
- Previously, after PASV and immediately after the data connection has
- connected, the function would only return the control socket to wait for
- which then made the data connection simply timeout and not get polled
- correctly. This become obvious when running test 1631 and 1632 event-
- based.
+ Previously, after PASV and immediately after the data connection has
+ connected, the function would only return the control socket to wait for
+ which then made the data connection simply timeout and not get polled
+ correctly. This become obvious when running test 1631 and 1632 event-
+ based.
-- test1632: verify FTP through HTTPS-proxy with connection re-use
-
-- test1631: verify FTP download through HTTPS-proxy
-
-- sws: as last resort, get test number from server cmd file
+- test1632: verify FTP through HTTPS-proxy with connection re-use
+
+- test1631: verify FTP download through HTTPS-proxy
+
+- sws: as last resort, get test number from server cmd file
+
+ If it can't be found in the request. Also support --cmdfile to set it to
+ a custom file name.
- If it can't be found in the request. Also support --cmdfile to set it to
- a custom file name.
-
- runtests.pl always writes this file with the test number in it since a
- while back.
+ runtests.pl always writes this file with the test number in it since a
+ while back.
-- ftp: shut down the secondary connection properly when SSL is used
+- ftp: shut down the secondary connection properly when SSL is used
- Reported-by: Neal Poole
- Fixes #5340
- Closes #5385
+ Reported-by: Neal Poole
+ Fixes #5340
+ Closes #5385
-Marcel Raad (14 May 2020)
-- KNOWN_BUGS: adapt 5.5 to recent changes
+Marcel Raad (14 May 2020)
+- KNOWN_BUGS: adapt 5.5 to recent changes
- It only applies to non-Unicode builds now.
- Also merge 5.10 into it as it's effectively a duplicate.
+ It only applies to non-Unicode builds now.
+ Also merge 5.10 into it as it's effectively a duplicate.
- Closes https://github.com/curl/curl/pull/3784
+ Closes https://github.com/curl/curl/pull/3784
-- curl_setup: support Unicode functions to open files on Windows
+- curl_setup: support Unicode functions to open files on Windows
- Use them only if `_UNICODE` is defined, in which case command-line
- arguments have been converted to UTF-8.
+ Use them only if `_UNICODE` is defined, in which case command-line
+ arguments have been converted to UTF-8.
- Closes https://github.com/curl/curl/pull/3784
+ Closes https://github.com/curl/curl/pull/3784
-- tool: support UTF-16 command line on Windows
+- tool: support UTF-16 command line on Windows
- - use `wmain` instead of `main` when `_UNICODE` is defined [0]
- - define `argv_item_t` as `wchar_t *` in this case
- - use the curl_multibyte gear to convert the command-line arguments to
- UTF-8
+ - use `wmain` instead of `main` when `_UNICODE` is defined [0]
+ - define `argv_item_t` as `wchar_t *` in this case
+ - use the curl_multibyte gear to convert the command-line arguments to
+ UTF-8
- This makes it possible to pass parameters with characters outside of
- the current locale on Windows, which is required for some tests, e.g.
- the IDN tests. Out of the box, this currently only works with the
- Visual Studio project files, which default to Unicode, and winbuild
- with the `ENABLE_UNICODE` option.
+ This makes it possible to pass parameters with characters outside of
+ the current locale on Windows, which is required for some tests, e.g.
+ the IDN tests. Out of the box, this currently only works with the
+ Visual Studio project files, which default to Unicode, and winbuild
+ with the `ENABLE_UNICODE` option.
- [0] https://devblogs.microsoft.com/oldnewthing/?p=40643
+ [0] https://devblogs.microsoft.com/oldnewthing/?p=40643
- Ref: https://github.com/curl/curl/issues/3747
- Closes https://github.com/curl/curl/pull/3784
+ Ref: https://github.com/curl/curl/issues/3747
+ Closes https://github.com/curl/curl/pull/3784
-- curl_multibyte: add to curlx
+- curl_multibyte: add to curlx
- This will also be needed in the tool and tests.
+ This will also be needed in the tool and tests.
- Ref: https://github.com/curl/curl/pull/3758#issuecomment-482197512
- Closes https://github.com/curl/curl/pull/3784
+ Ref: https://github.com/curl/curl/pull/3758#issuecomment-482197512
+ Closes https://github.com/curl/curl/pull/3784
-Daniel Stenberg (14 May 2020)
-- url: make the updated credentials URL-encoded in the URL
+Daniel Stenberg (14 May 2020)
+- url: make the updated credentials URL-encoded in the URL
- Found-by: Gregory Jefferis
- Reported-by: Jeroen Ooms
- Added test 1168 to verify. Bug spotted when doing a redirect.
- Bug: https://github.com/jeroen/curl/issues/224
- Closes #5400
+ Found-by: Gregory Jefferis
+ Reported-by: Jeroen Ooms
+ Added test 1168 to verify. Bug spotted when doing a redirect.
+ Bug: https://github.com/jeroen/curl/issues/224
+ Closes #5400
-- tests: add https-proxy support to the test suite
+- tests: add https-proxy support to the test suite
- Initial test 1630 added with basic HTTPS-proxy use. HTTPS-proxy is like
- HTTP proxy but with a full TLS connection to the proxy.
+ Initial test 1630 added with basic HTTPS-proxy use. HTTPS-proxy is like
+ HTTP proxy but with a full TLS connection to the proxy.
- Closes #5399
+ Closes #5399
-- mailmap: James Fuller
+- mailmap: James Fuller
-- [Major_Tom brought this change]
+- [Major_Tom brought this change]
- vauth/cleartext: fix theoretical integer overflow
+ vauth/cleartext: fix theoretical integer overflow
- Fix theoretical integer overflow in Curl_auth_create_plain_message.
+ Fix theoretical integer overflow in Curl_auth_create_plain_message.
- The security impact of the overflow was discussed on hackerone. We
- agreed this is more of a theoretical vulnerability, as the integer
- overflow would only be triggerable on systems using 32-bits size_t with
- over 4GB of available memory space for the process.
-
- Closes #5391
+ The security impact of the overflow was discussed on hackerone. We
+ agreed this is more of a theoretical vulnerability, as the integer
+ overflow would only be triggerable on systems using 32-bits size_t with
+ over 4GB of available memory space for the process.
+
+ Closes #5391
-Jay Satiro (13 May 2020)
-- curl.1: Quote globbed URLs
+Jay Satiro (13 May 2020)
+- curl.1: Quote globbed URLs
+
+ - Quote the globbing example URLs that contain characters [] {} since
+ otherwise they may be interpreted as shell metacharacters.
- - Quote the globbing example URLs that contain characters [] {} since
- otherwise they may be interpreted as shell metacharacters.
+ Bug: https://github.com/curl/curl/issues/5388
+ Reported-by: John Simpson
- Bug: https://github.com/curl/curl/issues/5388
- Reported-by: John Simpson
-
- Closes https://github.com/curl/curl/pull/5394
+ Closes https://github.com/curl/curl/pull/5394
-Daniel Stenberg (14 May 2020)
-- checksrc: enhance the ASTERISKSPACE and update code accordingly
+Daniel Stenberg (14 May 2020)
+- checksrc: enhance the ASTERISKSPACE and update code accordingly
- Fine: "struct hello *world"
+ Fine: "struct hello *world"
- Not fine: "struct hello* world" (and variations)
+ Not fine: "struct hello* world" (and variations)
- Closes #5386
+ Closes #5386
-- docs/options-in-versions: which version added each cmdline option
+- docs/options-in-versions: which version added each cmdline option
- Added test 971 to verify that the list is in sync with the files in
- cmdline-opts. The check also verifies that .d-files that uses Added:
- specify the same version number as the options-in-versions file does.
-
- Closes #5381
+ Added test 971 to verify that the list is in sync with the files in
+ cmdline-opts. The check also verifies that .d-files that uses Added:
+ specify the same version number as the options-in-versions file does.
+
+ Closes #5381
-- docs: unify protocol lists
+- docs: unify protocol lists
+
+ We boast support for 25 transfer protocols. Make sure the lists are
+ consistent
- We boast support for 25 transfer protocols. Make sure the lists are
- consistent
-
- Closes #5384
+ Closes #5384
-- OpenSSL: have CURLOPT_CRLFILE imply CURLSSLOPT_NO_PARTIALCHAIN
+- OpenSSL: have CURLOPT_CRLFILE imply CURLSSLOPT_NO_PARTIALCHAIN
+
+ ... to avoid an OpenSSL bug that otherwise makes the CRL check to fail.
- ... to avoid an OpenSSL bug that otherwise makes the CRL check to fail.
-
- Reported-by: Michael Kaufmann
- Fixes #5374
- Closes #5376
+ Reported-by: Michael Kaufmann
+ Fixes #5374
+ Closes #5376
-- tls13-ciphers.d: shorten the Arg
+- tls13-ciphers.d: shorten the Arg
-- sasl-authzid.d: add Arg: and shorten the desc
+- sasl-authzid.d: add Arg: and shorten the desc
-- cert-type.d: mention the available types in the desc
-
-- tool: shorten 3 --help descriptions
+- cert-type.d: mention the available types in the desc
+
+- tool: shorten 3 --help descriptions
- --happy-eyeballs-timeout-ms, --resolve and --ssl-revoke-best-effort
+ --happy-eyeballs-timeout-ms, --resolve and --ssl-revoke-best-effort
- gen.pl already warned about these lines but we didn't listen
+ gen.pl already warned about these lines but we didn't listen
- Closes #5379
+ Closes #5379
-- configure: the wolfssh backend does not provide SCP
+- configure: the wolfssh backend does not provide SCP
- Closes #5387
+ Closes #5387
- RELEASE-NOTES: synced
-- url: reject too long input when parsing credentials
+- url: reject too long input when parsing credentials
- Since input passed to libcurl with CURLOPT_USERPWD and
- CURLOPT_PROXYUSERPWD circumvents the regular string length check we have
- in Curl_setstropt(), the input length limit is enforced in
- Curl_parse_login_details too, separately.
+ Since input passed to libcurl with CURLOPT_USERPWD and
+ CURLOPT_PROXYUSERPWD circumvents the regular string length check we have
+ in Curl_setstropt(), the input length limit is enforced in
+ Curl_parse_login_details too, separately.
- Reported-by: Thomas Bouzerar
- Closes #5383
+ Reported-by: Thomas Bouzerar
+ Closes #5383
-- list-only.d: this option existed already in 4.0
+- list-only.d: this option existed already in 4.0
-Jay Satiro (12 May 2020)
-- retry-all-errors.d: Shorten the summary line
+Jay Satiro (12 May 2020)
+- retry-all-errors.d: Shorten the summary line
- Follow-up to b995bb5 from a few moments ago.
+ Follow-up to b995bb5 from a few moments ago.
- Reported-by: Daniel Stenberg
+ Reported-by: Daniel Stenberg
- Ref: https://github.com/curl/curl/commit/b995bb5#r39108929
+ Ref: https://github.com/curl/curl/commit/b995bb5#r39108929
+
+- [denzor brought this change]
-- [denzor brought this change]
-
- easy: fix dangling pointer on easy_perform fail
+ easy: fix dangling pointer on easy_perform fail
- Closes https://github.com/curl/curl/pull/5363
+ Closes https://github.com/curl/curl/pull/5363
+
+- tool: Add option --retry-all-errors to retry on any error
+
+ The "sledgehammer" of retrying.
+
+ Closes https://github.com/curl/curl/pull/5185
+
+Daniel Stenberg (12 May 2020)
+- [James Le Cuirot brought this change]
-- tool: Add option --retry-all-errors to retry on any error
+ libcurl.pc: Merge Libs.private into Libs for static-only builds
- The "sledgehammer" of retrying.
+ A project being built entirely statically will call pkg-config with
+ --static, which utilises the Libs.private field. Conversely it will
+ not use --static when not being built entirely statically, even if
+ there is only a static build of libcurl available. This will most
+ likely cause the build to fail due to underlinking unless we merge the
+ Libs fields.
- Closes https://github.com/curl/curl/pull/5185
+ Consider that this is what the Meson build system does when it
+ generates pkg-config files.
+
+ I have also reflected this in the --libs argument of curl-config even
+ though REQUIRE_LIB_DEPS always seems to be "yes" anyway.
+
+ Closes #5373
-Daniel Stenberg (12 May 2020)
-- [James Le Cuirot brought this change]
+- [Peter Wu brought this change]
- libcurl.pc: Merge Libs.private into Libs for static-only builds
+ CMake: fix runtests.pl with CMake, add new test targets
+
+ * runtests.pl:
+ - Fix out-of-tree build under CMake when srcdir is not set. Default
+ srcdir to the location of runtests.pl.
+ - Add a hack to allow CMake to use the TFLAGS option as documented
+ in tests/README and used in scripts/travis/script.sh.
+ * Bump CMake version to 3.2 for USES_TERMINAL, dropping Debian Jessie
+ support (no one should care, it is already EOL.).
+ * Remove CTest since it defines its own 'test' target with no tests
+ since all unittests are already broken and not built by default.
+ * Add new test targets based on the options from Makefile.am. Since
+ new test targets are rarely added, I opted for duplicating the
+ runtests.pl options as opposed to creating a new Makefile.inc file.
+ Use top-level target names (test-x) instead of x-test since that is
+ used by CI and others.
- A project being built entirely statically will call pkg-config with
- --static, which utilises the Libs.private field. Conversely it will
- not use --static when not being built entirely statically, even if
- there is only a static build of libcurl available. This will most
- likely cause the build to fail due to underlinking unless we merge the
- Libs fields.
+ Closes #5358
+
+- [Peter Wu brought this change]
+
+ CMake: do not build test programs by default
- Consider that this is what the Meson build system does when it
- generates pkg-config files.
+ The default target should only build libcurl and curl. Add a dedicated
+ 'testdeps' target which will be used later when running tests. Note that
+ unittests are currently broken in CMake and already excluded.
- I have also reflected this in the --libs argument of curl-config even
- though REQUIRE_LIB_DEPS always seems to be "yes" anyway.
-
- Closes #5373
+ Closes #5368
-- [Peter Wu brought this change]
-
- CMake: fix runtests.pl with CMake, add new test targets
+- FILEFORMAT: moved up the variables section and further polished
+
+- runtests: remove ftp2 support, not used
- * runtests.pl:
- - Fix out-of-tree build under CMake when srcdir is not set. Default
- srcdir to the location of runtests.pl.
- - Add a hack to allow CMake to use the TFLAGS option as documented
- in tests/README and used in scripts/travis/script.sh.
- * Bump CMake version to 3.2 for USES_TERMINAL, dropping Debian Jessie
- support (no one should care, it is already EOL.).
- * Remove CTest since it defines its own 'test' target with no tests
- since all unittests are already broken and not built by default.
- * Add new test targets based on the options from Makefile.am. Since
- new test targets are rarely added, I opted for duplicating the
- runtests.pl options as opposed to creating a new Makefile.inc file.
- Use top-level target names (test-x) instead of x-test since that is
- used by CI and others.
+ We once supported two separate ftp instances in the test suite. Has not
+ been used the last decade.
- Closes #5358
-
-- [Peter Wu brought this change]
-
- CMake: do not build test programs by default
+ Closes #5375
+
+- url: sort the protocol schemes in rough popularity order
- The default target should only build libcurl and curl. Add a dedicated
- 'testdeps' target which will be used later when running tests. Note that
- unittests are currently broken in CMake and already excluded.
+ When looking for a protocol match among supported schemes, check the
+ most "popular" schemes first. It has zero functionality difference and
+ for all practical purposes a speed difference will not be measureable
+ but it still think it makes sense to put the least likely matches last.
- Closes #5368
-
-- FILEFORMAT: moved up the variables section and further polished
-
-- runtests: remove ftp2 support, not used
+ "Popularity" based on the 2019 user survey.
- We once supported two separate ftp instances in the test suite. Has not
- been used the last decade.
+ Closes #5377
+
+Marc Hoersken (11 May 2020)
+- test1238: avoid tftpd being busy for tests shortly following
- Closes #5375
-
-- url: sort the protocol schemes in rough popularity order
+ The tftpd server may still be busy if the total timeout of
+ 25 seconds has not been reached or no sread error was received
+ during or after the execution of the timeout test 1238.
- When looking for a protocol match among supported schemes, check the
- most "popular" schemes first. It has zero functionality difference and
- for all practical purposes a speed difference will not be measureable
- but it still think it makes sense to put the least likely matches last.
+ Once the next TFTP test comes around (eg. 1242 or 1243),
+ those will fail because the tftpd server is still waiting
+ on data from curl due to the UDP protocol being stateless
+ and having no connection close. On Linux this error may not
+ happen, because ICMP errors generated due to a swrite error
+ can also be returned async on the next sread call instead.
- "Popularity" based on the 2019 user survey.
+ Therefore we will now just kill the tftpd server after test
+ 1238 to make sure that the following tests are not affected.
- Closes #5377
-
-Marc Hoersken (11 May 2020)
-- test1238: avoid tftpd being busy for tests shortly following
+ This enables us to no longer ignore tests 1242, 1243, 2002
+ and 2003 on the CI platforms CirrusCI and AppVeyor.
- The tftpd server may still be busy if the total timeout of
- 25 seconds has not been reached or no sread error was received
- during or after the execution of the timeout test 1238.
+ Assisted-by: Peter Wu
+ Closes #5364
+
+Daniel Stenberg (11 May 2020)
+- write-out.d: added "response_code"
+
+- KNOWN_BUGS: Build with staticly built dependency
- Once the next TFTP test comes around (eg. 1242 or 1243),
- those will fail because the tftpd server is still waiting
- on data from curl due to the UDP protocol being stateless
- and having no connection close. On Linux this error may not
- happen, because ICMP errors generated due to a swrite error
- can also be returned async on the next sread call instead.
+ I rewrote the item 5.4 to be more generic about static dependencies.
+
+- ROADMAP: remove old entries
- Therefore we will now just kill the tftpd server after test
- 1238 to make sure that the following tests are not affected.
+ MQTT - the start has already landed
- This enables us to no longer ignore tests 1242, 1243, 2002
- and 2003 on the CI platforms CirrusCI and AppVeyor.
+ tiny-curl - also mostly landed and is a continuous work
- Assisted-by: Peter Wu
- Closes #5364
-
-Daniel Stenberg (11 May 2020)
-- write-out.d: added "response_code"
-
-- KNOWN_BUGS: Build with staticly built dependency
-
- I rewrote the item 5.4 to be more generic about static dependencies.
-
-- ROADMAP: remove old entries
-
- MQTT - the start has already landed
-
- tiny-curl - also mostly landed and is a continuous work
-
- make menuconfig - basically no interest from users, not pushing there
+ make menuconfig - basically no interest from users, not pushing there
+
+- [Peter Wu brought this change]
-- [Peter Wu brought this change]
-
- travis: Add ngtcp2 and quiche tests for CMake
+ travis: Add ngtcp2 and quiche tests for CMake
- To avoid an explosion of jobs, extend the existing CMake tests with
- ngtcp2 and quiche support. macOS was previously moved to GitHub actions,
- so the non-Linux case can be dropped.
-
-- [Peter Wu brought this change]
-
- CMake: add ENABLE_ALT_SVC option
+ To avoid an explosion of jobs, extend the existing CMake tests with
+ ngtcp2 and quiche support. macOS was previously moved to GitHub actions,
+ so the non-Linux case can be dropped.
+
+- [Peter Wu brought this change]
+
+ CMake: add ENABLE_ALT_SVC option
- Tested alt-svc with quiche. While at it, add missing MultiSSL reporting
- (not tested).
+ Tested alt-svc with quiche. While at it, add missing MultiSSL reporting
+ (not tested).
+
+- [Peter Wu brought this change]
-- [Peter Wu brought this change]
-
- CMake: add HTTP/3 support (ngtcp2+nghttp3, quiche)
+ CMake: add HTTP/3 support (ngtcp2+nghttp3, quiche)
- Add three new CMake Find modules (using the curl license, but I grant
- others the right to apply the CMake BSD license instead).
+ Add three new CMake Find modules (using the curl license, but I grant
+ others the right to apply the CMake BSD license instead).
- This CMake config is simpler than the autotools one because it assumes
- ngtcp2 and nghttp3 to be used together. Another difference is that this
- CMake config checks whether QUIC is actually supported by the TLS
- library (patched OpenSSL or boringssl) since this can be a common
- configuration mistake that could result in build errors later.
+ This CMake config is simpler than the autotools one because it assumes
+ ngtcp2 and nghttp3 to be used together. Another difference is that this
+ CMake config checks whether QUIC is actually supported by the TLS
+ library (patched OpenSSL or boringssl) since this can be a common
+ configuration mistake that could result in build errors later.
- Unlike autotools, CMake does not warn you that the features are
- experimental. The user is supposed to already know that and read the
- documentation. It requires a very special build environment anyway.
+ Unlike autotools, CMake does not warn you that the features are
+ experimental. The user is supposed to already know that and read the
+ documentation. It requires a very special build environment anyway.
- Tested with ngtcp2+OpenSSL+nghttp3 and quiche+boringssl, both built from
- current git master. Use `LD_DEBUG=files src/curl |& grep need` to figure
- out which features (libldap-2.4, libssh2) to disable due to conflicts
- with boringssl.
+ Tested with ngtcp2+OpenSSL+nghttp3 and quiche+boringssl, both built from
+ current git master. Use `LD_DEBUG=files src/curl |& grep need` to figure
+ out which features (libldap-2.4, libssh2) to disable due to conflicts
+ with boringssl.
- Closes #5359
+ Closes #5359
-Marc Hoersken (10 May 2020)
-- tests/server/tftpd.c: fix include and enhance debug logging
+Marc Hoersken (10 May 2020)
+- tests/server/tftpd.c: fix include and enhance debug logging
- setjmp.h should only be included if HAVE_SETJMP_H is defined.
+ setjmp.h should only be included if HAVE_SETJMP_H is defined.
- Add additional log statements to see wether reads and writes
- are blocking or finishing before an alarm signal is received.
+ Add additional log statements to see wether reads and writes
+ are blocking or finishing before an alarm signal is received.
- Assisted-by: Peter Wu
- Part of #5364
-
-Daniel Stenberg (10 May 2020)
-- tool_operate: only set CURLOPT_SSL_OPTIONS if SSL support is present
+ Assisted-by: Peter Wu
+ Part of #5364
+
+Daniel Stenberg (10 May 2020)
+- tool_operate: only set CURLOPT_SSL_OPTIONS if SSL support is present
- Reported-by: Marcel Raad
- Follow-up to 148534db5
- Fixes #5367
- Closes #5369
+ Reported-by: Marcel Raad
+ Follow-up to 148534db5
+ Fixes #5367
+ Closes #5369
-Marc Hoersken (9 May 2020)
-- appveyor: update comments to be clear about toolchain
+Marc Hoersken (9 May 2020)
+- appveyor: update comments to be clear about toolchain
+
+ - CMake-based MSYS builds use mingw-w64 to cross-compile.
+ - autotools-based builds are compiled using msys2-devel.
- - CMake-based MSYS builds use mingw-w64 to cross-compile.
- - autotools-based builds are compiled using msys2-devel.
+ The difference is that the later ones are not cross-compiled
+ to Windows and instead require the msys2 runtime to be present.
- The difference is that the later ones are not cross-compiled
- to Windows and instead require the msys2 runtime to be present.
-
- At the moment only the Azure Pipelines CI builds actually
- run autotools-based cross-compilation builds for Windows.
+ At the moment only the Azure Pipelines CI builds actually
+ run autotools-based cross-compilation builds for Windows.
-- TODO: update regarding missing Schannel features
+- TODO: update regarding missing Schannel features
- Some aspects have already been implemented over the years.
+ Some aspects have already been implemented over the years.
- 15.1 Client certificates are now supported:
+ 15.1 Client certificates are now supported:
- - System stores via e35b0256eb34f1fe562e3e2a2615beb50a391c52
- - PKCS#12 files via 0fdf96512613574591f501d63fe49495ba40e1d5
+ - System stores via e35b0256eb34f1fe562e3e2a2615beb50a391c52
+ - PKCS#12 files via 0fdf96512613574591f501d63fe49495ba40e1d5
- 15.2 Ciphers can now be specified through:
+ 15.2 Ciphers can now be specified through:
- - Algorithms via 9aefbff30d280c60fc9d8cc3e0b2f19fc70a2f28
-
- Reviewed-by: Daniel Stenberg and Marcel Raad
- Closes #5358
+ - Algorithms via 9aefbff30d280c60fc9d8cc3e0b2f19fc70a2f28
+
+ Reviewed-by: Daniel Stenberg and Marcel Raad
+ Closes #5358
-Daniel Stenberg (8 May 2020)
-- checksrc: close the .checksrc file handle when done reading
+Daniel Stenberg (8 May 2020)
+- checksrc: close the .checksrc file handle when done reading
-- RELEASE-NOTES: synced
-
- And bumped next version to 7.71.0
+- RELEASE-NOTES: synced
+
+ And bumped next version to 7.71.0
-- [Gilles Vollant brought this change]
+- [Gilles Vollant brought this change]
- CURLOPT_SSL_OPTIONS: add *_NATIVE_CA to use Windows CA store (with openssl)
+ CURLOPT_SSL_OPTIONS: add *_NATIVE_CA to use Windows CA store (with openssl)
- Closes #4346
+ Closes #4346
-- TODO: native IDN support on macOS
+- TODO: native IDN support on macOS
-- urlapi: accept :: as a valid IPv6 address
+- urlapi: accept :: as a valid IPv6 address
- Text 1560 is extended to verify.
+ Text 1560 is extended to verify.
- Reported-by: Pavel Volgarev
- Fixes #5344
- Closes #5351
+ Reported-by: Pavel Volgarev
+ Fixes #5344
+ Closes #5351
+
+- THANKS-filter: Peter Wang
-- THANKS-filter: Peter Wang
+- [Peter Wang brought this change]
-- [Peter Wang brought this change]
-
- *_sspi: fix bad uses of CURLE_NOT_BUILT_IN
+ *_sspi: fix bad uses of CURLE_NOT_BUILT_IN
+
+ Return CURLE_AUTH_ERROR instead of CURLE_NOT_BUILT_IN for other
+ instances of QuerySecurityPackageInfo failing, as in
+ commit 2a81439553286f12cd04a4bdcdf66d8e026d8201.
- Return CURLE_AUTH_ERROR instead of CURLE_NOT_BUILT_IN for other
- instances of QuerySecurityPackageInfo failing, as in
- commit 2a81439553286f12cd04a4bdcdf66d8e026d8201.
-
- Closes #5355
+ Closes #5355
-- docs/HTTP3: add qlog to the quiche build instruction
+- docs/HTTP3: add qlog to the quiche build instruction
-- ngtcp2: introduce qlog support
+- ngtcp2: introduce qlog support
- If the QLOGDIR environment variable is set, enable qlogging.
+ If the QLOGDIR environment variable is set, enable qlogging.
- ... and create Curl_qlogdir() in the new generic vquic/vquic.c file for
- QUIC functions that are backend independent.
+ ... and create Curl_qlogdir() in the new generic vquic/vquic.c file for
+ QUIC functions that are backend independent.
- Closes #5353
-
-- ntlm_sspi: fix bad use of CURLE_NOT_BUILT_IN
+ Closes #5353
+
+- ntlm_sspi: fix bad use of CURLE_NOT_BUILT_IN
- That return code is reserved for build-time conditional code not being
- present while this was a regular run-time error from a Windows API.
+ That return code is reserved for build-time conditional code not being
+ present while this was a regular run-time error from a Windows API.
- Reported-by: wangp on github
- Fixes #5349
- Closes #5350
-
-- runtests: show elapsed test time with higher precision (ms)
-
-- RELEASE-NOTES: synced
-
-- http2: simplify and clean up trailer handling
+ Reported-by: wangp on github
+ Fixes #5349
+ Closes #5350
+
+- runtests: show elapsed test time with higher precision (ms)
+
+- RELEASE-NOTES: synced
+
+- http2: simplify and clean up trailer handling
- Triggered by a crash detected by OSS-Fuzz after the dynbuf introduction in
- ed35d6590e72. This should make the trailer handling more straight forward and
- hopefully less error-prone.
+ Triggered by a crash detected by OSS-Fuzz after the dynbuf introduction in
+ ed35d6590e72. This should make the trailer handling more straight forward and
+ hopefully less error-prone.
- Deliver the trailer header to the callback already at receive-time. No
- longer caches the trailers to get delivered at end of stream.
+ Deliver the trailer header to the callback already at receive-time. No
+ longer caches the trailers to get delivered at end of stream.
- Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=22030
- Closes #5348
+ Bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=22030
+ Closes #5348
-Marc Hoersken (7 May 2020)
-- appveyor: disable test 1139 instead of ignoring it
-
- Spending time on manpage checking makes no sense
- for these builds due to lacking manpage support.
+Marc Hoersken (7 May 2020)
+- appveyor: disable test 1139 instead of ignoring it
+
+ Spending time on manpage checking makes no sense
+ for these builds due to lacking manpage support.
-- appveyor: disable flaky test 1501 and ignore broken 1056
+- appveyor: disable flaky test 1501 and ignore broken 1056
- Test 1501 is flaky on Windows CI due to being time sensitive
- and the testsuite relying on taskkill.exe to check for the
- existance of processes which can take to much time itself.
+ Test 1501 is flaky on Windows CI due to being time sensitive
+ and the testsuite relying on taskkill.exe to check for the
+ existance of processes which can take to much time itself.
- Test 1056 is broken in autotools-based Windows builds due
- to scope ID support missing in these builds at the moment.
+ Test 1056 is broken in autotools-based Windows builds due
+ to scope ID support missing in these builds at the moment.
-- test613.pl: make tests 613 and 614 work with OpenSSH for Windows
+- test613.pl: make tests 613 and 614 work with OpenSSH for Windows
- OpenSSH for Windows shows group and other/world permissions as *,
- because those concepts do not exist on Windows. It also does not
- show the current or parent directory, so we just ignore those.
+ OpenSSH for Windows shows group and other/world permissions as *,
+ because those concepts do not exist on Windows. It also does not
+ show the current or parent directory, so we just ignore those.
- Reviewed-by: Daniel Stenberg
- Closes #5328
+ Reviewed-by: Daniel Stenberg
+ Closes #5328
-Daniel Stenberg (6 May 2020)
-- runtests: set +x mode again
+Daniel Stenberg (6 May 2020)
+- runtests: set +x mode again
-- libssh2: convert over to use dynbuf
+- libssh2: convert over to use dynbuf
- In my very basic test that lists sftp://127.0.0.1/tmp/, this patched
- code makes 161 allocations compared to 194 in git master. A 17%
- reduction.
+ In my very basic test that lists sftp://127.0.0.1/tmp/, this patched
+ code makes 161 allocations compared to 194 in git master. A 17%
+ reduction.
- Closes #5336
+ Closes #5336
-- travis: add "qlog" as feature in the quiche build
+- travis: add "qlog" as feature in the quiche build
-- quiche: enable qlog output
+- quiche: enable qlog output
+
+ quiche has the potential to log qlog files. To enable this, you must
+ build quiche with the qlog feature enabled `cargo build --features
+ qlog`. curl then passes a file descriptor to quiche, which takes
+ ownership of the file. The FD transfer only works on UNIX.
- quiche has the potential to log qlog files. To enable this, you must
- build quiche with the qlog feature enabled `cargo build --features
- qlog`. curl then passes a file descriptor to quiche, which takes
- ownership of the file. The FD transfer only works on UNIX.
+ The convention is to enable logging when the QLOGDIR environment is
+ set. This should be a path to a folder where files are written with the
+ naming template <SCID>.qlog.
- The convention is to enable logging when the QLOGDIR environment is
- set. This should be a path to a folder where files are written with the
- naming template <SCID>.qlog.
-
- Co-authored-by: Lucas Pardue
- Replaces #5337
- Closes #5341
+ Co-authored-by: Lucas Pardue
+ Replaces #5337
+ Closes #5341
-- urldata.h: remove #define HEADERSIZE, not used anymore
+- urldata.h: remove #define HEADERSIZE, not used anymore
- Follow-up to ed35d6590e72c
-
-- ngtcp2: convert to dynbuf
+ Follow-up to ed35d6590e72c
+
+- ngtcp2: convert to dynbuf
- Closes #5335
+ Closes #5335
-- connect: make happy eyeballs work for QUIC (again)
+- connect: make happy eyeballs work for QUIC (again)
- Follow-up from dbd16c3e256c6c (regression in 7.70.0)
+ Follow-up from dbd16c3e256c6c (regression in 7.70.0)
- Closes #5334
+ Closes #5334
-- connect: add two asserts to clue code analyzers in a little
+- connect: add two asserts to clue code analyzers in a little
-- http_proxy: ported to use dynbuf instead of a static size buffer
+- http_proxy: ported to use dynbuf instead of a static size buffer
- Removes a 16K static buffer from the easy handle. Simplifies the code.
+ Removes a 16K static buffer from the easy handle. Simplifies the code.
-- dynbuf: introduce internal generic dynamic buffer functions
+- dynbuf: introduce internal generic dynamic buffer functions
- A common set of functions instead of many separate implementations for
- creating buffers that can grow when appending data to them. Existing
- functionality has been ported over.
+ A common set of functions instead of many separate implementations for
+ creating buffers that can grow when appending data to them. Existing
+ functionality has been ported over.
- In my early basic testing, the total number of allocations seem at
- roughly the same amount as before, possibly a few less.
+ In my early basic testing, the total number of allocations seem at
+ roughly the same amount as before, possibly a few less.
- See docs/DYNBUF.md for a description of the API.
+ See docs/DYNBUF.md for a description of the API.
- Closes #5300
+ Closes #5300
-- runtests: remove sleep calls
+- runtests: remove sleep calls
- Remove many one second sleeps that were done *after* each newly started
- test server already has been verified. They should not have any purpose
- there.
+ Remove many one second sleeps that were done *after* each newly started
+ test server already has been verified. They should not have any purpose
+ there.
- Closes #5323
+ Closes #5323
-- asyn-*: remove support for never-used NULL entry pointers
+- asyn-*: remove support for never-used NULL entry pointers
- ... and instead convert those to asserts to make sure they are truly
- never NULL.
+ ... and instead convert those to asserts to make sure they are truly
+ never NULL.
- Closes #5324
+ Closes #5324
-- [Emil Engler brought this change]
+- [Emil Engler brought this change]
- doc: Rename VERSIONS to VERSIONS.md as it already has Markdown syntax
+ doc: Rename VERSIONS to VERSIONS.md as it already has Markdown syntax
- Closes #5325
+ Closes #5325
-Jay Satiro (2 May 2020)
-- asyn-thread: fix cppcheck warning
+Jay Satiro (2 May 2020)
+- asyn-thread: fix cppcheck warning
- - Check for NULL entry parameter before attempting to deref entry in
- Curl_resolver_is_resolved, like is already done in asyn-ares.
+ - Check for NULL entry parameter before attempting to deref entry in
+ Curl_resolver_is_resolved, like is already done in asyn-ares.
- This is to silence cppcheck which does not seem to understand that
- asyn-ares and asyn-thread have separate Curl_resolver_is_resolved
- and those units are mutually exclusive. Prior to this change it warned
- of a scenario where asyn-thread's Curl_resolver_is_resolved is called
- with a NULL entry from asyn-ares, but that couldn't happen.
+ This is to silence cppcheck which does not seem to understand that
+ asyn-ares and asyn-thread have separate Curl_resolver_is_resolved
+ and those units are mutually exclusive. Prior to this change it warned
+ of a scenario where asyn-thread's Curl_resolver_is_resolved is called
+ with a NULL entry from asyn-ares, but that couldn't happen.
- Reported-by: rl1987@users.noreply.github.com
+ Reported-by: rl1987@users.noreply.github.com
- Fixes https://github.com/curl/curl/issues/5326
+ Fixes https://github.com/curl/curl/issues/5326
-- select: fix overflow protection in Curl_socket_check
+- select: fix overflow protection in Curl_socket_check
+
+ Follow-up to a96c752 which changed the timeout_ms type from time_t to
+ timediff_t.
- Follow-up to a96c752 which changed the timeout_ms type from time_t to
- timediff_t.
+ Ref: https://github.com/curl/curl/pull/5240
- Ref: https://github.com/curl/curl/pull/5240
-
- Closes https://github.com/curl/curl/pull/5286
+ Closes https://github.com/curl/curl/pull/5286
-Marc Hoersken (2 May 2020)
-- sockfilt: make select_ws stop waiting on exit signal event
+Marc Hoersken (2 May 2020)
+- sockfilt: make select_ws stop waiting on exit signal event
- This makes sure that select_ws behaves similar to real select
- which stops waiting on a signal handler being triggered.
+ This makes sure that select_ws behaves similar to real select
+ which stops waiting on a signal handler being triggered.
- This makes it possible to gracefully stop sockfilt.exe on
- Windows with taskkill /IM sockfilt.exe (without /F force flag).
+ This makes it possible to gracefully stop sockfilt.exe on
+ Windows with taskkill /IM sockfilt.exe (without /F force flag).
- Reviewed-by: Jay Satiro
- Part of #5260
+ Reviewed-by: Jay Satiro
+ Part of #5260
-- tests/server/util.[ch]: add exit event to stop waiting on Windows
+- tests/server/util.[ch]: add exit event to stop waiting on Windows
- This commit adds a global exit event to the test servers that
- Windows-specific wait routines can use to get triggered if the
- program was signaled to be terminated, eg. select_ws in sockfilt.c
+ This commit adds a global exit event to the test servers that
+ Windows-specific wait routines can use to get triggered if the
+ program was signaled to be terminated, eg. select_ws in sockfilt.c
- The exit event will be managed by the signal handling code and is
- set to not reset automatically to support multiple wait routines.
+ The exit event will be managed by the signal handling code and is
+ set to not reset automatically to support multiple wait routines.
- Reviewed-by: Jay Satiro
- Closes #5260
+ Reviewed-by: Jay Satiro
+ Closes #5260
-- tests/server/util.c: fix thread handle not being closed
-
- Reviewed-by: Jay Satiro
- Part of #5260
+- tests/server/util.c: fix thread handle not being closed
+
+ Reviewed-by: Jay Satiro
+ Part of #5260
-- tests/server/util.c: use raise instead of calling signal handler
+- tests/server/util.c: use raise instead of calling signal handler
- Use raise to trigger signal handler instead of calling it
- directly and causing potential unexpected control flow.
+ Use raise to trigger signal handler instead of calling it
+ directly and causing potential unexpected control flow.
- Reviewed-by: Jay Satiro
- Part of #5260
+ Reviewed-by: Jay Satiro
+ Part of #5260
-- tests: add support for SSH server variant specific transfer paths
+- tests: add support for SSH server variant specific transfer paths
- OpenSSH for Windows requires paths in the format of /C:/
- instead of the pseudo-POSIX paths /cygdrive/c/ or just /c/
+ OpenSSH for Windows requires paths in the format of /C:/
+ instead of the pseudo-POSIX paths /cygdrive/c/ or just /c/
- Reviewed-by: Daniel Stenberg
- Closes #5298
+ Reviewed-by: Daniel Stenberg
+ Closes #5298
-Daniel Stenberg (2 May 2020)
+Daniel Stenberg (2 May 2020)
- RELEASE-NOTES: synced
-- libssh2: set the expected total size in SCP upload init
+- libssh2: set the expected total size in SCP upload init
- ... as otherwise the progress callback gets called without that
- information, making the progress meter have less info.
+ ... as otherwise the progress callback gets called without that
+ information, making the progress meter have less info.
- Reported-by: Murugan Balraj
- Bug: https://curl.haxx.se/mail/archive-2020-05/0000.html
- Closes #5317
+ Reported-by: Murugan Balraj
+ Bug: https://curl.haxx.se/mail/archive-2020-05/0000.html
+ Closes #5317
-- runtests: make the logmsg from the ssh server only show in verbose
-
-- tests: make test 1248 + 1249 use %NOLISTENPORT
+- runtests: make the logmsg from the ssh server only show in verbose
+
+- tests: make test 1248 + 1249 use %NOLISTENPORT
- ... instead of a port of a non-running server so that it works
- stand-alone.
+ ... instead of a port of a non-running server so that it works
+ stand-alone.
- Closes #5318
+ Closes #5318
-- examples: remove asiohiper.cpp
+- examples: remove asiohiper.cpp
- This example has repeatedly been reported to contain bugs, and as users
- copy and paste code from this into production, I now deem it better to
- not provide the example at all.
+ This example has repeatedly been reported to contain bugs, and as users
+ copy and paste code from this into production, I now deem it better to
+ not provide the example at all.
- Closes #5090
- Closes #5322
+ Closes #5090
+ Closes #5322
+
+- [Emil Engler brought this change]
-- [Emil Engler brought this change]
-
- doc: add missing closing parenthesis in CURLINFO_SSL_VERIFYRESULT.3
+ doc: add missing closing parenthesis in CURLINFO_SSL_VERIFYRESULT.3
- Closes #5320
+ Closes #5320
-- [Emil Engler brought this change]
-
- KNOWN_BUGS: Remove "curl --upload-file . hang if delay in STDIN"
+- [Emil Engler brought this change]
+
+ KNOWN_BUGS: Remove "curl --upload-file . hang if delay in STDIN"
- It was fixed in 9a2cbf3
+ It was fixed in 9a2cbf3
- Closes #5319
+ Closes #5319
-- cirrus: disable SFTP and SCP tests
+- cirrus: disable SFTP and SCP tests
- ... as we can't seem to start the sshd server on it. Those problems
- existed before d1239b50bececd (running the SSH server on a random port),
- but they're more noticable now since there are more failed attempts in
- the logs.
+ ... as we can't seem to start the sshd server on it. Those problems
+ existed before d1239b50bececd (running the SSH server on a random port),
+ but they're more noticable now since there are more failed attempts in
+ the logs.
- Closes #5315
+ Closes #5315
+
+- [Emil Engler brought this change]
-- [Emil Engler brought this change]
-
- runtests: fix typo in the existence of disabled tests checker
+ runtests: fix typo in the existence of disabled tests checker
- Closes #5316
-
-Dan Fandrich (30 Apr 2020)
-- test75: Remove precheck test
+ Closes #5316
+
+Dan Fandrich (30 Apr 2020)
+- test75: Remove precheck test
- This has not been needed since commit 9fa42bed and often prevents it
- from running at all with dynamic test ports.
+ This has not been needed since commit 9fa42bed and often prevents it
+ from running at all with dynamic test ports.
-- tests: Stop referring to server ports when they're not used
-
- Several tests referred to specific server ports even when the test
- didn't actually use that server or specify that it's needed. In such
- cases, the test harness substitutes the text "[not running]" as the port
- number which causes many such tests to fail due to the inability to
- parse the URL. These tests are changed to use %NOLISTENPORT which will
- always be substituted correctly.
+- tests: Stop referring to server ports when they're not used
+
+ Several tests referred to specific server ports even when the test
+ didn't actually use that server or specify that it's needed. In such
+ cases, the test harness substitutes the text "[not running]" as the port
+ number which causes many such tests to fail due to the inability to
+ parse the URL. These tests are changed to use %NOLISTENPORT which will
+ always be substituted correctly.
-Daniel Stenberg (30 Apr 2020)
-- [Emil Engler brought this change]
+Daniel Stenberg (30 Apr 2020)
+- [Emil Engler brought this change]
- GnuTLS: Backend support for CURLINFO_SSL_VERIFYRESULT
+ GnuTLS: Backend support for CURLINFO_SSL_VERIFYRESULT
- Closes #5287
+ Closes #5287
-- conncache: various concept cleanups
+- conncache: various concept cleanups
- More connection cache accesses are protected by locks.
+ More connection cache accesses are protected by locks.
- CONNCACHE_* is a beter prefix for the connection cache lock macros.
+ CONNCACHE_* is a beter prefix for the connection cache lock macros.
- Curl_attach_connnection: now called as soon as there's a connection
- struct available and before the connection is added to the connection
- cache.
-
- Curl_disconnect: now assumes that the connection is already removed from
- the connection cache.
-
- Ref: #4915
- Closes #5009
+ Curl_attach_connnection: now called as soon as there's a connection
+ struct available and before the connection is added to the connection
+ cache.
+
+ Curl_disconnect: now assumes that the connection is already removed from
+ the connection cache.
+
+ Ref: #4915
+ Closes #5009
-- tests: tests: run stunnel for HTTPS and FTPS on dynamic ports
+- tests: tests: run stunnel for HTTPS and FTPS on dynamic ports
- As stunnel is an external tool and it has no specific option to export
- the actually used port number when asked to listen to 0, runtests
- instead iterates over ten randomly picked high number ports and sticks
- to the first one stunnel can listen to.
+ As stunnel is an external tool and it has no specific option to export
+ the actually used port number when asked to listen to 0, runtests
+ instead iterates over ten randomly picked high number ports and sticks
+ to the first one stunnel can listen to.
- Closes #5267
+ Closes #5267
-- tests: pick a random port number for SSH
+- tests: pick a random port number for SSH
- Since sshd doesn't have such an option by itself, we iterate over a
- series of random ports until one works.
+ Since sshd doesn't have such an option by itself, we iterate over a
+ series of random ports until one works.
- Closes #5273
+ Closes #5273
-- [Rikard Falkeborn brought this change]
+- [Rikard Falkeborn brought this change]
- libtest/cmake: Remove commented code
+ libtest/cmake: Remove commented code
- These were commented out in e9dd0998706a when Makefile.inc was included
- instead. 11 years have passed since then and the commented code is of
- course very outdated. Remove it to avoid confusion.
+ These were commented out in e9dd0998706a when Makefile.inc was included
+ instead. 11 years have passed since then and the commented code is of
+ course very outdated. Remove it to avoid confusion.
- Closes #5311
-
-- schannel: source code reindent
+ Closes #5311
+
+- schannel: source code reindent
- White space edits only. Conform better to standard curl source code
- indenting style.
+ White space edits only. Conform better to standard curl source code
+ indenting style.
- Closes #5305
+ Closes #5305
-Kamil Dudka (29 Apr 2020)
-- test1177: look for curl.h in source directory
+Kamil Dudka (29 Apr 2020)
+- test1177: look for curl.h in source directory
- If we use a separate build directory, there is no copy of the header.
+ If we use a separate build directory, there is no copy of the header.
- Closes #5310
+ Closes #5310
-- tests: look for preprocessed tests in build directory
+- tests: look for preprocessed tests in build directory
- ... which is not always the same directory as source directory
+ ... which is not always the same directory as source directory
- Closes #5310
+ Closes #5310
-Daniel Stenberg (29 Apr 2020)
-- RELEASE-NOTES: synced
+Daniel Stenberg (29 Apr 2020)
+- RELEASE-NOTES: synced
- ... and bumped curlver.h to 7.70.1
+ ... and bumped curlver.h to 7.70.1
-Version 7.70.0 (29 Apr 2020)
+Version 7.70.0 (29 Apr 2020)
-Daniel Stenberg (29 Apr 2020)
-- RELEASE-NOTES: 7.70.0
+Daniel Stenberg (29 Apr 2020)
+- RELEASE-NOTES: 7.70.0
-- THANKS: synced with the 7.70.0 release
+- THANKS: synced with the 7.70.0 release
-- headers: copyright range fix
+- headers: copyright range fix
-- [Rikard Falkeborn brought this change]
+- [Rikard Falkeborn brought this change]
- doh: Constify some input pointers
+ doh: Constify some input pointers
- Closes #5306
-
-- nss: check for PK11_CreateDigestContext() returning NULL
+ Closes #5306
+
+- nss: check for PK11_CreateDigestContext() returning NULL
- ... to avoid crashes!
+ ... to avoid crashes!
- Reported-by: Hao Wu
- Fixes #5302
- Closes #5303
+ Reported-by: Hao Wu
+ Fixes #5302
+ Closes #5303
-- travis: bump the wolfssl CI build to use 4.4.0
+- travis: bump the wolfssl CI build to use 4.4.0
- Closes #5301
-
-- copyright updates: adjust year ranges
-
-Marc Hoersken (26 Apr 2020)
-- CI: do not include */ci branches in PR builds
+ Closes #5301
+
+- copyright updates: adjust year ranges
+
+Marc Hoersken (26 Apr 2020)
+- CI: do not include */ci branches in PR builds
- Align Azure Pipelines with GitHub Actions.
+ Align Azure Pipelines with GitHub Actions.
-Daniel Stenberg (25 Apr 2020)
-- runtests: check for the disabled tests relative srcdir
+Daniel Stenberg (25 Apr 2020)
+- runtests: check for the disabled tests relative srcdir
- To make it work correctly for out-of-tree builds.
+ To make it work correctly for out-of-tree builds.
- Follow-up to 75e8feb6fb08b
+ Follow-up to 75e8feb6fb08b
- Bug: https://github.com/curl/curl/pull/5288#issuecomment-619346389
- Reported-by: Marcel Raad
- Closes #5297
-
-- runtests: revert commenting out a line I did for debugging
+ Bug: https://github.com/curl/curl/pull/5288#issuecomment-619346389
+ Reported-by: Marcel Raad
+ Closes #5297
+
+- runtests: revert commenting out a line I did for debugging
- Follow-up to 11091cd4d. It was not meant to be pushed!
-
-- smtp: set auth correctly
+ Follow-up to 11091cd4d. It was not meant to be pushed!
+
+- smtp: set auth correctly
- Regression since 7.69.0 and 68fb25fa3fcff.
+ Regression since 7.69.0 and 68fb25fa3fcff.
- The code wrongly assigned 'from' instead of 'auth' which probably was a
- copy and paste mistake from other code, leading to that auth could
- remain NULL and later cause an error to be returned.
+ The code wrongly assigned 'from' instead of 'auth' which probably was a
+ copy and paste mistake from other code, leading to that auth could
+ remain NULL and later cause an error to be returned.
- Assisted-by: Eric Sauvageau
- Fixes #5294
- Closes #5295
-
-Marcel Raad (25 Apr 2020)
-- lib: clean up whitespace
+ Assisted-by: Eric Sauvageau
+ Fixes #5294
+ Closes #5295
+
+Marcel Raad (25 Apr 2020)
+- lib: clean up whitespace
- This fixes CodeFactor warnings.
-
-Daniel Stenberg (25 Apr 2020)
-- [Anderson Toshiyuki Sasaki brought this change]
-
- libssh: avoid options override by configuration files
+ This fixes CodeFactor warnings.
+
+Daniel Stenberg (25 Apr 2020)
+- [Anderson Toshiyuki Sasaki brought this change]
+
+ libssh: avoid options override by configuration files
- Previously, options set explicitly through command line options could be
- overridden by the configuration files parsed automatically when
- ssh_connect() was called.
+ Previously, options set explicitly through command line options could be
+ overridden by the configuration files parsed automatically when
+ ssh_connect() was called.
- By calling ssh_options_parse_config() explicitly, the configuration
- files are parsed before setting the options, avoiding the options
- override. Once the configuration files are parsed, the automatic
- configuration parsing is not executed.
+ By calling ssh_options_parse_config() explicitly, the configuration
+ files are parsed before setting the options, avoiding the options
+ override. Once the configuration files are parsed, the automatic
+ configuration parsing is not executed.
- Fixes #4972
- Closes #5283
- Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
-
-- runtests: when <killserver> mentions http, kill http/2 too
+ Fixes #4972
+ Closes #5283
+ Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
+
+- runtests: when <killserver> mentions http, kill http/2 too
- Since the http2 test server is a mere proxy that needs to know about the
- dynamic port the HTTP server is using, it too needs to get restarted
- when the http server is killed.
+ Since the http2 test server is a mere proxy that needs to know about the
+ dynamic port the HTTP server is using, it too needs to get restarted
+ when the http server is killed.
- A regression caused by 80d6515.
+ A regression caused by 80d6515.
- Fixes #5289
- Closes #5291
+ Fixes #5289
+ Closes #5291
-- [Yuri Slobodyanyuk brought this change]
+- [Yuri Slobodyanyuk brought this change]
- docs: fix two typos
+ docs: fix two typos
- Closes #5292
+ Closes #5292
+
+- [Emil Engler brought this change]
-- [Emil Engler brought this change]
-
- tests/git: ignore mqttd and port files
+ tests/git: ignore mqttd and port files
- Closes #5290
+ Closes #5290
-- tests: make runtests check that disabled tests exists
+- tests: make runtests check that disabled tests exists
- ... and error out if so. Removed '536' from DISABLED as there is no such
- test file.
+ ... and error out if so. Removed '536' from DISABLED as there is no such
+ test file.
- Closes #5288
+ Closes #5288
-- test1154: set a proper name
+- test1154: set a proper name
-- select: make Curl_socket_check take timediff_t timeout
+- select: make Curl_socket_check take timediff_t timeout
- Coverity found CID 1461718:
+ Coverity found CID 1461718:
- Integer handling issues (CONSTANT_EXPRESSION_RESULT) "timeout_ms >
- 9223372036854775807L" is always false regardless of the values of its
- operands. This occurs as the logical second operand of "||".
-
- Closes #5240
+ Integer handling issues (CONSTANT_EXPRESSION_RESULT) "timeout_ms >
+ 9223372036854775807L" is always false regardless of the values of its
+ operands. This occurs as the logical second operand of "||".
+
+ Closes #5240
-- [i-ky brought this change]
+- [i-ky brought this change]
- libcurl-multi.3: added missing full stop
+ libcurl-multi.3: added missing full stop
- Closes #5285
+ Closes #5285
-Jay Satiro (22 Apr 2020)
-- transfer: Switch PUT to GET/HEAD on 303 redirect
+Jay Satiro (22 Apr 2020)
+- transfer: Switch PUT to GET/HEAD on 303 redirect
- Prior to this change if there was a 303 reply to a PUT request then
- the subsequent request to respond to that redirect would also be a PUT.
- It was determined that was most likely incorrect based on the language
- of the RFCs. Basically 303 means "see other" resource, which implies it
- is most likely not the same resource, therefore we should not try to PUT
- to that different resource.
+ Prior to this change if there was a 303 reply to a PUT request then
+ the subsequent request to respond to that redirect would also be a PUT.
+ It was determined that was most likely incorrect based on the language
+ of the RFCs. Basically 303 means "see other" resource, which implies it
+ is most likely not the same resource, therefore we should not try to PUT
+ to that different resource.
- Refer to the discussions in #5237 and #5248 for more information.
+ Refer to the discussions in #5237 and #5248 for more information.
- Fixes https://github.com/curl/curl/issues/5237
- Closes https://github.com/curl/curl/pull/5248
+ Fixes https://github.com/curl/curl/issues/5237
+ Closes https://github.com/curl/curl/pull/5248
-Daniel Stenberg (22 Apr 2020)
-- lib/mk-ca-bundle: skip empty certs
+Daniel Stenberg (22 Apr 2020)
+- lib/mk-ca-bundle: skip empty certs
- Reviewed-by: Emil Engler
- Reported-by: Ashwin Metpalli
- Fixes #5278
- Closes #5280
+ Reviewed-by: Emil Engler
+ Reported-by: Ashwin Metpalli
+ Fixes #5278
+ Closes #5280
-- version: skip idn2_check_version() check and add precaution
+- version: skip idn2_check_version() check and add precaution
- A gcc-10's -fanalyze complaint made me spot and do these improvements.
+ A gcc-10's -fanalyze complaint made me spot and do these improvements.
- Closes #5281
+ Closes #5281
+
+- RELEASE-NOTES: synced
+
+- [Brian Bergeron brought this change]
-- RELEASE-NOTES: synced
-
-- [Brian Bergeron brought this change]
-
- curl.h: update comment typo
+ curl.h: update comment typo
- "routines with be invoked" -> "routines will be invoked"
+ "routines with be invoked" -> "routines will be invoked"
- Closes #5279
+ Closes #5279
-- [Emil Engler brought this change]
+- [Emil Engler brought this change]
- GnuTLS: Don't skip really long certificate fields
+ GnuTLS: Don't skip really long certificate fields
- Closes #5271
+ Closes #5271
-- gnutls: bump lowest supported version to 3.1.10
+- gnutls: bump lowest supported version to 3.1.10
- GnuTLS 3.1.10 added new functions we want to use. That version was
- released on Mar 22, 2013. Removing support for older versions also
- greatly simplifies the code.
+ GnuTLS 3.1.10 added new functions we want to use. That version was
+ released on Mar 22, 2013. Removing support for older versions also
+ greatly simplifies the code.
- Ref: #5271
- Closes #5276
-
-- mqtt: make NOSTATE get within the debug name array
-
-- tests: run the RTSP test server on a dynamic port number
+ Ref: #5271
+ Closes #5276
+
+- mqtt: make NOSTATE get within the debug name array
+
+- tests: run the RTSP test server on a dynamic port number
- To avoid port collisions.
+ To avoid port collisions.
- Closes #5272
+ Closes #5272
-- tests: add %NOLISTENPORT and use it
+- tests: add %NOLISTENPORT and use it
+
+ The purpose with this variable is to provide a port number that is
+ reasonably likely to not have a listener on the local host so that tests
+ can try connect failures against it. It uses port 47 - "reserved"
+ according to IANA.
- The purpose with this variable is to provide a port number that is
- reasonably likely to not have a listener on the local host so that tests
- can try connect failures against it. It uses port 47 - "reserved"
- according to IANA.
-
- Updated six tests to use it instead of the previous different ports.
-
- Assisted-by: Emil Engler
- Closes #5270
+ Updated six tests to use it instead of the previous different ports.
+
+ Assisted-by: Emil Engler
+ Closes #5270
-- mqtt: remove code with no purpose
+- mqtt: remove code with no purpose
+
+ Detected by Coverity. CID 1462319.
- Detected by Coverity. CID 1462319.
-
- "The same code is executed when the condition result is true or false,
- because the code in the if-then branch and after the if statement is
- identical."
-
- Closes #5275
+ "The same code is executed when the condition result is true or false,
+ because the code in the if-then branch and after the if statement is
+ identical."
+
+ Closes #5275
-- mqtt: fix Curl_read() error handling while reading remaining length
+- mqtt: fix Curl_read() error handling while reading remaining length
- Detected by Coverity. CID 1462320.
+ Detected by Coverity. CID 1462320.
- Closes #5274
+ Closes #5274
-- server/tftpd: fix compiler warning
+- server/tftpd: fix compiler warning
- Follow-up from 369ce38ac1d
- Reported-by: Marc Hörsken
+ Follow-up from 369ce38ac1d
+ Reported-by: Marc Hörsken
-- http: free memory when Alt-Used header creation fails due to OOM
+- http: free memory when Alt-Used header creation fails due to OOM
- Reported-by: James Fuller
- Fixes #5268
- Closes #5269
+ Reported-by: James Fuller
+ Fixes #5268
+ Closes #5269
-Daniel Gustafsson (20 Apr 2020)
-- lib: fix typos in comments and errormessages
+Daniel Gustafsson (20 Apr 2020)
+- lib: fix typos in comments and errormessages
- This fixes a few randomly spotted typos in recently merged code, most
- notably one in a userfacing errormessage the schannel code.
+ This fixes a few randomly spotted typos in recently merged code, most
+ notably one in a userfacing errormessage the schannel code.
-Daniel Stenberg (20 Apr 2020)
-- tests: run the SOCKS test server on a dynamic port number
+Daniel Stenberg (20 Apr 2020)
+- tests: run the SOCKS test server on a dynamic port number
- Closes #5266
+ Closes #5266
-- [Johannes Schindelin brought this change]
+- [Johannes Schindelin brought this change]
- multi-ssl: reset the SSL backend on `Curl_global_cleanup()`
+ multi-ssl: reset the SSL backend on `Curl_global_cleanup()`
+
+ When cURL is compiled with support for multiple SSL backends, it is
+ possible to configure an SSL backend via `curl_global_sslset()`, but
+ only *before* `curl_global_init()` was called.
- When cURL is compiled with support for multiple SSL backends, it is
- possible to configure an SSL backend via `curl_global_sslset()`, but
- only *before* `curl_global_init()` was called.
+ If another SSL backend should be used after that, a user might be
+ tempted to call `curl_global_cleanup()` to start over. However, we did
+ not foresee that use case and forgot to reset the SSL backend in that
+ cleanup.
- If another SSL backend should be used after that, a user might be
- tempted to call `curl_global_cleanup()` to start over. However, we did
- not foresee that use case and forgot to reset the SSL backend in that
- cleanup.
+ Let's allow that use case.
- Let's allow that use case.
-
- Fixes #5255
- Closes #5257
- Reported-by: davidedec on github
- Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
+ Fixes #5255
+ Closes #5257
+ Reported-by: davidedec on github
+ Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
-- tests: run the TFTP test server on a dynamic port number
+- tests: run the TFTP test server on a dynamic port number
+
+ Picking a dynamic unused port is better than a fixed to avoid the
+ collision risk.
- Picking a dynamic unused port is better than a fixed to avoid the
- collision risk.
-
- Closes #5265
+ Closes #5265
-- mqtt: improve the state machine
+- mqtt: improve the state machine
- To handle PUBLISH before SUBACK and more.
+ To handle PUBLISH before SUBACK and more.
- Updated the existing tests and added three new ones.
+ Updated the existing tests and added three new ones.
- Reported-by: Christoph Krey
- Bug: https://curl.haxx.se/mail/lib-2020-04/0021.html
- Closes #5246
+ Reported-by: Christoph Krey
+ Bug: https://curl.haxx.se/mail/lib-2020-04/0021.html
+ Closes #5246
-- runtests: always put test number in servercmd file
+- runtests: always put test number in servercmd file
- RELEASE-NOTES: synced
-- release-notes.pl: fix parsing typo
+- release-notes.pl: fix parsing typo
-James Fuller (20 Apr 2020)
-- ensure all references to ports are replaced by vars
+James Fuller (20 Apr 2020)
+- ensure all references to ports are replaced by vars
-- add more alt-svc test coverage
+- add more alt-svc test coverage
-Daniel Stenberg (20 Apr 2020)
-- test1247: use http server to get the port number set
+Daniel Stenberg (20 Apr 2020)
+- test1247: use http server to get the port number set
- Follow-up to 0f5db7b263f
+ Follow-up to 0f5db7b263f
-- runtests: use a unix domain socket path with the pid in the name
+- runtests: use a unix domain socket path with the pid in the name
- To make it impossible for test cases to access the file name without
- using the proper variable for the purpose.
+ To make it impossible for test cases to access the file name without
+ using the proper variable for the purpose.
- Closes #5264
+ Closes #5264
-Daniel Gustafsson (19 Apr 2020)
-- [Mipsters on github brought this change]
+Daniel Gustafsson (19 Apr 2020)
+- [Mipsters on github brought this change]
- src: Remove C99 constructs to ensure C89 compliance
+ src: Remove C99 constructs to ensure C89 compliance
- This fixes the error: 'for' loop initial declaration used outside C99
- mode by declaring the loop increment variable in the beginning of the
- block instead of inside the for loop.
+ This fixes the error: 'for' loop initial declaration used outside C99
+ mode by declaring the loop increment variable in the beginning of the
+ block instead of inside the for loop.
+
+ Fixes #5254
+ Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
+
+Daniel Stenberg (19 Apr 2020)
+- runtests: dummy init the ports variables to avoid warnings
- Fixes #5254
- Reviewed-by: Daniel Gustafsson <daniel@yesql.se>
+ ... and generate something that can help debug test cases.
-Daniel Stenberg (19 Apr 2020)
-- runtests: dummy init the ports variables to avoid warnings
-
- ... and generate something that can help debug test cases.
+- [Patrick Monnerat brought this change]
-- [Patrick Monnerat brought this change]
-
- mime: properly check Content-Type even if it has parameters
+ mime: properly check Content-Type even if it has parameters
- New test 669 checks this fix is effective.
+ New test 669 checks this fix is effective.
- Fixes #5256
- Closes #5258
- Reported-by: thanhchungbtc on github
+ Fixes #5256
+ Closes #5258
+ Reported-by: thanhchungbtc on github
-- tests/FILEFORMAT: converted to markdown and extended
+- tests/FILEFORMAT: converted to markdown and extended
- Closes #5261
+ Closes #5261
-- test1245: make it work with dynamic FTP server port
-
-- test1055: make it work with dynamic FTP port
-
-- test1028: make it run on dynamic FTP server port
-
-- tests: move pingpong server to dynamic listening port
+- test1245: make it work with dynamic FTP server port
+
+- test1055: make it work with dynamic FTP port
+
+- test1028: make it run on dynamic FTP server port
+
+- tests: move pingpong server to dynamic listening port
- FTP, IMAP, POP3, SMTP and their IPv6 versions are now all on dynamic
- ports
+ FTP, IMAP, POP3, SMTP and their IPv6 versions are now all on dynamic
+ ports
- Test 842-845 are unfortunately a bit hard to move over to this concept
- right now and require "default port" still...
+ Test 842-845 are unfortunately a bit hard to move over to this concept
+ right now and require "default port" still...
-- test1056: work with dynamic HTTP ipv6 port
+- test1056: work with dynamic HTTP ipv6 port
-- test1448: work with dynamic HTTP server port
-
-- tests: introduce preprocessed test cases
+- test1448: work with dynamic HTTP server port
+
+- tests: introduce preprocessed test cases
- The runtests script now always performs variable replacement on the
- entire test source file before the test gets executed, and saves the
- updated version in a temporary file (log/test[num]) so that all test
- case readers/servers can use that version (if present) and thus enjoy
- the powers of test case variable substitution.
+ The runtests script now always performs variable replacement on the
+ entire test source file before the test gets executed, and saves the
+ updated version in a temporary file (log/test[num]) so that all test
+ case readers/servers can use that version (if present) and thus enjoy
+ the powers of test case variable substitution.
- This is necessary to allow complete port number freedom.
+ This is necessary to allow complete port number freedom.
- Test 309 is updated to work with a non-fixed port number thanks to this.
+ Test 309 is updated to work with a non-fixed port number thanks to this.
-- tests: make 2006-2010 handle different port number lengths
+- tests: make 2006-2010 handle different port number lengths
-- tests: run the sws server on "any port"
+- tests: run the sws server on "any port"
- Makes the test servers for HTTP and Gopher pop up on a currently unused
- port and runtests adapts to that!
+ Makes the test servers for HTTP and Gopher pop up on a currently unused
+ port and runtests adapts to that!
- Closes #5247
+ Closes #5247
-Marc Hoersken (18 Apr 2020)
-- sockfilt: tidy variable naming and data structure in select_ws
+Marc Hoersken (18 Apr 2020)
+- sockfilt: tidy variable naming and data structure in select_ws
- This commit does not introduce any logical changes to the code.
+ This commit does not introduce any logical changes to the code.
- Reviewed-by: Jay Satiro and Marcel Raad
- Closes #5238
+ Reviewed-by: Jay Satiro and Marcel Raad
+ Closes #5238
-Daniel Stenberg (17 Apr 2020)
-- [Anderson Toshiyuki Sasaki brought this change]
+Daniel Stenberg (17 Apr 2020)
+- [Anderson Toshiyuki Sasaki brought this change]
- libssh: Use new ECDSA key types to check known hosts
+ libssh: Use new ECDSA key types to check known hosts
- From libssh 0.9.0, ssh_key_type() returns different key types for ECDSA
- keys depending on the curve.
+ From libssh 0.9.0, ssh_key_type() returns different key types for ECDSA
+ keys depending on the curve.
- Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
- Fixes #5252
- Closes #5253
-
-Marcel Raad (17 Apr 2020)
-- appveyor: add Unicode winbuild jobs
+ Signed-off-by: Anderson Toshiyuki Sasaki <ansasaki@redhat.com>
+ Fixes #5252
+ Closes #5253
+
+Marcel Raad (17 Apr 2020)
+- appveyor: add Unicode winbuild jobs
- These are cheap as they don't build tests.
-
- Closes https://github.com/curl/curl/pull/5063
+ These are cheap as they don't build tests.
+
+ Closes https://github.com/curl/curl/pull/5063
-Daniel Stenberg (16 Apr 2020)
-- mqttd: s/errno/SOCKERRNO
+Daniel Stenberg (16 Apr 2020)
+- mqttd: s/errno/SOCKERRNO
- To behave proper on Windows
- Reported-by: Gisle Vanem
- Bug: https://github.com/curl/curl/commit/5e855bbd18f84a02c951be7cac6188276818cdac#r38507132
- Closes #5241
+ To behave proper on Windows
+ Reported-by: Gisle Vanem
+ Bug: https://github.com/curl/curl/commit/5e855bbd18f84a02c951be7cac6188276818cdac#r38507132
+ Closes #5241
-- buildconf: use find -execdir instead, remove -print and the ares files
+- buildconf: use find -execdir instead, remove -print and the ares files
- Follow-up to 1e41bec96a6e
+ Follow-up to 1e41bec96a6e
- Suggested-by: Marc Hörsken
+ Suggested-by: Marc Hörsken
-- [Alexander V. Tikhonov brought this change]
+- [Alexander V. Tikhonov brought this change]
- buildconf: avoid using tempfile when removing files
+ buildconf: avoid using tempfile when removing files
- Closes #5213
+ Closes #5213
+
+- copyright: bump the copyright year range
-- copyright: bump the copyright year range
+- scripts/release-notes.pl: accept colon after the Fixes/Closes keywords
-- scripts/release-notes.pl: accept colon after the Fixes/Closes keywords
+- [JP Mens brought this change]
-- [JP Mens brought this change]
-
- docs/MQTT: replace confusing 80 by 75
+ docs/MQTT: replace confusing 80 by 75
- I was a bit surprised by the `80`: first thought: what's HTTP doing
- here? ;)
+ I was a bit surprised by the `80`: first thought: what's HTTP doing
+ here? ;)
- Closes #5236
+ Closes #5236
-- [Brad King brought this change]
+- [Brad King brought this change]
- cmake: Avoid MSVC C4273 warnings in send/recv checks
+ cmake: Avoid MSVC C4273 warnings in send/recv checks
- We use `check_c_source_compiles` to check possible send/recv signatures
- by reproducing the forward declarations from system headers. On Windows
- the `winsock2.h` header adds dll linkage settings to its forward
- declaration. If ours does not match the compiler warns:
+ We use `check_c_source_compiles` to check possible send/recv signatures
+ by reproducing the forward declarations from system headers. On Windows
+ the `winsock2.h` header adds dll linkage settings to its forward
+ declaration. If ours does not match the compiler warns:
- warning C4273: 'recv': inconsistent dll linkage
+ warning C4273: 'recv': inconsistent dll linkage
- Add `WINSOCK_API_LINKAGE` to our test signatures when it is defined so
- that our linkage is consistent with that from `winsock2.h`.
-
- Fixes #4764
- Closes #5232
+ Add `WINSOCK_API_LINKAGE` to our test signatures when it is defined so
+ that our linkage is consistent with that from `winsock2.h`.
+
+ Fixes #4764
+ Closes #5232
-Jay Satiro (14 Apr 2020)
-- KNOWN_BUGS: Add entry 'Blocking socket operations'
+Jay Satiro (14 Apr 2020)
+- KNOWN_BUGS: Add entry 'Blocking socket operations'
+
+ - Add threaded resolver cleanup and GSSAPI for FTP to the TODO list of
+ known blocking operations.
- - Add threaded resolver cleanup and GSSAPI for FTP to the TODO list of
- known blocking operations.
+ - New known bugs entry 'Blocking socket operations in non-blocking API'
+ that directs to the TODO's list of known blocking operations.
- - New known bugs entry 'Blocking socket operations in non-blocking API'
- that directs to the TODO's list of known blocking operations.
+ Ref: https://github.com/curl/curl/pull/5214#issuecomment-612488021
- Ref: https://github.com/curl/curl/pull/5214#issuecomment-612488021
-
- Reported-by: Marc Hoersken
-
- Closes https://github.com/curl/curl/pull/5216
+ Reported-by: Marc Hoersken
+
+ Closes https://github.com/curl/curl/pull/5216
-Marc Hoersken (14 Apr 2020)
-- test2043: use revoked.badssl.com instead of revoked.grc.com
+Marc Hoersken (14 Apr 2020)
+- test2043: use revoked.badssl.com instead of revoked.grc.com
- The certificate of revoked.grc.com has expired on 2020-04-13.
+ The certificate of revoked.grc.com has expired on 2020-04-13.
- Reviewed-by: Jay Satiro
+ Reviewed-by: Jay Satiro
- Closes #5233
+ Closes #5233
-- sockfilt: fix broken pipe on Windows to be ready in select_ws
+- sockfilt: fix broken pipe on Windows to be ready in select_ws
- Closes #5228
+ Closes #5228
-Daniel Stenberg (14 Apr 2020)
+Daniel Stenberg (14 Apr 2020)
- RELEASE-NOTES: synced
-- scripts/release-notes: fix duplicate output header
+- scripts/release-notes: fix duplicate output header
+
+- github/workflow: enable MQTT in the macOS debug build
+
+- azure: add mqtt support to one of the Windows builds
+
+- travis: add mqtt job on Linux
+
+- tests: add four MQTT tests 1190 - 1193
-- github/workflow: enable MQTT in the macOS debug build
+- tests: add the mqtt test server mqttd
-- azure: add mqtt support to one of the Windows builds
-
-- travis: add mqtt job on Linux
-
-- tests: add four MQTT tests 1190 - 1193
-
-- tests: add the mqtt test server mqttd
-
-- tests: support hex encoded data and mqtt server
+- tests: support hex encoded data and mqtt server
- The mqtt server is started using a "random" port.
-
-- [Björn Stenberg brought this change]
-
- mqtt: add new experimental protocol
+ The mqtt server is started using a "random" port.
+
+- [Björn Stenberg brought this change]
+
+ mqtt: add new experimental protocol
- Closes #5173
-
-- TODO: Consider convenience options for JSON and XML?
+ Closes #5173
+
+- TODO: Consider convenience options for JSON and XML?
- Closes #5203
+ Closes #5203
-- tool: do not declare functions with Curl_ prefix
+- tool: do not declare functions with Curl_ prefix
+
+ To avoid collision risks with private libcurl symbols when linked with
+ static versions (or just versions not hiding internal symbols).
- To avoid collision risks with private libcurl symbols when linked with
- static versions (or just versions not hiding internal symbols).
-
- Reported-by: hydra3333 on github
- Fixes #5219
- Closes #5234
+ Reported-by: hydra3333 on github
+ Fixes #5219
+ Closes #5234
-- [Nathaniel R. Lewis brought this change]
+- [Nathaniel R. Lewis brought this change]
- cmake: add aliases so exported target names are available in tree
-
- Reviewed-by: Brad King
- Closes #5206
+ cmake: add aliases so exported target names are available in tree
+
+ Reviewed-by: Brad King
+ Closes #5206
-- version: increase buffer space for ssl version output
+- version: increase buffer space for ssl version output
- To avoid it getting truncated, especially when several SSL backends are
- built-in.
+ To avoid it getting truncated, especially when several SSL backends are
+ built-in.
- Reported-by: Gisle Vanem
- Fixes #5222
- Closes #5226
+ Reported-by: Gisle Vanem
+ Fixes #5222
+ Closes #5226
-Marc Hoersken (13 Apr 2020)
-- cirrus: no longer ignore test 504 which is working again
-
- The test is working again, because TCP blackholing is disabled.
+Marc Hoersken (13 Apr 2020)
+- cirrus: no longer ignore test 504 which is working again
+
+ The test is working again, because TCP blackholing is disabled.
-- appveyor: completely disable tests that fail to timeout early
+- appveyor: completely disable tests that fail to timeout early
- The tests changed from ignored to disabled are tests that are
- about connecting to non-listening socket. On AppVeyor these
- tests are not reliable, because for some unknown reason the
- connect is not timing out before the test time limit is reached.
-
-Daniel Stenberg (13 Apr 2020)
-- test1908: avoid using fixed port number in test data
+ The tests changed from ignored to disabled are tests that are
+ about connecting to non-listening socket. On AppVeyor these
+ tests are not reliable, because for some unknown reason the
+ connect is not timing out before the test time limit is reached.
+
+Daniel Stenberg (13 Apr 2020)
+- test1908: avoid using fixed port number in test data
- Closes #5225
+ Closes #5225
-Jay Satiro (12 Apr 2020)
-- [Andrew Kurushin brought this change]
+Jay Satiro (12 Apr 2020)
+- [Andrew Kurushin brought this change]
- schannel: Fix blocking timeout logic
+ schannel: Fix blocking timeout logic
- - Fix schannel_send for the case when no timeout was set.
+ - Fix schannel_send for the case when no timeout was set.
- Prior to this change schannel would error if the socket was not ready
- to send data and no timeout was set.
+ Prior to this change schannel would error if the socket was not ready
+ to send data and no timeout was set.
- This commit is similar to parent commit 89dc6e0 which recently made the
- same change for SOCKS, for the same reason. Basically it was not well
- understood that when Curl_timeleft returns 0 it is not a timeout of 0 ms
- but actually means no timeout.
-
- Fixes https://github.com/curl/curl/issues/5177
- Closes https://github.com/curl/curl/pull/5221
+ This commit is similar to parent commit 89dc6e0 which recently made the
+ same change for SOCKS, for the same reason. Basically it was not well
+ understood that when Curl_timeleft returns 0 it is not a timeout of 0 ms
+ but actually means no timeout.
+
+ Fixes https://github.com/curl/curl/issues/5177
+ Closes https://github.com/curl/curl/pull/5221
-- socks: Fix blocking timeout logic
+- socks: Fix blocking timeout logic
+
+ - Document in Curl_timeleft's comment block that returning 0 signals no
+ timeout (ie there's infinite time left).
- - Document in Curl_timeleft's comment block that returning 0 signals no
- timeout (ie there's infinite time left).
+ - Fix SOCKS' Curl_blockread_all for the case when no timeout was set.
- - Fix SOCKS' Curl_blockread_all for the case when no timeout was set.
+ Prior to this change if the timeout had a value of 0 and that was passed
+ to SOCKET_READABLE it would return right away instead of blocking. That
+ was likely because it was not well understood that when Curl_timeleft
+ returns 0 it is not a timeout of 0 ms but actually means no timeout.
- Prior to this change if the timeout had a value of 0 and that was passed
- to SOCKET_READABLE it would return right away instead of blocking. That
- was likely because it was not well understood that when Curl_timeleft
- returns 0 it is not a timeout of 0 ms but actually means no timeout.
+ Ref: https://github.com/curl/curl/pull/5214#issuecomment-612512360
- Ref: https://github.com/curl/curl/pull/5214#issuecomment-612512360
-
- Closes https://github.com/curl/curl/pull/5220
+ Closes https://github.com/curl/curl/pull/5220
-- [Marc Hoersken brought this change]
-
- gopher: check remaining time left during write busy loop
+- [Marc Hoersken brought this change]
+
+ gopher: check remaining time left during write busy loop
- Prior to this change gopher's blocking code would block forever,
- ignoring any set timeout value.
+ Prior to this change gopher's blocking code would block forever,
+ ignoring any set timeout value.
- Assisted-by: Jay Satiro
- Reviewed-by: Daniel Stenberg
+ Assisted-by: Jay Satiro
+ Reviewed-by: Daniel Stenberg
- Similar to #5220 and #5221
- Closes #5214
+ Similar to #5220 and #5221
+ Closes #5214
-Daniel Stenberg (13 Apr 2020)
-- [Dirkjan Bussink brought this change]
+Daniel Stenberg (13 Apr 2020)
+- [Dirkjan Bussink brought this change]
- gnutls: ensure TLS 1.3 when SRP isn't requested
+ gnutls: ensure TLS 1.3 when SRP isn't requested
- When SRP is requested in the priority string, GnuTLS will disable
- support for TLS 1.3. Before this change, curl would always add +SRP to
- the priority list, effectively always disabling TLS 1.3 support.
+ When SRP is requested in the priority string, GnuTLS will disable
+ support for TLS 1.3. Before this change, curl would always add +SRP to
+ the priority list, effectively always disabling TLS 1.3 support.
- With this change, +SRP is only added to the priority list when SRP
- authentication is also requested. This also allows updating the error
- handling here to not have to retry without SRP. This is because SRP is
- only added when requested and in that case a retry is not needed.
+ With this change, +SRP is only added to the priority list when SRP
+ authentication is also requested. This also allows updating the error
+ handling here to not have to retry without SRP. This is because SRP is
+ only added when requested and in that case a retry is not needed.
- Closes #5223
+ Closes #5223
-Marc Hoersken (12 Apr 2020)
-- tests/server: add hidden window to gracefully handle WM_CLOSE
+Marc Hoersken (12 Apr 2020)
+- tests/server: add hidden window to gracefully handle WM_CLOSE
- Forward Window events as signals to existing signal event handler.
+ Forward Window events as signals to existing signal event handler.
-- tests/server: add CTRL event handler for Win32 consoles
+- tests/server: add CTRL event handler for Win32 consoles
- Forward CTRL events as signals to existing signal event handler.
+ Forward CTRL events as signals to existing signal event handler.
-- tests/server: move all signal handling routines to util.[ch]
+- tests/server: move all signal handling routines to util.[ch]
- Avoid code duplication to prepare for portability enhancements.
+ Avoid code duplication to prepare for portability enhancements.
-Daniel Stenberg (12 Apr 2020)
-- compressed.d: stress that the headers are not modified
+Daniel Stenberg (12 Apr 2020)
+- compressed.d: stress that the headers are not modified
- Suggested-by: Michael Osipov
- Assisted-by: Jay Satiro
- Bug: https://github.com/curl/curl/issues/5182#issuecomment-611638008
- Closes #5217
+ Suggested-by: Michael Osipov
+ Assisted-by: Jay Satiro
+ Bug: https://github.com/curl/curl/issues/5182#issuecomment-611638008
+ Closes #5217
-Marc Hoersken (11 Apr 2020)
-- tests/server/util.c: use curl_off_t instead of long for pid
+Marc Hoersken (11 Apr 2020)
+- tests/server/util.c: use curl_off_t instead of long for pid
- Avoid potential overflow of huge PIDs on Windows.
+ Avoid potential overflow of huge PIDs on Windows.
- Related to #5188
- Assisted-by: Marcel Raad
+ Related to #5188
+ Assisted-by: Marcel Raad
-- tests: use Cygwin/msys PIDs for stunnel and sshd on Windows
+- tests: use Cygwin/msys PIDs for stunnel and sshd on Windows
+
+ Since the Windows versions of both programs would write Windows
+ PIDs to their pidfiles which we cannot handle, we need to use
+ our known perl.exe Cygwin/msys PID together with exec() in order
+ to tie the spawned processes to the existance of our perl.exe
- Since the Windows versions of both programs would write Windows
- PIDs to their pidfiles which we cannot handle, we need to use
- our known perl.exe Cygwin/msys PID together with exec() in order
- to tie the spawned processes to the existance of our perl.exe
+ The perl.exe that is executing secureserver.pl and sshserver.pl
+ has a Cygwin/msys PID, because it is started inside Cygwin/msys.
- The perl.exe that is executing secureserver.pl and sshserver.pl
- has a Cygwin/msys PID, because it is started inside Cygwin/msys.
-
- Related to #5188
+ Related to #5188
-- tests: add Windows compatible pidwait like pidkill and pidterm
-
- Related to #5188
+- tests: add Windows compatible pidwait like pidkill and pidterm
+
+ Related to #5188
-- tests: fix conflict between Cygwin/msys and Windows PIDs
+- tests: fix conflict between Cygwin/msys and Windows PIDs
- Add 65536 to Windows PIDs to allow Windows specific treatment
- by having disjunct ranges for Cygwin/msys and Windows PIDs.
+ Add 65536 to Windows PIDs to allow Windows specific treatment
+ by having disjunct ranges for Cygwin/msys and Windows PIDs.
- See also:
- - https://cygwin.com/git/?p=newlib-cygwin.git;a=commit; ↵
- h=b5e1003722cb14235c4f166be72c09acdffc62ea
- - https://cygwin.com/git/?p=newlib-cygwin.git;a=commit; ↵
- h=448cf5aa4b429d5a9cebf92a0da4ab4b5b6d23fe
+ See also:
+ - https://cygwin.com/git/?p=newlib-cygwin.git;a=commit; ↵
+ h=b5e1003722cb14235c4f166be72c09acdffc62ea
+ - https://cygwin.com/git/?p=newlib-cygwin.git;a=commit; ↵
+ h=448cf5aa4b429d5a9cebf92a0da4ab4b5b6d23fe
- Replaces #5178
- Closes #5188
+ Replaces #5178
+ Closes #5188
+
+Daniel Stenberg (11 Apr 2020)
+- RELEASE-NOTES: synced
-Daniel Stenberg (11 Apr 2020)
-- RELEASE-NOTES: synced
+- release-notes.pl: detect the start of the references in cleanup mode
-- release-notes.pl: detect the start of the references in cleanup mode
-
-- Revert "file: on Windows, refuse paths that start with \\"
+- Revert "file: on Windows, refuse paths that start with \\"
+
+ This reverts commit 1b71bc532bde8621fd3260843f8197182a467ff2.
- This reverts commit 1b71bc532bde8621fd3260843f8197182a467ff2.
+ Reminded-by: Chris Roberts
+ Bug: https://curl.haxx.se/mail/archive-2020-04/0013.html
- Reminded-by: Chris Roberts
- Bug: https://curl.haxx.se/mail/archive-2020-04/0013.html
-
- Closes #5215
+ Closes #5215
-Jay Satiro (11 Apr 2020)
-- lib: fix conversion warnings for SOCKET_WRITABLE/READABLE
+Jay Satiro (11 Apr 2020)
+- lib: fix conversion warnings for SOCKET_WRITABLE/READABLE
- - If loss of data may occur converting a timediff_t to time_t and
- the time value is > TIME_T_MAX then treat it as TIME_T_MAX.
+ - If loss of data may occur converting a timediff_t to time_t and
+ the time value is > TIME_T_MAX then treat it as TIME_T_MAX.
- This is a follow-up to 8843678 which removed the (time_t) typecast
- from the macros so that conversion warnings could be identified.
+ This is a follow-up to 8843678 which removed the (time_t) typecast
+ from the macros so that conversion warnings could be identified.
- Closes https://github.com/curl/curl/pull/5199
+ Closes https://github.com/curl/curl/pull/5199
-- test1148: tolerate progress updates better (again)
+- test1148: tolerate progress updates better (again)
+
+ - Ignore intermediate progress updates.
- - Ignore intermediate progress updates.
+ - Support locales that use a character other than period as decimal
+ separator (eg 100,0%).
- - Support locales that use a character other than period as decimal
- separator (eg 100,0%).
+ test1148 checks that the progress finishes at 100% and has the right
+ bar width. Prior to this change the test assumed that the only progress
+ reported for such a quick transfer was 100%, however in rare instances
+ (like in the CI where transfer time can slow considerably) there may be
+ intermediate updates. For example, below is stderrlog1148 from a failed
+ CI run with explicit \r and \n added (it is one line; broken up so that
+ it's easier to understand).
- test1148 checks that the progress finishes at 100% and has the right
- bar width. Prior to this change the test assumed that the only progress
- reported for such a quick transfer was 100%, however in rare instances
- (like in the CI where transfer time can slow considerably) there may be
- intermediate updates. For example, below is stderrlog1148 from a failed
- CI run with explicit \r and \n added (it is one line; broken up so that
- it's easier to understand).
+ \r
+ \r################################## 48.3%
+ \r######################################################################## 100.0%
+ \n
- \r
- \r################################## 48.3%
- \r######################################################################## 100.0%
- \n
-
- Closes https://github.com/curl/curl/pull/5194
+ Closes https://github.com/curl/curl/pull/5194
-Marc Hoersken (10 Apr 2020)
-- sshserver.pl: use cached Win32 environment check variable
+Marc Hoersken (10 Apr 2020)
+- sshserver.pl: use cached Win32 environment check variable
+
+- appveyor: partially revert 3413a110 to keep build without proxy
+
+ Ref: #5211 and #4526
+ Reported-by: Marcel Raad
-- appveyor: partially revert 3413a110 to keep build without proxy
+- appveyor: ignore failing 'connect to non-listening proxy' tests
- Ref: #5211 and #4526
- Reported-by: Marcel Raad
+ Closes #5211
-- appveyor: ignore failing 'connect to non-listening proxy' tests
-
- Closes #5211
+- CI/macos: convert CRLF to LF and align indentation
-- CI/macos: convert CRLF to LF and align indentation
-
-Daniel Stenberg (9 Apr 2020)
-- url: allow non-HTTPS altsvc-matching for debug builds
+Daniel Stenberg (9 Apr 2020)
+- url: allow non-HTTPS altsvc-matching for debug builds
- This is already partly supported but this part was missing.
- Reported-by: James Fuller
+ This is already partly supported but this part was missing.
+ Reported-by: James Fuller
- Closes #5205
-
-- server/resolve: remove AI_CANONNAME to make macos tell the truth
+ Closes #5205
+
+- server/resolve: remove AI_CANONNAME to make macos tell the truth
- With this bit set, my mac successfully resolves "ip6-localhost" when in
- fact there is no such host known to my machine! That in turn made test
- 241 wrongly execute and fail.
+ With this bit set, my mac successfully resolves "ip6-localhost" when in
+ fact there is no such host known to my machine! That in turn made test
+ 241 wrongly execute and fail.
- Closes #5202
-
-- runtests: fix warning about using an undefined variable
+ Closes #5202
+
+- runtests: fix warning about using an undefined variable
- Follow-up from 4d939ef6ceb2db1
+ Follow-up from 4d939ef6ceb2db1
-- release-notes: fix the initial reference list output
+- release-notes: fix the initial reference list output
-- github actions: run when pushed to master or */ci + PRs
+- github actions: run when pushed to master or */ci + PRs
- Avoid double-builds when using "local" branches for PRs. For both macos
- and fuzz jobs.
+ Avoid double-builds when using "local" branches for PRs. For both macos
+ and fuzz jobs.
- Closes #5201
+ Closes #5201
+
+- runtests: provide nicer errormsg when protocol "dump" file is empty
-- runtests: provide nicer errormsg when protocol "dump" file is empty
+- [Gilles Vollant brought this change]
-- [Gilles Vollant brought this change]
-
- schannel: support .P12 or .PFX client certificates
+ schannel: support .P12 or .PFX client certificates
- Used with curl command line option like this: --cert
- <filename>:<password> --cert-type p12
+ Used with curl command line option like this: --cert
+ <filename>:<password> --cert-type p12
- Closes #5193
+ Closes #5193
-- tests: verify split initial HTTP requests with CURL_SMALLREQSEND
+- tests: verify split initial HTTP requests with CURL_SMALLREQSEND
- test1294: "split request" being when the entire request isn't sent in
- the first go, and the remainder is sent in the PERFORM state. A GET
- request is otherwise not sending anything during PERFORM.
+ test1294: "split request" being when the entire request isn't sent in
+ the first go, and the remainder is sent in the PERFORM state. A GET
+ request is otherwise not sending anything during PERFORM.
- test1295: same kind of split but with POST
+ test1295: same kind of split but with POST
- Closes #5197
+ Closes #5197
-- http: don't consider upload done if the request isn't completely sent off
+- http: don't consider upload done if the request isn't completely sent off
- Fixes #4919
- Closes #5197
+ Fixes #4919
+ Closes #5197
-- http: allow Curl_add_buffer_send() to do a short first send by force
-
- In a debug build, settting the environment variable "CURL_SMALLREQSEND"
- will make the first HTTP request send not send more bytes than the set
- amount, thus ending up verifying that the logic for handling a split
- HTTP request send works correctly.
+- http: allow Curl_add_buffer_send() to do a short first send by force
+
+ In a debug build, settting the environment variable "CURL_SMALLREQSEND"
+ will make the first HTTP request send not send more bytes than the set
+ amount, thus ending up verifying that the logic for handling a split
+ HTTP request send works correctly.
-- connect: store connection info for QUIC connections
+- connect: store connection info for QUIC connections
+
+ Restores the --head functionality to the curl utility which extracts
+ 'protocol' that is stored that way.
- Restores the --head functionality to the curl utility which extracts
- 'protocol' that is stored that way.
-
- Reported-by: James Fuller
- Fixes #5196
- Closes #5198
+ Reported-by: James Fuller
+ Fixes #5196
+ Closes #5198
-- tests/README: update the port numbers list
+- tests/README: update the port numbers list
- Since the pipelining server is long gone.
- Reported-by: James Fuller
+ Since the pipelining server is long gone.
+ Reported-by: James Fuller
-- select: remove typecast from SOCKET_WRITABLE/READABLE macros
+- select: remove typecast from SOCKET_WRITABLE/READABLE macros
- So that they don't hide conversions-by-mistake
+ So that they don't hide conversions-by-mistake
- Reviewed-by: Jay Satiro
- Closes #5190
+ Reviewed-by: Jay Satiro
+ Closes #5190
-- CURLOPT_WRITEFUNCTION.3: add inline example and new see-also
-
- Closes #5192
+- CURLOPT_WRITEFUNCTION.3: add inline example and new see-also
+
+ Closes #5192
+
+- release-notes: output trailing references sorted numerically
+
+- cleanup: correct copyright year range on a few files
-- release-notes: output trailing references sorted numerically
-
-- cleanup: correct copyright year range on a few files
-
-- configure: remove use of -vec-report0 from CFLAGS with icc
+- configure: remove use of -vec-report0 from CFLAGS with icc
- ... as it apparently isn't (always) supported.
- Reported-by: Alain Miniussi
- Fixes #5096
- Closes #5191
-
-- warnless: remove code block for icc that didn't work
+ ... as it apparently isn't (always) supported.
+ Reported-by: Alain Miniussi
+ Fixes #5096
+ Closes #5191
+
+- warnless: remove code block for icc that didn't work
- Reported-by: Alain Miniussi
- Fixes #5096
+ Reported-by: Alain Miniussi
+ Fixes #5096
-Marc Hoersken (6 Apr 2020)
-- dist: add missing setup-win32.h
-
- Follow up to d820224b8b
+Marc Hoersken (6 Apr 2020)
+- dist: add missing setup-win32.h
+
+ Follow up to d820224b8b
-Daniel Stenberg (6 Apr 2020)
-- RELEASE-NOTES: synced
+Daniel Stenberg (6 Apr 2020)
+- RELEASE-NOTES: synced
-- scripts/release-notes.pl: add helper script for RELEASE-NOTES maintenance
+- scripts/release-notes.pl: add helper script for RELEASE-NOTES maintenance
- This script helps putting entries in the RELEASE-NOTES using a coherent
- style and sorting with a minimal human editing effort - as long as the
- first line in the commit message is good enough! There's a short howto
- at the top of the file.
+ This script helps putting entries in the RELEASE-NOTES using a coherent
+ style and sorting with a minimal human editing effort - as long as the
+ first line in the commit message is good enough! There's a short howto
+ at the top of the file.
-- [Dennis Felsing brought this change]
+- [Dennis Felsing brought this change]
- configure: don't check for Security.framework when cross-compiling
+ configure: don't check for Security.framework when cross-compiling
- Since it checks for the local file, not the cross-compiled one.
+ Since it checks for the local file, not the cross-compiled one.
- Closes #5189
+ Closes #5189
-- TODO: Option to make -Z merge lined based outputs on stdout
+- TODO: Option to make -Z merge lined based outputs on stdout
- Closes #5175
+ Closes #5175
-- lib: never define CURL_CA_BUNDLE with a getenv
+- lib: never define CURL_CA_BUNDLE with a getenv
- - it breaks the build (since 6de756c9b1de34b7a1)
- - it's not documented and not consistent across platforms
- - the curl tool does that getenv magic
+ - it breaks the build (since 6de756c9b1de34b7a1)
+ - it's not documented and not consistent across platforms
+ - the curl tool does that getenv magic
- Bug: https://github.com/curl/curl/commit/6de756c#r38127030
- Reported-by: Gisle Vanem
+ Bug: https://github.com/curl/curl/commit/6de756c#r38127030
+ Reported-by: Gisle Vanem
- Closes #5187
+ Closes #5187
-Marc Hoersken (5 Apr 2020)
-- lib670: use the same Win32 API check as all other lib tests
+Marc Hoersken (5 Apr 2020)
+- lib670: use the same Win32 API check as all other lib tests
-- appveyor: use random test server ports based upon APPVEYOR_API_URL
+- appveyor: use random test server ports based upon APPVEYOR_API_URL
- Avoid conflicts of test server ports with AppVeyor API on localhost.
+ Avoid conflicts of test server ports with AppVeyor API on localhost.
- Closes #5034
+ Closes #5034
-- appveyor: sort builds by type and add two new variants
+- appveyor: sort builds by type and add two new variants
- Related to #5034 and #5063
-
-- appveyor: show failed tests in log even if test is ignored
+ Related to #5034 and #5063
+
+- appveyor: show failed tests in log even if test is ignored
- And print API response with newline only if there is one
+ And print API response with newline only if there is one
-- appveyor: turn disabled tests into ignored result tests
-
-Daniel Stenberg (5 Apr 2020)
-- KNOWN_BUGS: fixed "USE_UNIX_SOCKETS on Windows"
+- appveyor: turn disabled tests into ignored result tests
+
+Daniel Stenberg (5 Apr 2020)
+- KNOWN_BUGS: fixed "USE_UNIX_SOCKETS on Windows"
- Fixed with #5170 (commit 23a870f2fd041278)
+ Fixed with #5170 (commit 23a870f2fd041278)
-- test1566: verify --etag-compare that gets a 304 back
+- test1566: verify --etag-compare that gets a 304 back
- Verifies the fix in #5183
+ Verifies the fix in #5183
- Closes #5186
+ Closes #5186
-- [Kwon-Young Choi brought this change]
+- [Kwon-Young Choi brought this change]
- CURLINFO_CONDITION_UNMET: return true for 304 http status code
+ CURLINFO_CONDITION_UNMET: return true for 304 http status code
- In libcurl, CURLINFO_CONDITION_UNMET is used to avoid writing to the
- output file if the server did not transfered a file based on time
- condition. In the same manner, getting a 304 HTTP response back from the
- server, for example after passing a custom If-Match-* header, also
- fulfill this condition.
+ In libcurl, CURLINFO_CONDITION_UNMET is used to avoid writing to the
+ output file if the server did not transfered a file based on time
+ condition. In the same manner, getting a 304 HTTP response back from the
+ server, for example after passing a custom If-Match-* header, also
+ fulfill this condition.
- Fixes #5181
- Closes #5183
+ Fixes #5181
+ Closes #5183
-- [Kwon-Young Choi brought this change]
+- [Kwon-Young Choi brought this change]
- curl: allow both --etag-compare and --etag-save with same file name
+ curl: allow both --etag-compare and --etag-save with same file name
+
+ This change inverse the order of processing for the --etag-compare and
+ --etag-save option to process first --etag-compare. This in turn allows
+ to use the same file name to compare and save an etag.
- This change inverse the order of processing for the --etag-compare and
- --etag-save option to process first --etag-compare. This in turn allows
- to use the same file name to compare and save an etag.
+ The original behavior of not failing if the etag file does not exists is
+ conserved.
- The original behavior of not failing if the etag file does not exists is
- conserved.
-
- Fixes #5179
- Closes #5180
+ Fixes #5179
+ Closes #5180
-Viktor Szakats (4 Apr 2020)
-- windows: enable UnixSockets with all build toolchains
+Viktor Szakats (4 Apr 2020)
+- windows: enable UnixSockets with all build toolchains
- Extend existing unix socket support in Windows builds to be
- enabled for all toolchain vendors or versions. (Previously
- it was only supported with certain MSVC versions + more recent
- Windows 10 SDKs)
+ Extend existing unix socket support in Windows builds to be
+ enabled for all toolchain vendors or versions. (Previously
+ it was only supported with certain MSVC versions + more recent
+ Windows 10 SDKs)
- Ref: https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/
- Ref: https://github.com/curl/curl/issues/5162
- Closes: https://github.com/curl/curl/pull/5170
+ Ref: https://devblogs.microsoft.com/commandline/af_unix-comes-to-windows/
+ Ref: https://github.com/curl/curl/issues/5162
+ Closes: https://github.com/curl/curl/pull/5170
-Daniel Stenberg (4 Apr 2020)
-- KNOWN_BUGS: Store TLS context per transfer instead of per connection
-
- Closes #5102
+Daniel Stenberg (4 Apr 2020)
+- KNOWN_BUGS: Store TLS context per transfer instead of per connection
+
+ Closes #5102
-Marc Hoersken (3 Apr 2020)
-- sockfilt: remove redundancy in timeout handling
+Marc Hoersken (3 Apr 2020)
+- sockfilt: remove redundancy in timeout handling
- And update other logmsg output in select_ws on Windows.
-
-- sockfilt: fix handling of ready closed sockets on Windows
+ And update other logmsg output in select_ws on Windows.
+
+- sockfilt: fix handling of ready closed sockets on Windows
- Replace the incomplete workaround regarding FD_CLOSE
- only signalling once by instead doing a pre-check with
- standard select and storing the result for later use.
+ Replace the incomplete workaround regarding FD_CLOSE
+ only signalling once by instead doing a pre-check with
+ standard select and storing the result for later use.
- select keeps triggering on closed sockets on Windows while
- WSAEventSelect fires only once with data still available.
- By doing the pre-check we do not run in a deadlock
- due to waiting forever for another FD_CLOSE event.
-
-- sockfilt: fix race-condition of waiting threads and event handling
+ select keeps triggering on closed sockets on Windows while
+ WSAEventSelect fires only once with data still available.
+ By doing the pre-check we do not run in a deadlock
+ due to waiting forever for another FD_CLOSE event.
+
+- sockfilt: fix race-condition of waiting threads and event handling
- Fix race-condition of waiting threads finishing while events are
- already being processed which lead to invalid or skipped events.
+ Fix race-condition of waiting threads finishing while events are
+ already being processed which lead to invalid or skipped events.
- Use mutex to check for one event at a time or do post-processing.
- In addition to mutex-based locking use specific event as signal.
-
- Closes #5156
+ Use mutex to check for one event at a time or do post-processing.
+ In addition to mutex-based locking use specific event as signal.
+
+ Closes #5156
+
+Daniel Stenberg (2 Apr 2020)
+- [Leo Neat brought this change]
-Daniel Stenberg (2 Apr 2020)
-- [Leo Neat brought this change]
-
- CI-fuzz: increase fuzz time to 40 minutes
+ CI-fuzz: increase fuzz time to 40 minutes
- Closes #5174
+ Closes #5174
-Marc Hoersken (2 Apr 2020)
-- CI: increase Azure Pipelines timeouts due to performance issues
+Marc Hoersken (2 Apr 2020)
+- CI: increase Azure Pipelines timeouts due to performance issues
- The current demand on Azure negatively impacts the CI performance.
+ The current demand on Azure negatively impacts the CI performance.
-- runtests.pl: log host OS as detected by Perl environment
-
-- ftpserver.pl: log before and after data connection is closed
-
-Daniel Stenberg (1 Apr 2020)
+- runtests.pl: log host OS as detected by Perl environment
+
+- ftpserver.pl: log before and after data connection is closed
+
+Daniel Stenberg (1 Apr 2020)
- RELEASE-NOTES: synced
-- RELEASE-PROCEDURE.md: run the copyright.pl script!
-
-- vquic/ngtcp2.h: update copyright year range
+- RELEASE-PROCEDURE.md: run the copyright.pl script!
+
+- vquic/ngtcp2.h: update copyright year range
- Follow-up to 0736ee73d346a52
+ Follow-up to 0736ee73d346a52
+
+- [Daiki Ueno brought this change]
-- [Daiki Ueno brought this change]
+ CI: add build with ngtcp2 + gnutls on Travis CI
- CI: add build with ngtcp2 + gnutls on Travis CI
-
-- [Daiki Ueno brought this change]
-
- vquic: add support for GnuTLS backend of ngtcp2
+- [Daiki Ueno brought this change]
+
+ vquic: add support for GnuTLS backend of ngtcp2
- Currently, the TLS backend used by vquic/ngtcp2.c is selected at compile
- time. Therefore OpenSSL support needs to be explicitly disabled.
+ Currently, the TLS backend used by vquic/ngtcp2.c is selected at compile
+ time. Therefore OpenSSL support needs to be explicitly disabled.
- Signed-off-by: Daiki Ueno <dueno@redhat.com>
- Closes #5148
+ Signed-off-by: Daiki Ueno <dueno@redhat.com>
+ Closes #5148
-- [Gisle Vanem brought this change]
+- [Gisle Vanem brought this change]
- examples/sessioninfo.c: add include to fix compiler warning
+ examples/sessioninfo.c: add include to fix compiler warning
- Fixes #5171
-
-- misc: copyright year updates
+ Fixes #5171
+
+- misc: copyright year updates
- Follow-up to 7a71965e9
+ Follow-up to 7a71965e9
-- [Harry Sintonen brought this change]
+- [Harry Sintonen brought this change]
- build: fixed build for systems with select() in unistd.h
+ build: fixed build for systems with select() in unistd.h
- Closes #5169
-
-- memdebug: don't log free(NULL)
+ Closes #5169
+
+- memdebug: don't log free(NULL)
- ... it serves no purpose and fills up the log.
+ ... it serves no purpose and fills up the log.
-- cleanup: insert newline after if() conditions
-
- Our code style mandates we put the conditional block on a separate
- line. These mistakes are now detected by the updated checksrc.
+- cleanup: insert newline after if() conditions
+
+ Our code style mandates we put the conditional block on a separate
+ line. These mistakes are now detected by the updated checksrc.
-- checksrc: warn on obvious conditional blocks on the same line as if()
+- checksrc: warn on obvious conditional blocks on the same line as if()
- Closes #5164
+ Closes #5164
-- [Roger Orr brought this change]
+- [Roger Orr brought this change]
- cmake: add CMAKE_MSVC_RUNTIME_LIBRARY
+ cmake: add CMAKE_MSVC_RUNTIME_LIBRARY
- Fixes #5165
- Closes #5167
+ Fixes #5165
+ Closes #5167
-- [Daiki Ueno brought this change]
+- [Daiki Ueno brought this change]
- ngtcp2: update to git master for the key installation API change
+ ngtcp2: update to git master for the key installation API change
- This updates the ngtcp2 OpenSSL backend to follow the API change in
- commit 32e703164 of ngtcp2.
+ This updates the ngtcp2 OpenSSL backend to follow the API change in
+ commit 32e703164 of ngtcp2.
- Notable changes are:
- - ngtcp2_crypto_derive_and_install_{rx,tx}_key have been added to replace
- ngtcp2_crypto_derive_and_install_key
- - the 'side' argument of ngtcp2_crypto_derive_and_install_initial_key
- has been removed
+ Notable changes are:
+ - ngtcp2_crypto_derive_and_install_{rx,tx}_key have been added to replace
+ ngtcp2_crypto_derive_and_install_key
+ - the 'side' argument of ngtcp2_crypto_derive_and_install_initial_key
+ has been removed
- Fixes #5166
- Closes #5168
-
-- [Cyrus brought this change]
-
- SECURITY.md: minor rephrase
+ Fixes #5166
+ Closes #5168
+
+- [Cyrus brought this change]
+
+ SECURITY.md: minor rephrase
- Closes #5158
+ Closes #5158
-- output.d: quote the URL when globbing
+- output.d: quote the URL when globbing
- Some shells do globbing of their own unless the URL is quoted, so maybe
- encourage this.
+ Some shells do globbing of their own unless the URL is quoted, so maybe
+ encourage this.
- Co-authored-by: Jay Satiro
- Closes #5160
+ Co-authored-by: Jay Satiro
+ Closes #5160
-- dist: add tests/version-scan.pl to tarball
+- dist: add tests/version-scan.pl to tarball
- ... used in test 1177.
+ ... used in test 1177.
- Follow-up to a97d826f6de3
+ Follow-up to a97d826f6de3
-- test1177: verify that all the CURL_VERSION_ bits are documented
+- test1177: verify that all the CURL_VERSION_ bits are documented
-- curl.h: remnove CURL_VERSION_ESNI. Never supported nor documented
+- curl.h: remnove CURL_VERSION_ESNI. Never supported nor documented
- Considered experimental and therefore we can do this.
+ Considered experimental and therefore we can do this.
- Closes #5157
-
-- KNOWN_BUGS: DoH doesn't inherit all transfer options
+ Closes #5157
+
+- KNOWN_BUGS: DoH doesn't inherit all transfer options
- Closes #4578
- Closes #4579
+ Closes #4578
+ Closes #4579
-- KNOWN_BUGS: DoH leaks memory after followlocation
+- KNOWN_BUGS: DoH leaks memory after followlocation
- Closes #4592
+ Closes #4592
-- KNOWN_BUGS: "FTPS needs session reuse"
+- KNOWN_BUGS: "FTPS needs session reuse"
- Closes #4654
+ Closes #4654
-- KNOWN_BUGS: "stick to same family over SOCKS pro" is presumed fixed
+- KNOWN_BUGS: "stick to same family over SOCKS pro" is presumed fixed
-- TODO: Set custom client ip when using haproxy protocol
+- TODO: Set custom client ip when using haproxy protocol
- Closes #5125
+ Closes #5125
-Michael Kaufmann (27 Mar 2020)
-- writeout_json: Fix data type issues
+Michael Kaufmann (27 Mar 2020)
+- writeout_json: Fix data type issues
- Load long values correctly (e.g. for http_code).
+ Load long values correctly (e.g. for http_code).
- Use curl_off_t (not long) for:
- - size_download (CURLINFO_SIZE_DOWNLOAD_T)
- - size_upload (CURLINFO_SIZE_UPLOAD_T)
+ Use curl_off_t (not long) for:
+ - size_download (CURLINFO_SIZE_DOWNLOAD_T)
+ - size_upload (CURLINFO_SIZE_UPLOAD_T)
- The unit for these values is bytes/second, not microseconds:
- - speed_download (CURLINFO_SPEED_DOWNLOAD_T)
- - speed_upload (CURLINFO_SPEED_UPLOAD_T)
+ The unit for these values is bytes/second, not microseconds:
+ - speed_download (CURLINFO_SPEED_DOWNLOAD_T)
+ - speed_upload (CURLINFO_SPEED_UPLOAD_T)
- Fixes #5131
- Closes #5152
+ Fixes #5131
+ Closes #5152
-Daniel Stenberg (27 Mar 2020)
-- mailmap: fixup a few author names/fields
+Daniel Stenberg (27 Mar 2020)
+- mailmap: fixup a few author names/fields
- Douglas Steinwand, Gökhan Şengün, Jessa Chandler, Julian Z and
- Svyatoslav Mishyn
+ Douglas Steinwand, Gökhan Şengün, Jessa Chandler, Julian Z and
+ Svyatoslav Mishyn
-- version: add 'cainfo' and 'capath' to version info struct
+- version: add 'cainfo' and 'capath' to version info struct
- Suggested-by: Timothe Litt
- URL: https://curl.haxx.se/mail/lib-2020-03/0090.html
- Reviewed-by: Jay Satiro
+ Suggested-by: Timothe Litt
+ URL: https://curl.haxx.se/mail/lib-2020-03/0090.html
+ Reviewed-by: Jay Satiro
- Closes #5150
+ Closes #5150
-- RELEASE-NOTES: synced
+- RELEASE-NOTES: synced
-Jay Satiro (26 Mar 2020)
-- SSLCERTS.md: Fix example code for setting CA cert file
+Jay Satiro (26 Mar 2020)
+- SSLCERTS.md: Fix example code for setting CA cert file
- Prior to this change the documentation erroneously said use
- CURLOPT_CAPATH to set a CA cert file.
+ Prior to this change the documentation erroneously said use
+ CURLOPT_CAPATH to set a CA cert file.
- Bug: https://curl.haxx.se/mail/lib-2020-03/0121.html
- Reported-by: Timothe Litt
+ Bug: https://curl.haxx.se/mail/lib-2020-03/0121.html
+ Reported-by: Timothe Litt
- Closes https://github.com/curl/curl/pull/5151
+ Closes https://github.com/curl/curl/pull/5151
-Marc Hoersken (26 Mar 2020)
-- sockfilt: add logmsg output to select_ws_wait_thread on Windows
+Marc Hoersken (26 Mar 2020)
+- sockfilt: add logmsg output to select_ws_wait_thread on Windows
- Assisted-by: Jay Satiro
- Reviewed-by: Daniel Stenberg
+ Assisted-by: Jay Satiro
+ Reviewed-by: Daniel Stenberg
- Closes #5086
+ Closes #5086
-Daniel Stenberg (26 Mar 2020)
-- docs/make: generate curl.1 from listed files only
+Daniel Stenberg (26 Mar 2020)
+- docs/make: generate curl.1 from listed files only
+
+ Previously it rendered the page from files matching "*.d" in the correct
+ directory, which worked fine in git builds when the files were added but
+ made it easy to forget adding the files to the dist.
- Previously it rendered the page from files matching "*.d" in the correct
- directory, which worked fine in git builds when the files were added but
- made it easy to forget adding the files to the dist.
+ Now, only man page sections listed in DPAGES in Makefile.inc will be
+ used, thus "forcing" us to update this to get the man page right and get
+ it included in the dist at the same time.
- Now, only man page sections listed in DPAGES in Makefile.inc will be
- used, thus "forcing" us to update this to get the man page right and get
- it included in the dist at the same time.
-
- Ref: #5146
- Closes #5149
+ Ref: #5146
+ Closes #5149
-- openssl: adapt to functions marked as deprecated since version 3
+- openssl: adapt to functions marked as deprecated since version 3
- OpenSSL 3 deprecates SSL_CTX_load_verify_locations and the MD4, DES
- functions we use.
+ OpenSSL 3 deprecates SSL_CTX_load_verify_locations and the MD4, DES
+ functions we use.
- Fix the MD4 and SSL_CTX_load_verify_locations warnings.
+ Fix the MD4 and SSL_CTX_load_verify_locations warnings.
- In configure, detect OpenSSL v3 and if so, inhibit the deprecation
- warnings. OpenSSL v3 deprecates the DES functions we use for NTLM and
- until we rewrite the code to use non-deprecated functions we better
- ignore these warnings as they don't help us.
+ In configure, detect OpenSSL v3 and if so, inhibit the deprecation
+ warnings. OpenSSL v3 deprecates the DES functions we use for NTLM and
+ until we rewrite the code to use non-deprecated functions we better
+ ignore these warnings as they don't help us.
- Closes #5139
+ Closes #5139
-- dist: add mail-rcpt-allowfails.d to the tarball
+- dist: add mail-rcpt-allowfails.d to the tarball
- Reported-by: Maksim Stsepanenka
- Reviewed-by: Jat Satiro
+ Reported-by: Maksim Stsepanenka
+ Reviewed-by: Jat Satiro
- Closes #5146
+ Closes #5146