Date: Wednesday, September 22, 2021 @ 06:46:31 Author: eworm Revision: 424512
upgpkg: curl 7.79.1-1: new upstream release Modified: curl/trunk/PKGBUILD Deleted: curl/trunk/0001-Curl_http2_setup-do-not-change-connection-data-on-repeat-invokes.patch curl/trunk/0002-http-fix-the-broken-3-digit-response-code-detection.patch -----------------------------------------------------------------------------+ 0001-Curl_http2_setup-do-not-change-connection-data-on-repeat-invokes.patch | 47 --- 0002-http-fix-the-broken-3-digit-response-code-detection.patch | 119 ---------- PKGBUILD | 21 - 3 files changed, 5 insertions(+), 182 deletions(-) Deleted: 0001-Curl_http2_setup-do-not-change-connection-data-on-repeat-invokes.patch =================================================================== --- 0001-Curl_http2_setup-do-not-change-connection-data-on-repeat-invokes.patch 2021-09-22 06:20:59 UTC (rev 424511) +++ 0001-Curl_http2_setup-do-not-change-connection-data-on-repeat-invokes.patch 2021-09-22 06:46:31 UTC (rev 424512) @@ -1,47 +0,0 @@ -From 901804ef95777b8e735a55b77f8dd630a58c575b Mon Sep 17 00:00:00 2001 -From: Daniel Stenberg <[email protected]> -Date: Thu, 16 Sep 2021 08:50:54 +0200 -Subject: [PATCH] Curl_http2_setup: don't change connection data on repeat - invokes - -Regression from 3cb8a748670ab88c (releasde in 7.79.0). That change moved -transfer oriented inits to before the check but also erroneously moved a -few connection oriented ones, which causes problems. - -Reported-by: Evangelos Foutras -Fixes #7730 -Closes #7731 ---- - lib/http2.c | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/lib/http2.c b/lib/http2.c -index a3de607c7d24..6d63f43636a5 100644 ---- a/lib/http2.c -+++ b/lib/http2.c -@@ -2221,12 +2221,6 @@ CURLcode Curl_http2_setup(struct Curl_easy *data, - stream->mem = data->state.buffer; - stream->len = data->set.buffer_size; - -- httpc->inbuflen = 0; -- httpc->nread_inbuf = 0; -- -- httpc->pause_stream_id = 0; -- httpc->drain_total = 0; -- - multi_connchanged(data->multi); - /* below this point only connection related inits are done, which only needs - to be done once per connection */ -@@ -2252,6 +2246,12 @@ CURLcode Curl_http2_setup(struct Curl_easy *data, - conn->httpversion = 20; - conn->bundle->multiuse = BUNDLE_MULTIPLEX; - -+ httpc->inbuflen = 0; -+ httpc->nread_inbuf = 0; -+ -+ httpc->pause_stream_id = 0; -+ httpc->drain_total = 0; -+ - infof(data, "Connection state changed (HTTP/2 confirmed)"); - - return CURLE_OK; Deleted: 0002-http-fix-the-broken-3-digit-response-code-detection.patch =================================================================== --- 0002-http-fix-the-broken-3-digit-response-code-detection.patch 2021-09-22 06:20:59 UTC (rev 424511) +++ 0002-http-fix-the-broken-3-digit-response-code-detection.patch 2021-09-22 06:46:31 UTC (rev 424512) @@ -1,119 +0,0 @@ -From beb8990d934a01acf103871e463d4e61afc9ded2 Mon Sep 17 00:00:00 2001 -From: Daniel Stenberg <[email protected]> -Date: Fri, 17 Sep 2021 16:31:25 +0200 -Subject: http: fix the broken >3 digit response code detection - -When the "reason phrase" in the HTTP status line starts with a digit, -that was treated as the forth response code digit and curl would claim -the response to be non-compliant. - -Added test 1466 to verify this case. - -Regression brought by 5dc594e44f73b17 -Reported-by: Glenn de boer -Fixes #7738 -Closes #7739 ---- - lib/http.c | 10 +++++----- - tests/data/Makefile.inc | 2 +- - tests/data/test1466 | 45 +++++++++++++++++++++++++++++++++++++++++++++ - 3 files changed, 51 insertions(+), 6 deletions(-) - create mode 100644 tests/data/test1466 - -diff --git a/lib/http.c b/lib/http.c -index d5c36dd54..648583c56 100644 ---- a/lib/http.c -+++ b/lib/http.c -@@ -4232,9 +4232,9 @@ CURLcode Curl_http_readwrite_headers(struct Curl_easy *data, - char separator; - char twoorthree[2]; - int httpversion = 0; -- int digit4 = -1; /* should remain untouched to be good */ -+ char digit4 = 0; - nc = sscanf(HEADER1, -- " HTTP/%1d.%1d%c%3d%1d", -+ " HTTP/%1d.%1d%c%3d%c", - &httpversion_major, - &httpversion, - &separator, -@@ -4250,13 +4250,13 @@ CURLcode Curl_http_readwrite_headers(struct Curl_easy *data, - - /* There can only be a 4th response code digit stored in 'digit4' if - all the other fields were parsed and stored first, so nc is 5 when -- digit4 is not -1 */ -- else if(digit4 != -1) { -+ digit4 a digit */ -+ else if(ISDIGIT(digit4)) { - failf(data, "Unsupported response code in HTTP response"); - return CURLE_UNSUPPORTED_PROTOCOL; - } - -- if((nc == 4) && (' ' == separator)) { -+ if((nc >= 4) && (' ' == separator)) { - httpversion += 10 * httpversion_major; - switch(httpversion) { - case 10: -diff --git a/tests/data/Makefile.inc b/tests/data/Makefile.inc -index 787c36375..91b8c18eb 100644 ---- a/tests/data/Makefile.inc -+++ b/tests/data/Makefile.inc -@@ -182,7 +182,7 @@ test1432 test1433 test1434 test1435 test1436 test1437 test1438 test1439 \ - test1440 test1441 test1442 test1443 test1444 test1445 test1446 test1447 \ - test1448 test1449 test1450 test1451 test1452 test1453 test1454 test1455 \ - test1456 test1457 test1458 test1459 test1460 test1461 test1462 test1463 \ --test1464 test1465 \ -+test1464 test1465 test1466 \ - \ - test1500 test1501 test1502 test1503 test1504 test1505 test1506 test1507 \ - test1508 test1509 test1510 test1511 test1512 test1513 test1514 test1515 \ -diff --git a/tests/data/test1466 b/tests/data/test1466 -new file mode 100644 -index 000000000..0955d660c ---- /dev/null -+++ b/tests/data/test1466 -@@ -0,0 +1,45 @@ -+<testcase> -+<info> -+<keywords> -+HTTP -+HTTP GET -+</keywords> -+</info> -+ -+<reply> -+<data> -+HTTP/1.1 405 405 -+Content-Length: 6 -+Connection: close -+ -+-foo- -+</data> -+</reply> -+ -+# -+# Client-side -+<client> -+<server> -+http -+</server> -+ -+<name> -+HTTP GET with 3-digit response and only digits in reason -+ </name> -+ <command> -+http://%HOSTIP:%HTTPPORT/%TESTNUMBER -+</command> -+</client> -+ -+# -+# Verify data after the test has been "shot" -+<verify> -+<protocol> -+GET /%TESTNUMBER HTTP/1.1 -+Host: %HOSTIP:%HTTPPORT -+User-Agent: curl/%VERSION -+Accept: */* -+ -+</protocol> -+</verify> -+</testcase> Modified: PKGBUILD =================================================================== --- PKGBUILD 2021-09-22 06:20:59 UTC (rev 424511) +++ PKGBUILD 2021-09-22 06:46:31 UTC (rev 424512) @@ -5,8 +5,8 @@ # Contributor: Daniel J Griffiths <[email protected]> pkgname=curl -pkgver=7.79.0 -pkgrel=4 +pkgver=7.79.1 +pkgrel=1 pkgdesc='An URL retrieval utility and library' arch=('x86_64') url='https://curl.haxx.se' @@ -15,22 +15,11 @@ 'libidn2' 'libidn2.so' 'libnghttp2' 'libpsl' 'libpsl.so' 'libssh2' 'libssh2.so' 'openssl' 'zlib' 'zstd' 'libzstd.so') provides=('libcurl.so') -source=("https://curl.haxx.se/download/${pkgname}-${pkgver}.tar.gz"{,.asc} - '0001-Curl_http2_setup-do-not-change-connection-data-on-repeat-invokes.patch' - '0002-http-fix-the-broken-3-digit-response-code-detection.patch') -sha512sums=('6529645774bd2687535cfaec5949281f305c2910da3bd4de22713ab370fde0d05c416579b46aef7eaaf5f73d882e96b8268b80b6802b978f9c54b0a837420dad' - 'SKIP' - 'f83ba83073a90ab369c7c0e06d440d6d8be87c72800095c35d803bca246ea5ee73b811b210ce9d8a7ee137583ca3e839afd8eb9accf699f655e9db82a7bdef71' - 'e8448cea7f8ddc0cd5a6d632f6e8d537b82820f49ca91b17858802893eeaef4255a50aba9426870cdf9ee5c1cc121b977426313d42a0c0be12e9ea237ff0201f') +source=("https://curl.haxx.se/download/${pkgname}-${pkgver}.tar.gz"{,.asc}) +sha512sums=('0f9546285bef741f69d25f20bcd5b961d29fc88084d9f3ebe0c66a6674f4c69a531b41f8e3cc57474f528abdd90aa7981e653c339c5e8383353c36a82efaafc4' + 'SKIP') validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg -prepare() { - cd "${pkgname}-${pkgver}" - - patch -Np1 < ../0001-Curl_http2_setup-do-not-change-connection-data-on-repeat-invokes.patch - patch -Np1 < ../0002-http-fix-the-broken-3-digit-response-code-detection.patch -} - build() { mkdir build cd build
