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: