[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