Date: Monday, November 11, 2019 @ 14:29:58
  Author: eworm
Revision: 526742

archrelease: copy trunk to community-testing-x86_64

Added:
  
libcurl-gnutls/repos/community-testing-x86_64/0001-remove_handle-clear-expire-timers-after-multi_done.patch
    (from rev 526741, 
libcurl-gnutls/trunk/0001-remove_handle-clear-expire-timers-after-multi_done.patch)
  libcurl-gnutls/repos/community-testing-x86_64/PKGBUILD
    (from rev 526741, libcurl-gnutls/trunk/PKGBUILD)
Deleted:
  libcurl-gnutls/repos/community-testing-x86_64/PKGBUILD

---------------------------------------------------------------+
 0001-remove_handle-clear-expire-timers-after-multi_done.patch |   43 +++
 PKGBUILD                                                      |  120 +++++-----
 2 files changed, 107 insertions(+), 56 deletions(-)

Copied: 
libcurl-gnutls/repos/community-testing-x86_64/0001-remove_handle-clear-expire-timers-after-multi_done.patch
 (from rev 526741, 
libcurl-gnutls/trunk/0001-remove_handle-clear-expire-timers-after-multi_done.patch)
===================================================================
--- 0001-remove_handle-clear-expire-timers-after-multi_done.patch               
                (rev 0)
