From nobody Wed Sep 25 18:25:19 2024 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4XDQBl6czrz5XXSw; Wed, 25 Sep 2024 18:25:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4XDQBl4L5Zz4lBY; Wed, 25 Sep 2024 18:25:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727288719; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lxfah+F4wnF+PE+SggpSiwQZYg3hujZJMU8/vSIXTL4=; b=Ch0N5fGkEC1XpSVHpMjcpIzX3HobcTgDhbQp48PKbDX0SHiIPrluzXimlb3gNR+Zuzk8pi vKcsoXgzVm1wz20CMpfva1Tw4hwUcCOd0YHDtfihML1cLTZg0qq2mw1yPYp2BgtmRaC7hS BxV9U5rifAtIr+zkQOk6nfMJKXQgebcRWSzS08bHhs7mp02UkMymRLPzqW85GK5Slg2dbU rQ1cy/xxhovPUeEA/g1oiWxDWHfCIigf8YIZpLgu5qYOGP3tgGOfCBAQZdf6RD7CSdCfkW Yyp/vTK5yKkEf4i6u/kqRCBzGz3exyYTqhU2qSf1rSHGYkNGrFYVwY9xN+0T+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1727288719; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lxfah+F4wnF+PE+SggpSiwQZYg3hujZJMU8/vSIXTL4=; b=FhYAQkxghnG3Qqc4P1H9hAlWxjt8pnCBdmvimRf17ifa6q7p4oCut0A/NLs7CpNv+na9mG B9sLOVsekjEF3zmn6/DaCB+sW3xP4/HFMvuUIqkZNjwe2T/pM5ZisszwjBEmAolSeVsuNb m74u/Z3hjiG47JjLAHItZGBtstImX8nueixOLGxrW+EakKdqWxwbILMpKf2slkYNCzvafv Q3vSUQZY6o0PWjpQJrinj0ncSPzTiUDOspf1ZcSN2V5hdLCx+S35w9j0cJSXLZsUV2WKnS WMMlxJyRWG9li716ag7CvGc0Kz8AHc3sDTI4KFRXL9fSDNTjbqx0eBOe44fhOQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1727288719; a=rsa-sha256; cv=none; b=llQn9blzpNo6b4eoWsS6Pt1787v84Wx/xDfycv0EXaBsHPl5/viBkGDDX0QtJW3OVJbuQ1 iW5sGOvCnrF+Kb/xnLzRoM7lbJCHxXbyf3n7IwxFXX6ZWp+3RdyKxzgMaz+qKmwt7cnuRZ zs/oIWjtYa1DPSJlQC0IAnJBpme0vQs9v83lSNVt7zgOkFbSguNg7WQ3ZZEtyZK5ie0Fjk fW3OoqiwR38HFV47IaRlfy0EAuHUyGYJVhSpPLJSOIlYL5Ve55Ad1z0SJpakBvssFk2kbP 64boEePjtl3jdJMh5wBgqHz9AhU7pUR7Ynca81QgJKWXRyTTSSagVswo9/cXqg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4XDQBl3vxlzNpW; Wed, 25 Sep 2024 18:25:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 48PIPJSS066029; Wed, 25 Sep 2024 18:25:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 48PIPJkC066026; Wed, 25 Sep 2024 18:25:19 GMT (envelope-from git) Date: Wed, 25 Sep 2024 18:25:19 GMT Message-Id: <202409251825.48PIPJkC066026@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Po-Chuan Hsieh Subject: git: caa55df944c6 - main - ftp/curl: Update to 8.10.1 List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sunpoet X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: caa55df944c68549fce09d45e7bf62fb0de839aa Auto-Submitted: auto-generated The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=caa55df944c68549fce09d45e7bf62fb0de839aa commit caa55df944c68549fce09d45e7bf62fb0de839aa Author: Po-Chuan Hsieh AuthorDate: 2024-09-25 17:48:24 +0000 Commit: Po-Chuan Hsieh CommitDate: 2024-09-25 18:21:54 +0000 ftp/curl: Update to 8.10.1 Changes: https://curl.se/changes.html --- ftp/curl/Makefile | 3 +- ftp/curl/distinfo | 8 +- ...git-01-70d3a9b6aa69ffdd9435e168463cfabd21e17cd1 | 124 --------------------- ...git-02-bef0acaf212a71c782e0b8e8e6c772cc46040356 | 48 -------- 4 files changed, 4 insertions(+), 179 deletions(-) diff --git a/ftp/curl/Makefile b/ftp/curl/Makefile index b561bbd8245a..7e0faa24ae1c 100644 --- a/ftp/curl/Makefile +++ b/ftp/curl/Makefile @@ -1,6 +1,5 @@ PORTNAME= curl -PORTVERSION= 8.10.0 -PORTREVISION= 1 +PORTVERSION= 8.10.1 CATEGORIES= ftp net www MASTER_SITES= https://curl.se/download/ \ https://github.com/curl/curl/releases/download/curl-${PORTVERSION:S|.|_|g}/ diff --git a/ftp/curl/distinfo b/ftp/curl/distinfo index 1c8cdb6886be..041c821649c6 100644 --- a/ftp/curl/distinfo +++ b/ftp/curl/distinfo @@ -1,5 +1,3 @@ -TIMESTAMP = 1726080937 -SHA256 (curl-8.10.0.tar.xz) = e6b142f0e85e954759d37e26a3627e2278137595be80e3a860c4353e4335e5a0 -SIZE (curl-8.10.0.tar.xz) = 2729448 -SHA256 (3eec5afbd0b6377eca893c392569b2faf094d970.patch) = ba87265c9f01fd608c1287666f4edead6b1a18bde328bff486aa81a77befa2f0 -SIZE (3eec5afbd0b6377eca893c392569b2faf094d970.patch) = 912 +TIMESTAMP = 1727260381 +SHA256 (curl-8.10.1.tar.xz) = 73a4b0e99596a09fa5924a4fb7e4b995a85fda0d18a2c02ab9cf134bebce04ee +SIZE (curl-8.10.1.tar.xz) = 2726748 diff --git a/ftp/curl/files/patch-git-01-70d3a9b6aa69ffdd9435e168463cfabd21e17cd1 b/ftp/curl/files/patch-git-01-70d3a9b6aa69ffdd9435e168463cfabd21e17cd1 deleted file mode 100644 index aab6f77b6221..000000000000 --- a/ftp/curl/files/patch-git-01-70d3a9b6aa69ffdd9435e168463cfabd21e17cd1 +++ /dev/null @@ -1,124 +0,0 @@ -From 70d3a9b6aa69ffdd9435e168463cfabd21e17cd1 Mon Sep 17 00:00:00 2001 -From: Stefan Eissing -Date: Thu, 12 Sep 2024 10:03:33 +0200 -Subject: [PATCH] http2: when uploading data from stdin, fix eos forwarding - -When uploading data from stdin ('-T -'), and the EOS was only detected -on a 0-length read, the EOS was not forwarded to the filters. This led -HTTP/2 to hang on not forwarding this to the server. - -Added test_07_14 to reproduce and verify. - -Fixes #14870 -Reported-by: nekopsykose on github -Closes #14877 ---- - lib/http2.c | 9 ++++----- - lib/request.c | 35 +++++++++++++++++++++++----------- - lib/request.h | 1 + - lib/transfer.c | 4 ++-- - tests/http/test_07_upload.py | 37 ++++++++++++++++++++++++++++++++++++ - 5 files changed, 68 insertions(+), 18 deletions(-) - -diff --git a/lib/http2.c b/lib/http2.c -index bc50a2f7a7fe43..df3e6f0df38fbf 100644 ---- lib/http2.c -+++ lib/http2.c -@@ -1679,12 +1679,11 @@ static ssize_t req_body_read_callback(nghttp2_session *session, - CURL_TRC_CF(data_s, cf, "[%d] req_body_read(len=%zu) eos=%d -> %zd, %d", - stream_id, length, stream->body_eos, nread, result); - -- if(nread == 0) -- return NGHTTP2_ERR_DEFERRED; -- if(stream->body_eos && Curl_bufq_is_empty(&stream->sendbuf)) -+ if(stream->body_eos && Curl_bufq_is_empty(&stream->sendbuf)) { - *data_flags = NGHTTP2_DATA_FLAG_EOF; -- -- return nread; -+ return nread; -+ } -+ return (nread == 0)? NGHTTP2_ERR_DEFERRED : nread; - } - - #if !defined(CURL_DISABLE_VERBOSE_STRINGS) -diff --git a/lib/request.c b/lib/request.c -index fb75e5577cdbb2..6b2784c3ff08e6 100644 ---- lib/request.c -+++ lib/request.c -@@ -214,15 +214,19 @@ static CURLcode xfer_send(struct Curl_easy *data, - eos = TRUE; - } - result = Curl_xfer_send(data, buf, blen, eos, pnwritten); -- if(!result && *pnwritten) { -- if(hds_len) -- Curl_debug(data, CURLINFO_HEADER_OUT, (char *)buf, -- CURLMIN(hds_len, *pnwritten)); -- if(*pnwritten > hds_len) { -- size_t body_len = *pnwritten - hds_len; -- Curl_debug(data, CURLINFO_DATA_OUT, (char *)buf + hds_len, body_len); -- data->req.writebytecount += body_len; -- Curl_pgrsSetUploadCounter(data, data->req.writebytecount); -+ if(!result) { -+ if(eos && (blen == *pnwritten)) -+ data->req.eos_sent = TRUE; -+ if(*pnwritten) { -+ if(hds_len) -+ Curl_debug(data, CURLINFO_HEADER_OUT, (char *)buf, -+ CURLMIN(hds_len, *pnwritten)); -+ if(*pnwritten > hds_len) { -+ size_t body_len = *pnwritten - hds_len; -+ Curl_debug(data, CURLINFO_DATA_OUT, (char *)buf + hds_len, body_len); -+ data->req.writebytecount += body_len; -+ Curl_pgrsSetUploadCounter(data, data->req.writebytecount); -+ } - } - } - return result; -@@ -304,8 +308,17 @@ static CURLcode req_flush(struct Curl_easy *data) - return Curl_xfer_flush(data); - } - -- if(!data->req.upload_done && data->req.eos_read && -- Curl_bufq_is_empty(&data->req.sendbuf)) { -+ if(data->req.eos_read && !data->req.eos_sent) { -+ char tmp; -+ size_t nwritten; -+ result = xfer_send(data, &tmp, 0, 0, &nwritten); -+ if(result) -+ return result; -+ DEBUGASSERT(data->req.eos_sent); -+ } -+ -+ if(!data->req.upload_done && data->req.eos_read && data->req.eos_sent) { -+ DEBUGASSERT(Curl_bufq_is_empty(&data->req.sendbuf)); - if(data->req.shutdown) { - bool done; - result = Curl_xfer_send_shutdown(data, &done); -diff --git a/lib/request.h b/lib/request.h -index fb3f9f116815cd..c53c3eb5ae7e7f 100644 ---- lib/request.h -+++ lib/request.h -@@ -130,6 +130,7 @@ struct SingleRequest { - BIT(download_done); /* set to TRUE when download is complete */ - BIT(eos_written); /* iff EOS has been written to client */ - BIT(eos_read); /* iff EOS has been read from the client */ -+ BIT(eos_sent); /* iff EOS has been sent to the server */ - BIT(rewind_read); /* iff reader needs rewind at next start */ - BIT(upload_done); /* set to TRUE when all request data has been sent */ - BIT(upload_aborted); /* set to TRUE when upload was aborted. Will also -diff --git a/lib/transfer.c b/lib/transfer.c -index 0f42b3f2b4ddd6..ab8fd724314e4e 100644 ---- lib/transfer.c -+++ lib/transfer.c -@@ -1253,8 +1253,8 @@ CURLcode Curl_xfer_send(struct Curl_easy *data, - else if(!result && *pnwritten) - data->info.request_size += *pnwritten; - -- DEBUGF(infof(data, "Curl_xfer_send(len=%zu) -> %d, %zu", -- blen, result, *pnwritten)); -+ DEBUGF(infof(data, "Curl_xfer_send(len=%zu, eos=%d) -> %d, %zu", -+ blen, eos, result, *pnwritten)); - return result; - } - - diff --git a/ftp/curl/files/patch-git-02-bef0acaf212a71c782e0b8e8e6c772cc46040356 b/ftp/curl/files/patch-git-02-bef0acaf212a71c782e0b8e8e6c772cc46040356 deleted file mode 100644 index ed3a5a0958bd..000000000000 --- a/ftp/curl/files/patch-git-02-bef0acaf212a71c782e0b8e8e6c772cc46040356 +++ /dev/null @@ -1,48 +0,0 @@ -From bef0acaf212a71c782e0b8e8e6c772cc46040356 Mon Sep 17 00:00:00 2001 -From: Stefan Eissing -Date: Fri, 13 Sep 2024 09:58:16 +0200 -Subject: [PATCH] request: correctly reset the eos_sent flag - -Add test cases - -Bug: https://marc.info/?l=git&m=172620452502747&w=2 -Reported-by: Patrick Steinhardt -Closes #14895 ---- - lib/request.c | 5 + - tests/http/clients/.gitignore | 3 +- - tests/http/clients/Makefile.inc | 3 +- - .../clients/{h2-download.c => hx-download.c} | 0 - tests/http/clients/hx-upload.c | 568 ++++++++++++++++++ - tests/http/test_02_download.py | 12 +- - tests/http/test_07_upload.py | 61 ++ - tests/http/test_19_shutdown.py | 2 +- - 8 files changed, 645 insertions(+), 9 deletions(-) - rename tests/http/clients/{h2-download.c => hx-download.c} (100%) - create mode 100644 tests/http/clients/hx-upload.c - -diff --git a/lib/request.c b/lib/request.c -index 6b2784c3ff08e6..1ddbdc9d0f1680 100644 ---- lib/request.c -+++ lib/request.c -@@ -52,7 +52,11 @@ CURLcode Curl_req_soft_reset(struct SingleRequest *req, - - req->done = FALSE; - req->upload_done = FALSE; -+ req->upload_aborted = FALSE; - req->download_done = FALSE; -+ req->eos_written = FALSE; -+ req->eos_read = FALSE; -+ req->eos_sent = FALSE; - req->ignorebody = FALSE; - req->shutdown = FALSE; - req->bytecount = 0; -@@ -146,6 +150,7 @@ void Curl_req_hard_reset(struct SingleRequest *req, struct Curl_easy *data) - req->download_done = FALSE; - req->eos_written = FALSE; - req->eos_read = FALSE; -+ req->eos_sent = FALSE; - req->upload_done = FALSE; - req->upload_aborted = FALSE; - req->ignorebody = FALSE; -