[arch-commits] Commit in libcurl/repos (3 files)
Christian Hesse
eworm at gemini.archlinux.org
Thu Sep 16 09:52:53 UTC 2021
Date: Thursday, September 16, 2021 @ 09:52:52
Author: eworm
Revision: 1016146
archrelease: copy trunk to community-testing-x86_64
Added:
libcurl/repos/community-testing-x86_64/
libcurl/repos/community-testing-x86_64/0001-Curl_http2_setup-do-not-change-connection-data-on-repeat-invokes.patch
(from rev 1016145, libcurl/trunk/0001-Curl_http2_setup-do-not-change-connection-data-on-repeat-invokes.patch)
libcurl/repos/community-testing-x86_64/PKGBUILD
(from rev 1016145, libcurl/trunk/PKGBUILD)
-----------------------------------------------------------------------------+
0001-Curl_http2_setup-do-not-change-connection-data-on-repeat-invokes.patch | 47 ++++
PKGBUILD | 100 ++++++++++
2 files changed, 147 insertions(+)
Copied: libcurl/repos/community-testing-x86_64/0001-Curl_http2_setup-do-not-change-connection-data-on-repeat-invokes.patch (from rev 1016145, libcurl/trunk/0001-Curl_http2_setup-do-not-change-connection-data-on-repeat-invokes.patch)
===================================================================
--- community-testing-x86_64/0001-Curl_http2_setup-do-not-change-connection-data-on-repeat-invokes.patch (rev 0)
+++ community-testing-x86_64/0001-Curl_http2_setup-do-not-change-connection-data-on-repeat-invokes.patch 2021-09-16 09:52:52 UTC (rev 1016146)
@@ -0,0 +1,47 @@
+From 901804ef95777b8e735a55b77f8dd630a58c575b Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <daniel at haxx.se>
+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;
Copied: libcurl/repos/community-testing-x86_64/PKGBUILD (from rev 1016145, libcurl/trunk/PKGBUILD)
===================================================================
--- community-testing-x86_64/PKGBUILD (rev 0)
+++ community-testing-x86_64/PKGBUILD 2021-09-16 09:52:52 UTC (rev 1016146)
@@ -0,0 +1,100 @@
+# Maintainer: Maxime Gauduin <alucryd at archlinux.org>
+# Contributor: Piotr Balcerowski <piotr at balcerowski.org>
+
+pkgbase=libcurl
+pkgname=(libcurl-compat libcurl-gnutls)
+_pkgname=curl
+pkgver=7.79.0
+pkgrel=2
+pkgdesc='An URL retrieval library'
+arch=('x86_64')
+url='https://curl.haxx.se'
+license=('MIT')
+depends=("${_pkgname}")
+makedepends=('gnutls' 'openssl')
+options=('strip')
+source=("https://curl.haxx.se/download/curl-${pkgver}.tar.gz"{,.asc}
+ '0001-Curl_http2_setup-do-not-change-connection-data-on-repeat-invokes.patch')
+sha512sums=('6529645774bd2687535cfaec5949281f305c2910da3bd4de22713ab370fde0d05c416579b46aef7eaaf5f73d882e96b8268b80b6802b978f9c54b0a837420dad'
+ 'SKIP'
+ 'f83ba83073a90ab369c7c0e06d440d6d8be87c72800095c35d803bca246ea5ee73b811b210ce9d8a7ee137583ca3e839afd8eb9accf699f655e9db82a7bdef71')
+validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg
+
+_configure_options=(
+ --prefix='/usr'
+ --disable-ldap
+ --disable-ldaps
+ --disable-manual
+ --disable-versioned-symbols
+ --enable-ipv6
+ --enable-threaded-resolver
+ --with-gssapi
+ --with-libssh2
+ --with-openssl
+ --with-random='/dev/urandom'
+ --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt'
+)
+
+prepare() {
+ cd "curl-${pkgver}"
+
+ patch -Np1 < ../0001-Curl_http2_setup-do-not-change-connection-data-on-repeat-invokes.patch
+}
+
+build() {
+ mkdir build-{compat,gnutls}
+
+ # build compat (disable-versioned-symbols)
+ cd "${srcdir}"/build-compat
+
+ "${srcdir}/curl-${pkgver}"/configure \
+ "${_configure_options[@]}"
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+ make -C lib
+
+ # build gnutls (without-ssl)
+ cd "${srcdir}"/build-gnutls
+
+ "${srcdir}/curl-${pkgver}"/configure \
+ "${_configure_options[@]}" \
+ --without-ssl \
+ --with-gnutls='/usr'
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
+ make -C lib
+}
+
+package_libcurl-compat() {
+ pkgdesc='An URL retrieval library (without versioned symbols)'
+ depends+=('openssl')
+
+ cd "${srcdir}"/build-compat
+
+ make -C lib DESTDIR="${pkgdir}" install
+
+ mv "${pkgdir}"/usr/lib/libcurl{,-compat}.so.4.7.0
+ rm "${pkgdir}"/usr/lib/libcurl.{a,so}*
+ for version in 3 4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0; do
+ ln -s libcurl-compat.so.4.7.0 "${pkgdir}"/usr/lib/libcurl.so.${version}
+ done
+
+ install -dm 755 "${pkgdir}"/usr/share/licenses
+ ln -s curl "${pkgdir}"/usr/share/licenses/libcurl-compat
+}
+
+package_libcurl-gnutls() {
+ pkgdesc='An URL retrieval library (without versioned symbols and linked against gnutls)'
+ depends+=('gnutls')
+
+ cd "${srcdir}"/build-gnutls
+
+ make -C lib DESTDIR="${pkgdir}" install
+
+ mv "${pkgdir}"/usr/lib/libcurl{,-gnutls}.so.4.7.0
+ rm "${pkgdir}"/usr/lib/libcurl.{a,so}*
+ for version in 3 4 4.0.0 4.1.0 4.2.0 4.3.0 4.4.0 4.5.0 4.6.0; do
+ ln -s libcurl-gnutls.so.4.7.0 "${pkgdir}"/usr/lib/libcurl-gnutls.so.${version}
+ done
+
+ install -dm 755 "${pkgdir}"/usr/share/licenses
+ ln -s curl "${pkgdir}"/usr/share/licenses/libcurl-gnutls
+}
More information about the arch-commits
mailing list