curl: Update to version 7.83.0

Message ID 20220430173331.3520400-1-adolf.belka@ipfire.org
State Accepted
Commit f61ced49e9b2452bee1448f3a42a050c793194a4
Headers
Series curl: Update to version 7.83.0 |

Commit Message

Adolf Belka April 30, 2022, 5:33 p.m. UTC
  - Update from 7.82.0 to 7.83.0
- Update of rootfile
- Changelog
   7.83.0
     Changes:
	 o curl: add %header{name} experimental support in -w handling
	 o curl: add %{header_json} experimental support in -w handling
	 o curl: add --no-clobber [28]
	 o curl: add --remove-on-error [11]
	 o header api: add curl_easy_header and curl_easy_nextheader [56]
	 o msh3: add support for QUIC and HTTP/3 using msh3 [84]
     Bugfixes:
	 o appveyor: add Cygwin build [77]
	 o appveyor: only add MSYS2 to PATH where required [78]
	 o BearSSL: add CURLOPT_SSL_CIPHER_LIST support [27]
	 o BearSSL: add CURLOPT_SSL_CTX_FUNCTION support [26]
	 o BINDINGS.md: add Hollywood binding [34]
	 o CI: Do not use buildconf. Instead, just use: autoreconf -fi [42]
	 o CI: install Python package impacket to run SMB test 1451 [5]
	 o configure.ac: move -pthread CFLAGS setting back where it used to be [14]
	 o configure: bump the copyright year range int the generated output
	 o conncache: include the zone id in the "bundle" hashkey [112]
	 o connecache: remove duplicate connc->closure_handle check [90]
	 o connect: make Curl_getconnectinfo work with conn cache from share handle [22]
	 o connect: use TCP_KEEPALIVE only if TCP_KEEPIDLE is not defined [6]
	 o cookie.d: clarify when cookies are sent
	 o cookies: improve errorhandling for reading cookiefile [123]
	 o curl/system.h: update ifdef condition for MCST-LCC compiler [4]
	 o curl: error out if -T and -d are used for the same URL [99]
	 o curl: error out when options need features not present in libcurl [18]
	 o curl: escape '?' in generated --libcurl code [117]
	 o curl: fix segmentation fault for empty output file names. [60]
	 o curl_easy_header: fix typos in documentation [74]
	 o CURLINFO_PRIMARY_PORT.3: clarify which port this is [126]
	 o CURLOPT*TLSAUTH.3: they only work with OpenSSL or GnuTLS [105]
	 o CURLOPT_DISALLOW_USERNAME_IN_URL.3: use uppercase URL
	 o CURLOPT_PREQUOTE.3: only works for FTP file transfers, not dirs [79]
	 o CURLOPT_PROGRESSFUNCTION.3: fix typo in example [63]
	 o CURLOPT_UNRESTRICTED_AUTH.3: extended explanation [127]
	 o CURLSHOPT_UNLOCKFUNC.3: fix the callback prototype [9]
	 o docs/HYPER.md: updated to reflect current hyper build needs
	 o docs/opts: Mention Schannel client cert type is P12 [50]
	 o docs: Fix missing semicolon in example code [102]
	 o docs: lots of minor language polish [51]
	 o English: use American spelling consistently [95]
	 o fail.d: tweak the description [101]
	 o firefox-db2pem.sh: make the shell script safer [47]
	 o ftp: fix error message for partial file upload [61]
	 o gen.pl: change wording for mutexed options [98]
	 o GHA: add openssl3 jobs moved over from zuul [88]
	 o GHA: build hyper with nightly rustc [7]
	 o GHA: move bearssl jobs over from zuul [85]
	 o gha: move the event-based test over from Zuul [59]
	 o gtls: fix build for disabled TLS-SRP [48]
	 o http2: handle DONE called for the paused stream [69]
	 o http2: RST the stream if we stop it on our own will [67]
	 o http: avoid auth/cookie on redirects same host diff port [110]
	 o http: close the stream (not connection) on time condition abort [68]
	 o http: reject header contents with nul bytes [41]
	 o http: return error on colon-less HTTP headers [31]
	 o http: streamclose "already downloaded" [57]
	 o hyper: fix status_line() return code [13]
	 o hyper: fix tests 580 and 581 for hyper [107]
	 o hyper: no h2c support [33]
	 o infof: consistent capitalization of warning messages [103]
	 o ipv4/6.d: clarify that they are about using IP addresses [3]
	 o json.d: fix typo (overriden -> overridden) [24]
	 o keepalive-time.d: It takes many probes to detect brokenness [29]
	 o lib/warnless.[ch]: only check for WIN32 and ignore _WIN32 [45]
	 o lib670: avoid double check result [71]
	 o lib: #ifdef on USE_HTTP2 better [65]
	 o lib: fix some misuse of curlx_convert_wchar_to_UTF8 [38]
	 o lib: remove exclamation marks [100]
	 o libssh2: compare sha256 strings case sensitively [114]
	 o libssh2: make the md5 comparison fail if wrong length [111]
	 o libssh: fix build with old libssh versions [12]
	 o libssh: fix double close [124]
	 o libssh: Improve fix for missing SSH_S_ stat macros [10]
	 o libssh: unstick SFTP transfers when done event-based [58]
	 o macos: set .plist version in autoconf [122]
	 o mbedtls: remove 'protocols' array from backend when ALPN is not used [66]
	 o mbedtls: remove server_fd from backend [91]
	 o mk-ca-bundle.pl: Use stricter logic to process the certificates [39]
	 o mk-ca-bundle.vbs: delete this script in favor of mk-ca-bundle.pl [8]
	 o mlc_config.json: add file to ignore known troublesome URLs [35]
	 o mqtt: better handling of TCP disconnect mid-message [55]
	 o ngtcp2: add client certificate authentication for OpenSSL [15]
	 o ngtcp2: avoid busy loop in low CWND situation [119]
	 o ngtcp2: deal with sub-millisecond timeout [116]
	 o ngtcp2: disconnect the QUIC connection proper [19]
	 o ngtcp2: enlarge H3_SEND_SIZE [82]
	 o ngtcp2: fix HTTP/3 upload stall and avoid busy loop [83]
	 o ngtcp2: fix memory leak [80]
	 o ngtcp2: fix QUIC_IDLE_TIMEOUT [94]
	 o ngtcp2: make curl 1ms faster [93]
	 o ngtcp2: remove remote_addr which is not used in a meaningful way [81]
	 o ngtcp2: update to work after recent ngtcp2 updates [62]
	 o ngtcp2: use token when detecting :status header field [92]
	 o nonblock: restore setsockopt method to curlx_nonblock [20]
	 o openssl: check SSL_get_peer_cert_chain return value [1]
	 o openssl: enable CURLOPT_SSL_EC_CURVES with BoringSSL [23]
	 o openssl: fix CN check error code [21]
	 o options: remove mistaken space before paren in prototype
	 o perl: removed a double semicolon at end of line [64]
	 o pop3/smtp: return *WEIRD_SERVER_REPLY when not understood [43]
	 o projects/README: converted to markdown [76]
	 o projects: Update VC version names for VS2017, VS2022 [52]
	 o rtsp: don't let CSeq error override earlier errors [37]
	 o runtests: add 'bearssl' as testable feature [87]
	 o runtests: make 'oldlibssh' be before 0.9.4 [2]
	 o schannel: remove dead code that will never run [89]
	 o scripts/copyright.pl: ignore the new mlc_config.json file
	 o scripts: move three scripts from lib/ to scripts/ [44]
	 o test1135: sync with recent API updates [54]
	 o test1459: disable for oldlibssh [53]
	 o test375: fix line endings on Windows [40]
	 o test386: Fix an incorrect test markup tag
	 o test718: edited slightly to return better HTTP [32]
	 o tests/server/util.h: align WIN32 condition with util.c [46]
	 o tests: refactor server/socksd.c to support --unix-socket [96]
	 o timediff.[ch]: add curlx helper functions for timeval conversions [86]
	 o tls: make mbedtls and NSS check for h2, not nghttp2 [70]
	 o tool and tests: force flush of all buffers at end of program [17]
	 o tool_cb_hdr: Turn the Location: into a terminal hyperlink [30]
	 o tool_getparam: error out on missing -K file [115]
	 o tool_listhelp.c: uppercase URL
	 o tool_operate: fix a scan-build warning [16]
	 o tool_paramhlp: use feof(3) to identify EOF correctly when using fread(3) [97]
	 o transfer: redirects to other protocols or ports clear auth [109]
	 o unit1620: call global_init before calling Curl_open [125]
	 o url: check sasl additional parameters for connection reuse. [113]
	 o vtls: provide a unified APLN-disagree string for all backends [75]
	 o vtls: use a backend standard message for "ALPN: offers %s" [73]
	 o vtls: use a generic "ALPN, server accepted" message [72]
	 o winbuild/README.md: fixup dead link [36]
	 o winbuild: Add a Visual Studio example to the README [49]
	 o wolfssl: fix compiler error without IPv6 [25]

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/curl | 5 ++++-
 lfs/curl                     | 4 ++--
 2 files changed, 6 insertions(+), 3 deletions(-)
  

Comments

Peter Müller May 1, 2022, 8:32 a.m. UTC | #1
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>

> - Update from 7.82.0 to 7.83.0
> - Update of rootfile
> - Changelog
>    7.83.0
>      Changes:
> 	 o curl: add %header{name} experimental support in -w handling
> 	 o curl: add %{header_json} experimental support in -w handling
> 	 o curl: add --no-clobber [28]
> 	 o curl: add --remove-on-error [11]
> 	 o header api: add curl_easy_header and curl_easy_nextheader [56]
> 	 o msh3: add support for QUIC and HTTP/3 using msh3 [84]
>      Bugfixes:
> 	 o appveyor: add Cygwin build [77]
> 	 o appveyor: only add MSYS2 to PATH where required [78]
> 	 o BearSSL: add CURLOPT_SSL_CIPHER_LIST support [27]
> 	 o BearSSL: add CURLOPT_SSL_CTX_FUNCTION support [26]
> 	 o BINDINGS.md: add Hollywood binding [34]
> 	 o CI: Do not use buildconf. Instead, just use: autoreconf -fi [42]
> 	 o CI: install Python package impacket to run SMB test 1451 [5]
> 	 o configure.ac: move -pthread CFLAGS setting back where it used to be [14]
> 	 o configure: bump the copyright year range int the generated output
> 	 o conncache: include the zone id in the "bundle" hashkey [112]
> 	 o connecache: remove duplicate connc->closure_handle check [90]
> 	 o connect: make Curl_getconnectinfo work with conn cache from share handle [22]
> 	 o connect: use TCP_KEEPALIVE only if TCP_KEEPIDLE is not defined [6]
> 	 o cookie.d: clarify when cookies are sent
> 	 o cookies: improve errorhandling for reading cookiefile [123]
> 	 o curl/system.h: update ifdef condition for MCST-LCC compiler [4]
> 	 o curl: error out if -T and -d are used for the same URL [99]
> 	 o curl: error out when options need features not present in libcurl [18]
> 	 o curl: escape '?' in generated --libcurl code [117]
> 	 o curl: fix segmentation fault for empty output file names. [60]
> 	 o curl_easy_header: fix typos in documentation [74]
> 	 o CURLINFO_PRIMARY_PORT.3: clarify which port this is [126]
> 	 o CURLOPT*TLSAUTH.3: they only work with OpenSSL or GnuTLS [105]
> 	 o CURLOPT_DISALLOW_USERNAME_IN_URL.3: use uppercase URL
> 	 o CURLOPT_PREQUOTE.3: only works for FTP file transfers, not dirs [79]
> 	 o CURLOPT_PROGRESSFUNCTION.3: fix typo in example [63]
> 	 o CURLOPT_UNRESTRICTED_AUTH.3: extended explanation [127]
> 	 o CURLSHOPT_UNLOCKFUNC.3: fix the callback prototype [9]
> 	 o docs/HYPER.md: updated to reflect current hyper build needs
> 	 o docs/opts: Mention Schannel client cert type is P12 [50]
> 	 o docs: Fix missing semicolon in example code [102]
> 	 o docs: lots of minor language polish [51]
> 	 o English: use American spelling consistently [95]
> 	 o fail.d: tweak the description [101]
> 	 o firefox-db2pem.sh: make the shell script safer [47]
> 	 o ftp: fix error message for partial file upload [61]
> 	 o gen.pl: change wording for mutexed options [98]
> 	 o GHA: add openssl3 jobs moved over from zuul [88]
> 	 o GHA: build hyper with nightly rustc [7]
> 	 o GHA: move bearssl jobs over from zuul [85]
> 	 o gha: move the event-based test over from Zuul [59]
> 	 o gtls: fix build for disabled TLS-SRP [48]
> 	 o http2: handle DONE called for the paused stream [69]
> 	 o http2: RST the stream if we stop it on our own will [67]
> 	 o http: avoid auth/cookie on redirects same host diff port [110]
> 	 o http: close the stream (not connection) on time condition abort [68]
> 	 o http: reject header contents with nul bytes [41]
> 	 o http: return error on colon-less HTTP headers [31]
> 	 o http: streamclose "already downloaded" [57]
> 	 o hyper: fix status_line() return code [13]
> 	 o hyper: fix tests 580 and 581 for hyper [107]
> 	 o hyper: no h2c support [33]
> 	 o infof: consistent capitalization of warning messages [103]
> 	 o ipv4/6.d: clarify that they are about using IP addresses [3]
> 	 o json.d: fix typo (overriden -> overridden) [24]
> 	 o keepalive-time.d: It takes many probes to detect brokenness [29]
> 	 o lib/warnless.[ch]: only check for WIN32 and ignore _WIN32 [45]
> 	 o lib670: avoid double check result [71]
> 	 o lib: #ifdef on USE_HTTP2 better [65]
> 	 o lib: fix some misuse of curlx_convert_wchar_to_UTF8 [38]
> 	 o lib: remove exclamation marks [100]
> 	 o libssh2: compare sha256 strings case sensitively [114]
> 	 o libssh2: make the md5 comparison fail if wrong length [111]
> 	 o libssh: fix build with old libssh versions [12]
> 	 o libssh: fix double close [124]
> 	 o libssh: Improve fix for missing SSH_S_ stat macros [10]
> 	 o libssh: unstick SFTP transfers when done event-based [58]
> 	 o macos: set .plist version in autoconf [122]
> 	 o mbedtls: remove 'protocols' array from backend when ALPN is not used [66]
> 	 o mbedtls: remove server_fd from backend [91]
> 	 o mk-ca-bundle.pl: Use stricter logic to process the certificates [39]
> 	 o mk-ca-bundle.vbs: delete this script in favor of mk-ca-bundle.pl [8]
> 	 o mlc_config.json: add file to ignore known troublesome URLs [35]
> 	 o mqtt: better handling of TCP disconnect mid-message [55]
> 	 o ngtcp2: add client certificate authentication for OpenSSL [15]
> 	 o ngtcp2: avoid busy loop in low CWND situation [119]
> 	 o ngtcp2: deal with sub-millisecond timeout [116]
> 	 o ngtcp2: disconnect the QUIC connection proper [19]
> 	 o ngtcp2: enlarge H3_SEND_SIZE [82]
> 	 o ngtcp2: fix HTTP/3 upload stall and avoid busy loop [83]
> 	 o ngtcp2: fix memory leak [80]
> 	 o ngtcp2: fix QUIC_IDLE_TIMEOUT [94]
> 	 o ngtcp2: make curl 1ms faster [93]
> 	 o ngtcp2: remove remote_addr which is not used in a meaningful way [81]
> 	 o ngtcp2: update to work after recent ngtcp2 updates [62]
> 	 o ngtcp2: use token when detecting :status header field [92]
> 	 o nonblock: restore setsockopt method to curlx_nonblock [20]
> 	 o openssl: check SSL_get_peer_cert_chain return value [1]
> 	 o openssl: enable CURLOPT_SSL_EC_CURVES with BoringSSL [23]
> 	 o openssl: fix CN check error code [21]
> 	 o options: remove mistaken space before paren in prototype
> 	 o perl: removed a double semicolon at end of line [64]
> 	 o pop3/smtp: return *WEIRD_SERVER_REPLY when not understood [43]
> 	 o projects/README: converted to markdown [76]
> 	 o projects: Update VC version names for VS2017, VS2022 [52]
> 	 o rtsp: don't let CSeq error override earlier errors [37]
> 	 o runtests: add 'bearssl' as testable feature [87]
> 	 o runtests: make 'oldlibssh' be before 0.9.4 [2]
> 	 o schannel: remove dead code that will never run [89]
> 	 o scripts/copyright.pl: ignore the new mlc_config.json file
> 	 o scripts: move three scripts from lib/ to scripts/ [44]
> 	 o test1135: sync with recent API updates [54]
> 	 o test1459: disable for oldlibssh [53]
> 	 o test375: fix line endings on Windows [40]
> 	 o test386: Fix an incorrect test markup tag
> 	 o test718: edited slightly to return better HTTP [32]
> 	 o tests/server/util.h: align WIN32 condition with util.c [46]
> 	 o tests: refactor server/socksd.c to support --unix-socket [96]
> 	 o timediff.[ch]: add curlx helper functions for timeval conversions [86]
> 	 o tls: make mbedtls and NSS check for h2, not nghttp2 [70]
> 	 o tool and tests: force flush of all buffers at end of program [17]
> 	 o tool_cb_hdr: Turn the Location: into a terminal hyperlink [30]
> 	 o tool_getparam: error out on missing -K file [115]
> 	 o tool_listhelp.c: uppercase URL
> 	 o tool_operate: fix a scan-build warning [16]
> 	 o tool_paramhlp: use feof(3) to identify EOF correctly when using fread(3) [97]
> 	 o transfer: redirects to other protocols or ports clear auth [109]
> 	 o unit1620: call global_init before calling Curl_open [125]
> 	 o url: check sasl additional parameters for connection reuse. [113]
> 	 o vtls: provide a unified APLN-disagree string for all backends [75]
> 	 o vtls: use a backend standard message for "ALPN: offers %s" [73]
> 	 o vtls: use a generic "ALPN, server accepted" message [72]
> 	 o winbuild/README.md: fixup dead link [36]
> 	 o winbuild: Add a Visual Studio example to the README [49]
> 	 o wolfssl: fix compiler error without IPv6 [25]
> 
> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
> ---
>  config/rootfiles/common/curl | 5 ++++-
>  lfs/curl                     | 4 ++--
>  2 files changed, 6 insertions(+), 3 deletions(-)
> 
> diff --git a/config/rootfiles/common/curl b/config/rootfiles/common/curl
> index da18e3f29..044713ec6 100644
> --- a/config/rootfiles/common/curl
> +++ b/config/rootfiles/common/curl
> @@ -4,6 +4,7 @@ usr/bin/curl
>  #usr/include/curl/curl.h
>  #usr/include/curl/curlver.h
>  #usr/include/curl/easy.h
> +#usr/include/curl/header.h
>  #usr/include/curl/mprintf.h
>  #usr/include/curl/multi.h
>  #usr/include/curl/options.h
> @@ -14,7 +15,7 @@ usr/bin/curl
>  #usr/lib/libcurl.la
>  #usr/lib/libcurl.so
>  usr/lib/libcurl.so.4
> -usr/lib/libcurl.so.4.7.0
> +usr/lib/libcurl.so.4.8.0
>  #usr/lib/pkgconfig/libcurl.pc
>  #usr/share/aclocal/libcurl.m4
>  #usr/share/man/man1/curl-config.1
> @@ -407,7 +408,9 @@ usr/lib/libcurl.so.4.7.0
>  #usr/share/man/man3/curl_easy_duphandle.3
>  #usr/share/man/man3/curl_easy_escape.3
>  #usr/share/man/man3/curl_easy_getinfo.3
> +#usr/share/man/man3/curl_easy_header.3
>  #usr/share/man/man3/curl_easy_init.3
> +#usr/share/man/man3/curl_easy_nextheader.3
>  #usr/share/man/man3/curl_easy_option_by_id.3
>  #usr/share/man/man3/curl_easy_option_by_name.3
>  #usr/share/man/man3/curl_easy_option_next.3
> diff --git a/lfs/curl b/lfs/curl
> index 8700c9bda..ebb3a45a1 100644
> --- a/lfs/curl
> +++ b/lfs/curl
> @@ -24,7 +24,7 @@
>  
>  include Config
>  
> -VER        = 7.82.0
> +VER        = 7.83.0
>  
>  THISAPP    = curl-$(VER)
>  DL_FILE    = $(THISAPP).tar.xz
> @@ -40,7 +40,7 @@ objects = $(DL_FILE)
>  
>  $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>  
> -$(DL_FILE)_BLAKE2 = 838accae4a45c090909cff91477a023789a79535691c80e507fd9e9712861b0c08e25ecd26079cb8ac8946cdf429a50991a7521e7b550b43c19e455625bc0750
> +$(DL_FILE)_BLAKE2 = 0669f40265a56e7549e8038ed8421680d7264bff44dcc0692cf9f5248621311be5e228314710149bf9d2ccbe739f929039e04402c1d04a1362d0bbf08cb8cdc7
>  
>  install : $(TARGET)
>
  

