[arch-commits] Commit in curl/repos (5 files)

Christian Hesse eworm at archlinux.org
Sun Mar 8 19:26:59 UTC 2020


    Date: Sunday, March 8, 2020 @ 19:26:58
  Author: eworm
Revision: 377186

archrelease: copy trunk to testing-x86_64

Added:
  curl/repos/testing-x86_64/
  curl/repos/testing-x86_64/0001-Revert-pause-force-drain-the-transfer-on-unpause.patch
    (from rev 377185, curl/trunk/0001-Revert-pause-force-drain-the-transfer-on-unpause.patch)
  curl/repos/testing-x86_64/0002-pause-force-a-connection-re-check-after-unpausing.patch
    (from rev 377185, curl/trunk/0002-pause-force-a-connection-re-check-after-unpausing.patch)
  curl/repos/testing-x86_64/0003-pause-return-early-for-calls-that-don-t-change-pause-state.patch
    (from rev 377185, curl/trunk/0003-pause-return-early-for-calls-that-don-t-change-pause-state.patch)
  curl/repos/testing-x86_64/PKGBUILD
    (from rev 377185, curl/trunk/PKGBUILD)

-----------------------------------------------------------------------+
 0001-Revert-pause-force-drain-the-transfer-on-unpause.patch           |   55 ++++++++
 0002-pause-force-a-connection-re-check-after-unpausing.patch          |   33 +++++
 0003-pause-return-early-for-calls-that-don-t-change-pause-state.patch |   37 +++++
 PKGBUILD                                                              |   64 ++++++++++
 4 files changed, 189 insertions(+)

