Date: Monday, November 11, 2019 @ 14:29:39 Author: eworm Revision: 367755
archrelease: copy trunk to testing-x86_64 Added: curl/repos/testing-x86_64/0001-remove_handle-clear-expire-timers-after-multi_done.patch (from rev 367754, curl/trunk/0001-remove_handle-clear-expire-timers-after-multi_done.patch) curl/repos/testing-x86_64/PKGBUILD (from rev 367754, curl/trunk/PKGBUILD) Deleted: curl/repos/testing-x86_64/0001-http2-expire-a-timeout-at-end-of-stream.patch curl/repos/testing-x86_64/PKGBUILD ---------------------------------------------------------------+ 0001-http2-expire-a-timeout-at-end-of-stream.patch | 26 -- 0001-remove_handle-clear-expire-timers-after-multi_done.patch | 43 +++ PKGBUILD | 116 +++++----- 3 files changed, 101 insertions(+), 84 deletions(-) Deleted: 0001-http2-expire-a-timeout-at-end-of-stream.patch =================================================================== --- 0001-http2-expire-a-timeout-at-end-of-stream.patch 2019-11-11 14:28:41 UTC (rev 367754) +++ 0001-http2-expire-a-timeout-at-end-of-stream.patch 2019-11-11 14:29:39 UTC (rev 367755) @@ -1,26 +0,0 @@ -From 59041f052a5209a3aebb146c01b689424f9f7b04 Mon Sep 17 00:00:00 2001 -From: Daniel Stenberg <dan...@haxx.se> -Date: Thu, 17 Oct 2019 14:25:45 +0200 -Subject: http2: expire a timeout at end of stream - -To make sure that transfer is being dealt with. Streams without -Content-Length need a final read to notice the end-of-stream state. - -Reported-by: Tom van der Woerdt -Fixes #4496 ---- - lib/http2.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/lib/http2.c b/lib/http2.c -index b5b831b56..c0f29f83e 100644 ---- a/lib/http2.c -+++ b/lib/http2.c -@@ -848,6 +848,7 @@ static int on_stream_close(nghttp2_session *session, int32_t stream_id, - stream->closed = TRUE; - httpc = &conn->proto.httpc; - drain_this(data_s, httpc); -+ Curl_expire(data_s, 0, EXPIRE_RUN_NOW); - httpc->error_code = error_code; - - /* remove the entry from the hash as the stream is now gone */ Copied: curl/repos/testing-x86_64/0001-remove_handle-clear-expire-timers-after-multi_done.patch (from rev 367754, curl/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:39 UTC (rev 367755) @@ -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:28:41 UTC (rev 367754) +++ PKGBUILD 2019-11-11 14:29:39 UTC (rev 367755) @@ -1,58 +0,0 @@ -# Maintainer: Dave Reisner <dreis...@archlinux.org> -# Contributor: Angel Velasquez <an...@archlinux.org> -# Contributor: Eric Belanger <e...@archlinux.org> -# Contributor: Lucien Immink <l.imm...@student.fnt.hvu.nl> -# Contributor: Daniel J Griffiths <ghost1...@archlinux.us> - -pkgname=curl -pkgver=7.67.0 -pkgrel=2 -pkgdesc="An URL retrieval utility and library" -arch=('x86_64') -url="https://curl.haxx.se" -license=('MIT') -depends=('ca-certificates' 'krb5' 'libssh2' 'openssl' 'zlib' 'libpsl' 'libnghttp2' - 'libidn2' 'libidn2.so') -provides=('libcurl.so') -source=("https://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc} - '0001-http2-expire-a-timeout-at-end-of-stream.patch') -sha512sums=('73365f964df733b5e79d690ba7260a279986a9637ba0026b37cca2eca7ba8e37967251751bdf26de730f6f432713da8b7e0a315e84f1e9dad0e0bfd3d7882f92' - 'SKIP' - 'b21d53e8b6af37f1ae9deb4ac6dea50a13816f48932d47a1a167664988c0c2db472528d6c6790a782bca765e4edfad84f1452d0af8679d2c66f543e8ec7132ce') -validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg - -prepare() { - cd "$pkgname-$pkgver" - - patch -Np1 -R < ../0001-http2-expire-a-timeout-at-end-of-stream.patch -} - -build() { - cd "$pkgname-$pkgver" - - ./configure \ - --prefix=/usr \ - --mandir=/usr/share/man \ - --disable-ldap \ - --disable-ldaps \ - --disable-manual \ - --enable-ipv6 \ - --enable-versioned-symbols \ - --enable-threaded-resolver \ - --with-gssapi \ - --with-libssh2 \ - --with-random=/dev/urandom \ - --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt - - make -} - -package() { - cd "$pkgname-$pkgver" - - make DESTDIR="$pkgdir" install - make DESTDIR="$pkgdir" install -C scripts - - # license - install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING -} Copied: curl/repos/testing-x86_64/PKGBUILD (from rev 367754, curl/trunk/PKGBUILD) =================================================================== --- PKGBUILD (rev 0) +++ PKGBUILD 2019-11-11 14:29:39 UTC (rev 367755) @@ -0,0 +1,58 @@ +# Maintainer: Dave Reisner <dreis...@archlinux.org> +# Contributor: Angel Velasquez <an...@archlinux.org> +# Contributor: Eric Belanger <e...@archlinux.org> +# Contributor: Lucien Immink <l.imm...@student.fnt.hvu.nl> +# Contributor: Daniel J Griffiths <ghost1...@archlinux.us> + +pkgname=curl +pkgver=7.67.0 +pkgrel=3 +pkgdesc="An URL retrieval utility and library" +arch=('x86_64') +url="https://curl.haxx.se" +license=('MIT') +depends=('ca-certificates' 'krb5' 'libssh2' 'openssl' 'zlib' 'libpsl' 'libnghttp2' + 'libidn2' 'libidn2.so') +provides=('libcurl.so') +source=("https://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc} + '0001-remove_handle-clear-expire-timers-after-multi_done.patch') +sha512sums=('73365f964df733b5e79d690ba7260a279986a9637ba0026b37cca2eca7ba8e37967251751bdf26de730f6f432713da8b7e0a315e84f1e9dad0e0bfd3d7882f92' + 'SKIP' + '99515e750f3d2319f4380e03fcfa2d6bd2ecef21cf8b760b5f5dcac94c4bd9ae544a75a0fbf9afa03e4912096aef0300421e2a43f0495362568a2b07c0808fee') +validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg + +prepare() { + cd "$pkgname-$pkgver" + + patch -Np1 < ../0001-remove_handle-clear-expire-timers-after-multi_done.patch +} + +build() { + cd "$pkgname-$pkgver" + + ./configure \ + --prefix=/usr \ + --mandir=/usr/share/man \ + --disable-ldap \ + --disable-ldaps \ + --disable-manual \ + --enable-ipv6 \ + --enable-versioned-symbols \ + --enable-threaded-resolver \ + --with-gssapi \ + --with-libssh2 \ + --with-random=/dev/urandom \ + --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt + + make +} + +package() { + cd "$pkgname-$pkgver" + + make DESTDIR="$pkgdir" install + make DESTDIR="$pkgdir" install -C scripts + + # license + install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING +}