mirror of
https://git.yoctoproject.org/poky
synced 2026-09-14 21:49:33 +02:00
curl: Update to 8.8.0
Remove backported patch that is upsteam in this version. Disable test 1481 since it requires --libcurl option that is disabled by default. Remove --disable-ntlm-wb option since support for ntlm_wb was removed in this version (From OE-Core rev: f193e89cd957f0f0f7d8e9450b59061bf2e800c7) Signed-off-by: Robert Joslyn <robert.joslyn@redrectangle.org> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
f12859b0e8
commit
73d029e1d2
@@ -1,64 +0,0 @@
|
|||||||
From 721941aadf4adf4f6aeb3f4c0ab489bb89610c36 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Stefan Eissing <stefan@eissing.org>
|
|
||||||
Date: Mon, 1 Apr 2024 15:41:18 +0200
|
|
||||||
Subject: [PATCH] http: with chunked POST forced, disable length check on read
|
|
||||||
callback
|
|
||||||
|
|
||||||
- when an application forces HTTP/1.1 chunked transfer encoding
|
|
||||||
by setting the corresponding header and instructs curl to use
|
|
||||||
the CURLOPT_READFUNCTION, disregard any POST length information.
|
|
||||||
- this establishes backward compatibility with previous curl versions
|
|
||||||
|
|
||||||
Applications are encouraged to not force "chunked", but rather
|
|
||||||
set length information for a POST. By setting -1, curl will
|
|
||||||
auto-select chunked on HTTP/1.1 and work properly on other HTTP
|
|
||||||
versions.
|
|
||||||
|
|
||||||
Reported-by: Jeff King
|
|
||||||
Fixes #13229
|
|
||||||
Closes #13257
|
|
||||||
Upstream-Status: Backport
|
|
||||||
---
|
|
||||||
lib/http.c | 22 ++++++++++++++++++++--
|
|
||||||
1 file changed, 20 insertions(+), 2 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/lib/http.c b/lib/http.c
|
|
||||||
index 92c04e69cd8373..a764d3c4403c39 100644
|
|
||||||
--- a/lib/http.c
|
|
||||||
+++ b/lib/http.c
|
|
||||||
@@ -2046,8 +2046,19 @@ static CURLcode set_reader(struct Curl_easy *data, Curl_HttpReq httpreq)
|
|
||||||
else
|
|
||||||
result = Curl_creader_set_null(data);
|
|
||||||
}
|
|
||||||
- else { /* we read the bytes from the callback */
|
|
||||||
- result = Curl_creader_set_fread(data, postsize);
|
|
||||||
+ else {
|
|
||||||
+ /* we read the bytes from the callback. In case "chunked" encoding
|
|
||||||
+ * is forced by the application, we disregard `postsize`. This is
|
|
||||||
+ * a backward compatibility decision to earlier versions where
|
|
||||||
+ * chunking disregarded this. See issue #13229. */
|
|
||||||
+ bool chunked = FALSE;
|
|
||||||
+ char *ptr = Curl_checkheaders(data, STRCONST("Transfer-Encoding"));
|
|
||||||
+ if(ptr) {
|
|
||||||
+ /* Some kind of TE is requested, check if 'chunked' is chosen */
|
|
||||||
+ chunked = Curl_compareheader(ptr, STRCONST("Transfer-Encoding:"),
|
|
||||||
+ STRCONST("chunked"));
|
|
||||||
+ }
|
|
||||||
+ result = Curl_creader_set_fread(data, chunked? -1 : postsize);
|
|
||||||
}
|
|
||||||
return result;
|
|
||||||
|
|
||||||
@@ -2115,6 +2126,13 @@ CURLcode Curl_http_req_set_reader(struct Curl_easy *data,
|
|
||||||
data->req.upload_chunky =
|
|
||||||
Curl_compareheader(ptr,
|
|
||||||
STRCONST("Transfer-Encoding:"), STRCONST("chunked"));
|
|
||||||
+ if(data->req.upload_chunky &&
|
|
||||||
+ Curl_use_http_1_1plus(data, data->conn) &&
|
|
||||||
+ (data->conn->httpversion >= 20)) {
|
|
||||||
+ infof(data, "suppressing chunked transfer encoding on connection "
|
|
||||||
+ "using HTTP version 2 or higher");
|
|
||||||
+ data->req.upload_chunky = FALSE;
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
curl_off_t req_clen = Curl_creader_total_length(data);
|
|
||||||
@@ -39,3 +39,4 @@
|
|||||||
1404
|
1404
|
||||||
1405
|
1405
|
||||||
1465
|
1465
|
||||||
|
1481
|
||||||
|
|||||||
@@ -11,12 +11,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=eed2e5088e1ac619c9a1c747da291d75"
|
|||||||
|
|
||||||
SRC_URI = " \
|
SRC_URI = " \
|
||||||
https://curl.se/download/${BP}.tar.xz \
|
https://curl.se/download/${BP}.tar.xz \
|
||||||
file://721941aadf4adf4f6aeb3f4c0ab489bb89610c36.patch \
|
|
||||||
file://run-ptest \
|
file://run-ptest \
|
||||||
file://disable-tests \
|
file://disable-tests \
|
||||||
file://no-test-timeout.patch \
|
file://no-test-timeout.patch \
|
||||||
"
|
"
|
||||||
SRC_URI[sha256sum] = "6fea2aac6a4610fbd0400afb0bcddbe7258a64c63f1f68e5855ebc0c659710cd"
|
SRC_URI[sha256sum] = "0f58bb95fc330c8a46eeb3df5701b0d90c9d9bfcc42bd1cd08791d12551d4400"
|
||||||
|
|
||||||
# Curl has used many names over the years...
|
# Curl has used many names over the years...
|
||||||
CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl"
|
CVE_PRODUCT = "haxx:curl haxx:libcurl curl:curl curl:libcurl libcurl:libcurl daniel_stenberg:curl"
|
||||||
@@ -73,7 +72,6 @@ PACKAGECONFIG[zstd] = "--with-zstd,--without-zstd,zstd"
|
|||||||
|
|
||||||
EXTRA_OECONF = " \
|
EXTRA_OECONF = " \
|
||||||
--disable-libcurl-option \
|
--disable-libcurl-option \
|
||||||
--disable-ntlm-wb \
|
|
||||||
--with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \
|
--with-ca-bundle=${sysconfdir}/ssl/certs/ca-certificates.crt \
|
||||||
--without-libpsl \
|
--without-libpsl \
|
||||||
--enable-optimize \
|
--enable-optimize \
|
||||||
Reference in New Issue
Block a user