Copied: curl/repos/testing-x86_64/0001-Revert-pause-force-drain-the-transfer-on-unpause.patch (from rev 377185, curl/trunk/0001-Revert-pause-force-drain-the-transfer-on-unpause.patch)
===================================================================
--- testing-x86_64/0001-Revert-pause-force-drain-the-transfer-on-unpause.patch	                        (rev 0)
+++ testing-x86_64/0001-Revert-pause-force-drain-the-transfer-on-unpause.patch	2020-03-08 19:26:58 UTC (rev 377186)
@@ -0,0 +1,55 @@
+From 8aa04e9a24932b830bc5eaf6838dea5a3329341e Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <daniel at haxx.se>
+Date: Thu, 5 Mar 2020 23:45:36 +0100
+Subject: [PATCH] Revert "pause: force-drain the transfer on unpause"
+
+This reverts commit fa0216b294af4c7113a9040ca65eefc7fc18ac1c (from #5000)
+
+Clearly that didn't solve the problem correctly.
+
+Reported-by: Christopher Reid
+Reopens #4966
+Fixes #5044
+---
+ lib/easy.c     | 1 -
+ lib/transfer.c | 5 ++---
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/lib/easy.c b/lib/easy.c
+index 1a6912748..454621076 100644
+--- a/lib/easy.c
++++ b/lib/easy.c
+@@ -1033,7 +1033,6 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action)
+      to have this handle checked soon */
+   if((newstate & (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) !=
+      (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) {
+-    data->state.drain++;
+     Curl_expire(data, 0, EXPIRE_RUN_NOW); /* get this handle going again */
+     if(data->multi)
+       Curl_update_timer(data->multi);
+diff --git a/lib/transfer.c b/lib/transfer.c
+index 827076183..ead8b36db 100644
+--- a/lib/transfer.c
++++ b/lib/transfer.c
+@@ -5,7 +5,7 @@
+  *                            | (__| |_| |  _ <| |___
+  *                             \___|\___/|_| \_\_____|
+  *
+- * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel at haxx.se>, et al.
++ * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel at haxx.se>, et al.
+  *
+  * This software is licensed as described in the file COPYING, which
+  * you should have received as part of this distribution. The terms
+@@ -1217,8 +1217,7 @@ CURLcode Curl_readwrite(struct connectdata *conn,
+   else
+     fd_write = CURL_SOCKET_BAD;
+ 
+-  if(data->state.drain) {
+-    data->state.drain--;
++  if(conn->data->state.drain) {
+     select_res |= CURL_CSELECT_IN;
+     DEBUGF(infof(data, "Curl_readwrite: forcibly told to drain data\n"));
+   }
+-- 
+2.25.1
+

Copied: curl/repos/testing-x86_64/0002-pause-force-a-connection-re-check-after-unpausing.patch (from rev 377185, curl/trunk/0002-pause-force-a-connection-re-check-after-unpausing.patch)
===================================================================
--- testing-x86_64/0002-pause-force-a-connection-re-check-after-unpausing.patch	                        (rev 0)
+++ testing-x86_64/0002-pause-force-a-connection-re-check-after-unpausing.patch	2020-03-08 19:26:58 UTC (rev 377186)
@@ -0,0 +1,33 @@
+From e040146f22608fd92c44be2447a6505141a8a867 Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <daniel at haxx.se>
+Date: Fri, 6 Mar 2020 10:04:28 +0100
+Subject: [PATCH] pause: force a connection (re-)check after unpausing
+
+There might be data available that was already read off the socket, for
+example in the TLS layer.
+
+Reported-by: Anders Berg
+Fixes #4966
+Closes #5049
+---
+ lib/easy.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/lib/easy.c b/lib/easy.c
+index 33bc1aab7..f7a6d5c60 100644
+--- a/lib/easy.c
++++ b/lib/easy.c
+@@ -1047,6 +1047,10 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action)
+   if((newstate & (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) !=
+      (KEEP_RECV_PAUSE|KEEP_SEND_PAUSE)) {
+     Curl_expire(data, 0, EXPIRE_RUN_NOW); /* get this handle going again */
++
++    /* force a recv/send check of this connection, as the data might've been
++       read off the socket already */
++    data->conn->cselect_bits = CURL_CSELECT_IN | CURL_CSELECT_OUT;
+     if(data->multi)
+       Curl_update_timer(data->multi);
+   }
+-- 
+2.25.1
+

Copied: curl/repos/testing-x86_64/0003-pause-return-early-for-calls-that-don-t-change-pause-state.patch (from rev 377185, curl/trunk/0003-pause-return-early-for-calls-that-don-t-change-pause-state.patch)
===================================================================
--- testing-x86_64/0003-pause-return-early-for-calls-that-don-t-change-pause-state.patch	                        (rev 0)
+++ testing-x86_64/0003-pause-return-early-for-calls-that-don-t-change-pause-state.patch	2020-03-08 19:26:58 UTC (rev 377186)
@@ -0,0 +1,37 @@
+From 64258bd0aa6ad23195f6be32e6febf7439ab7984 Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <daniel at haxx.se>
+Date: Tue, 3 Mar 2020 08:10:09 +0100
+Subject: [PATCH] pause: return early for calls that don't change pause state
+
+Reviewed-by: Patrick Monnerat
+Ref: #4833
+Closes #5026
+---
+ lib/easy.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/lib/easy.c b/lib/easy.c
+index 454621076ab..2446557f4d2 100644
+--- a/lib/easy.c
++++ b/lib/easy.c
+@@ -975,6 +975,7 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action)
+ {
+   struct SingleRequest *k = &data->req;
+   CURLcode result = CURLE_OK;
++  int oldstate = k->keepon & (KEEP_RECV_PAUSE| KEEP_SEND_PAUSE);
+ 
+   /* first switch off both pause bits */
+   int newstate = k->keepon &~ (KEEP_RECV_PAUSE| KEEP_SEND_PAUSE);
+@@ -983,6 +984,12 @@ CURLcode curl_easy_pause(struct Curl_easy *data, int action)
+   newstate |= ((action & CURLPAUSE_RECV)?KEEP_RECV_PAUSE:0) |
+     ((action & CURLPAUSE_SEND)?KEEP_SEND_PAUSE:0);
+ 
++  if((newstate & (KEEP_RECV_PAUSE| KEEP_SEND_PAUSE)) == oldstate) {
++    /* Not changing any pause state, return */
++    DEBUGF(infof(data, "pause: no change, early return\n"));
++    return CURLE_OK;
++  }
++
+   /* put it back in the keepon */
+   k->keepon = newstate;
+ 

Copied: curl/repos/testing-x86_64/PKGBUILD (from rev 377185, curl/trunk/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2020-03-08 19:26:58 UTC (rev 377186)
@@ -0,0 +1,64 @@
+# Maintainer: Dave Reisner <dreisner at archlinux.org>
+# Contributor: Angel Velasquez <angvp at archlinux.org>
+# Contributor: Eric Belanger <eric at archlinux.org>
+# Contributor: Lucien Immink <l.immink at student.fnt.hvu.nl>
+# Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
+
+pkgname=curl
+pkgver=7.69.0
+pkgrel=4
+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-Revert-pause-force-drain-the-transfer-on-unpause.patch
+        0002-pause-force-a-connection-re-check-after-unpausing.patch
+        0003-pause-return-early-for-calls-that-don-t-change-pause-state.patch)
+sha512sums=('0ecd9e6e55cb19400fafdcd723c72667903ec760652e60fe0b884a672e1ac5d8667c8837422145a9af995ffe36d31a2685296f272ebddf1f5f1a7b12baf0fbad'
+            'SKIP'
+            '6aaafcb580f88c715a294ea7b53877a405a4f6c4a338d830380a5c97a324268a287c893ee6fd24c3b69dc0566275336ec74c3816f2202e12d39840360d6784f0'
+            'bc384dcfef4f6ca8d52171b97d5979c5b043e70d756836f87449ea0108d9615521408fa71c330c4b627738978eacd24de80a0e93438532a8f48a4d049e83334e'
+            '743b646307021d3d96146c30e18379253364b2b228e319377bc3300f0dac6dcac36ed347139028e346091eea98521ffd134f54bc809bddb61d45d400d50d875d')
+validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg
+
+prepare() {
+  cd "$pkgname-$pkgver"
+
+  patch -Np1 <../0001-Revert-pause-force-drain-the-transfer-on-unpause.patch
+  patch -Np1 <../0002-pause-force-a-connection-re-check-after-unpausing.patch
+  patch -Np1 <../0003-pause-return-early-for-calls-that-don-t-change-pause-state.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
+}



More information about the arch-commits mailing list