Patch

diff --git a/config/rootfiles/common/curl b/config/rootfiles/common/curl
index da18e3f29..044713ec6 100644
--- a/config/rootfiles/common/curl
+++ b/config/rootfiles/common/curl
@@ -4,6 +4,7 @@  usr/bin/curl
 #usr/include/curl/curl.h
 #usr/include/curl/curlver.h
 #usr/include/curl/easy.h
+#usr/include/curl/header.h
 #usr/include/curl/mprintf.h
 #usr/include/curl/multi.h
 #usr/include/curl/options.h
@@ -14,7 +15,7 @@  usr/bin/curl
 #usr/lib/libcurl.la
 #usr/lib/libcurl.so
 usr/lib/libcurl.so.4
-usr/lib/libcurl.so.4.7.0
+usr/lib/libcurl.so.4.8.0
 #usr/lib/pkgconfig/libcurl.pc
 #usr/share/aclocal/libcurl.m4
 #usr/share/man/man1/curl-config.1
@@ -407,7 +408,9 @@  usr/lib/libcurl.so.4.7.0
 #usr/share/man/man3/curl_easy_duphandle.3
 #usr/share/man/man3/curl_easy_escape.3
 #usr/share/man/man3/curl_easy_getinfo.3
+#usr/share/man/man3/curl_easy_header.3
 #usr/share/man/man3/curl_easy_init.3
+#usr/share/man/man3/curl_easy_nextheader.3
 #usr/share/man/man3/curl_easy_option_by_id.3
 #usr/share/man/man3/curl_easy_option_by_name.3
 #usr/share/man/man3/curl_easy_option_next.3
diff --git a/lfs/curl b/lfs/curl
index 8700c9bda..ebb3a45a1 100644
--- a/lfs/curl
+++ b/lfs/curl
@@ -24,7 +24,7 @@ 
 
 include Config
 
-VER        = 7.82.0
+VER        = 7.83.0
 
 THISAPP    = curl-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = 838accae4a45c090909cff91477a023789a79535691c80e507fd9e9712861b0c08e25ecd26079cb8ac8946cdf429a50991a7521e7b550b43c19e455625bc0750
+$(DL_FILE)_BLAKE2 = 0669f40265a56e7549e8038ed8421680d7264bff44dcc0692cf9f5248621311be5e228314710149bf9d2ccbe739f929039e04402c1d04a1362d0bbf08cb8cdc7
 
 install : $(TARGET)