+++ 0001-remove_handle-clear-expire-timers-after-multi_done.patch       
2019-11-11 14:29:58 UTC (rev 526742)
@@ -0,0 +1,43 @@
+From 13182b33f727cf5a56a5a13419904369f7f3baad Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <dan...@haxx.se>
+Date: Sun, 10 Nov 2019 16:23:53 +0100
+Subject: remove_handle: clear expire timers after multi_done()
+
+Since 59041f0, a new timer might be set in multi_done() so the clearing
+of the timers need to happen afterwards!
+
+Reported-by: Max Kellermann
+Fixes #4575
+Closes #4583
+---
+ lib/multi.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/lib/multi.c b/lib/multi.c
+index 6dfe8842e..7e8e38dc9 100755
+--- a/lib/multi.c
++++ b/lib/multi.c
+@@ -695,11 +695,6 @@ CURLMcode curl_multi_remove_handle(struct Curl_multi 
*multi,
+     easy_owns_conn = TRUE;
+   }
+ 
+-  /* The timer must be shut down before data->multi is set to NULL,
+-     else the timenode will remain in the splay tree after
+-     curl_easy_cleanup is called. */
+-  Curl_expire_clear(data);
+-
+   if(data->conn) {
+ 
+     /* we must call multi_done() here (if we still own the connection) so that
+@@ -715,6 +710,11 @@ CURLMcode curl_multi_remove_handle(struct Curl_multi 
*multi,
+     }
+   }
+ 
++  /* The timer must be shut down before data->multi is set to NULL, else the
++     timenode will remain in the splay tree after curl_easy_cleanup is
++     called. Do it after multi_done() in case that sets another time! */
++  Curl_expire_clear(data);
++
+   if(data->connect_queue.ptr)
+     /* the handle was in the pending list waiting for an available connection,
+        so go ahead and remove it */

Deleted: PKGBUILD
===================================================================
--- PKGBUILD    2019-11-11 14:29:55 UTC (rev 526741)
+++ PKGBUILD    2019-11-11 14:29:58 UTC (rev 526742)
@@ -1,56 +0,0 @@
-# Maintainer: Maxime Gauduin <aluc...@archlinux.org>
-# Contributor: Lizao (Larry) Li <lzlarr...@gmail.com>
-
-pkgname=libcurl-gnutls
-pkgver=7.67.0
-pkgrel=1
-pkgdesc='An URL retrieval library (linked against gnutls)'
-arch=('x86_64')
-url='https://curl.haxx.se'
-license=('MIT')
-depends=('curl' 'glibc' 'gnutls' 'libpsl' 'nettle' 'zlib'
-         'libssh2.so')
-options=('strip')
-source=("https://curl.haxx.se/download/curl-${pkgver}.tar.gz"{,.asc})
-sha512sums=('73365f964df733b5e79d690ba7260a279986a9637ba0026b37cca2eca7ba8e37967251751bdf26de730f6f432713da8b7e0a315e84f1e9dad0e0bfd3d7882f92'
-            'SKIP')
-validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg
-
-build() {
-  cd curl-${pkgver}
-
-  ./configure \
-    --prefix='/usr' \
-    --disable-ldap \
-    --disable-ldaps \
-    --disable-manual \
-    --disable-versioned-symbols \
-    --enable-ipv6 \
-    --enable-threaded-resolver \
-    --without-gssapi \
-    --with-libssh2 \
-    --without-libidn \
-    --without-ssl \
-    --with-gnutls='/usr' \
-    --with-random='/dev/urandom' \
-    --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt'
-
-  make -C lib
-}
-
-package() {
-  cd curl-${pkgver}
-
-  make -C lib DESTDIR="${pkgdir}" install
-
-  mv "${pkgdir}"/usr/lib/libcurl{,-gnutls}.so.4.6.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; do
-    ln -s libcurl-gnutls.so.4.6.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
-}
-
-# vim: ts=2 sw=2 et:

Copied: libcurl-gnutls/repos/community-testing-x86_64/PKGBUILD (from rev 
526741, libcurl-gnutls/trunk/PKGBUILD)
===================================================================
--- PKGBUILD                            (rev 0)
+++ PKGBUILD    2019-11-11 14:29:58 UTC (rev 526742)
@@ -0,0 +1,64 @@
+# Maintainer: Maxime Gauduin <aluc...@archlinux.org>
+# Contributor: Lizao (Larry) Li <lzlarr...@gmail.com>
+
+pkgname=libcurl-gnutls
+pkgver=7.67.0
+pkgrel=2
+pkgdesc='An URL retrieval library (linked against gnutls)'
+arch=('x86_64')
+url='https://curl.haxx.se'
+license=('MIT')
+depends=('curl' 'glibc' 'gnutls' 'libpsl' 'nettle' 'zlib'
+         'libssh2.so')
+options=('strip')
+source=("https://curl.haxx.se/download/curl-${pkgver}.tar.gz"{,.asc}
+        '0001-remove_handle-clear-expire-timers-after-multi_done.patch')
+sha512sums=('73365f964df733b5e79d690ba7260a279986a9637ba0026b37cca2eca7ba8e37967251751bdf26de730f6f432713da8b7e0a315e84f1e9dad0e0bfd3d7882f92'
+            'SKIP'
+            
'99515e750f3d2319f4380e03fcfa2d6bd2ecef21cf8b760b5f5dcac94c4bd9ae544a75a0fbf9afa03e4912096aef0300421e2a43f0495362568a2b07c0808fee')
+validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg
+
+prepare() {
+  cd curl-${pkgver}
+
+  patch -Np1 < ../0001-remove_handle-clear-expire-timers-after-multi_done.patch
+}
+
+build() {
+  cd curl-${pkgver}
+
+  ./configure \
+    --prefix='/usr' \
+    --disable-ldap \
+    --disable-ldaps \
+    --disable-manual \
+    --disable-versioned-symbols \
+    --enable-ipv6 \
+    --enable-threaded-resolver \
+    --without-gssapi \
+    --with-libssh2 \
+    --without-libidn \
+    --without-ssl \
+    --with-gnutls='/usr' \
+    --with-random='/dev/urandom' \
+    --with-ca-bundle='/etc/ssl/certs/ca-certificates.crt'
+
+  make -C lib
+}
+
+package() {
+  cd curl-${pkgver}
+
+  make -C lib DESTDIR="${pkgdir}" install
+
+  mv "${pkgdir}"/usr/lib/libcurl{,-gnutls}.so.4.6.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; do
+    ln -s libcurl-gnutls.so.4.6.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
+}
+
+# vim: ts=2 sw=2 et:

Reply via email to