[arch-commits] Commit in curl/repos/testing-x86_64 (8 files)
Jan Steffens
heftig at archlinux.org
Sat Feb 16 16:56:42 UTC 2019
Date: Saturday, February 16, 2019 @ 16:56:41
Author: heftig
Revision: 346365
archrelease: copy trunk to testing-x86_64
Added:
curl/repos/testing-x86_64/0001-connection_check-restore-original-conn-data-after-th.patch
(from rev 346364, curl/trunk/0001-connection_check-restore-original-conn-data-after-th.patch)
curl/repos/testing-x86_64/0001-connection_check-set-data-to-the-transfer-doing-the-.patch
(from rev 346364, curl/trunk/0001-connection_check-set-data-to-the-transfer-doing-the-.patch)
curl/repos/testing-x86_64/0001-multi-remove-verbose-Expire-in-messages.patch
(from rev 346364, curl/trunk/0001-multi-remove-verbose-Expire-in-messages.patch)
curl/repos/testing-x86_64/PKGBUILD
(from rev 346364, curl/trunk/PKGBUILD)
Deleted:
curl/repos/testing-x86_64/0001-connection_check-restore-original-conn-data-after-th.patch
curl/repos/testing-x86_64/0001-connection_check-set-data-to-the-transfer-doing-the-.patch
curl/repos/testing-x86_64/0001-multi-remove-verbose-Expire-in-messages.patch
curl/repos/testing-x86_64/PKGBUILD
-----------------------------------------------------------------+
0001-connection_check-restore-original-conn-data-after-th.patch | 154 +++++-----
0001-connection_check-set-data-to-the-transfer-doing-the-.patch | 62 ++--
0001-multi-remove-verbose-Expire-in-messages.patch | 52 +--
PKGBUILD | 141 ++++-----
4 files changed, 205 insertions(+), 204 deletions(-)
Deleted: 0001-connection_check-restore-original-conn-data-after-th.patch
===================================================================
--- 0001-connection_check-restore-original-conn-data-after-th.patch 2019-02-16 16:56:23 UTC (rev 346364)
+++ 0001-connection_check-restore-original-conn-data-after-th.patch 2019-02-16 16:56:41 UTC (rev 346365)
@@ -1,77 +0,0 @@
-From 4015fae044ce52a639c9358e22a9e948f287c89f Mon Sep 17 00:00:00 2001
-Message-Id: <4015fae044ce52a639c9358e22a9e948f287c89f.1550326608.git.jan.steffens at gmail.com>
-From: Jay Satiro <raysatiro at yahoo.com>
-Date: Mon, 11 Feb 2019 23:00:00 -0500
-Subject: [PATCH] connection_check: restore original conn->data after the check
-
-- Save the original conn->data before it's changed to the specified
- data transfer for the connection check and then restore it afterwards.
-
-This is a follow-up to 38d8e1b 2019-02-11.
-
-History:
-
-It was discovered a month ago that before checking whether to extract a
-dead connection that that connection should be associated with a "live"
-transfer for the check (ie original conn->data ignored and set to the
-passed in data). A fix was landed in 54b201b which did that and also
-cleared conn->data after the check. The original conn->data was not
-restored, so presumably it was thought that a valid conn->data was no
-longer needed.
-
-Several days later it was discovered that a valid conn->data was needed
-after the check and follow-up fix was landed in bbae24c which partially
-reverted the original fix and attempted to limit the scope of when
-conn->data was changed to only when pruning dead connections. In that
-case conn->data was not cleared and the original conn->data not
-restored.
-
-A month later it was discovered that the original fix was somewhat
-correct; a "live" transfer is needed for the check in all cases
-because original conn->data could be null which could cause a bad deref
-at arbitrary points in the check. A fix was landed in 38d8e1b which
-expanded the scope to all cases. conn->data was not cleared and the
-original conn->data not restored.
-
-A day later it was discovered that not restoring the original conn->data
-may lead to busy loops in applications that use the event interface, and
-given this observation it's a pretty safe assumption that there is some
-code path that still needs the original conn->data. This commit is the
-follow-up fix for that, it restores the original conn->data after the
-connection check.
-
-Assisted-by: tholin at users.noreply.github.com
-Reported-by: tholin at users.noreply.github.com
-
-Fixes https://github.com/curl/curl/issues/3542
-Closes #3559
----
- lib/url.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/lib/url.c b/lib/url.c
-index bc47685db..46c8fb5fb 100644
---- a/lib/url.c
-+++ b/lib/url.c
-@@ -964,8 +964,10 @@ static bool extract_if_dead(struct connectdata *conn,
- /* The protocol has a special method for checking the state of the
- connection. Use it to check if the connection is dead. */
- unsigned int state;
-+ struct Curl_easy *olddata = conn->data;
- conn->data = data; /* use this transfer for now */
- state = conn->handler->connection_check(conn, CONNCHECK_ISDEAD);
-+ conn->data = olddata;
- dead = (state & CONNRESULT_DEAD);
- }
- else {
-@@ -994,7 +996,6 @@ struct prunedead {
- static int call_extract_if_dead(struct connectdata *conn, void *param)
- {
- struct prunedead *p = (struct prunedead *)param;
-- conn->data = p->data; /* transfer to use for this check */
- if(extract_if_dead(conn, p->data)) {
- /* stop the iteration here, pass back the connection that was extracted */
- p->extracted = conn;
---
-2.20.1
-
Copied: curl/repos/testing-x86_64/0001-connection_check-restore-original-conn-data-after-th.patch (from rev 346364, curl/trunk/0001-connection_check-restore-original-conn-data-after-th.patch)
===================================================================
--- 0001-connection_check-restore-original-conn-data-after-th.patch (rev 0)
+++ 0001-connection_check-restore-original-conn-data-after-th.patch 2019-02-16 16:56:41 UTC (rev 346365)
@@ -0,0 +1,77 @@
+From 4015fae044ce52a639c9358e22a9e948f287c89f Mon Sep 17 00:00:00 2001
+Message-Id: <4015fae044ce52a639c9358e22a9e948f287c89f.1550326608.git.jan.steffens at gmail.com>
+From: Jay Satiro <raysatiro at yahoo.com>
+Date: Mon, 11 Feb 2019 23:00:00 -0500
+Subject: [PATCH] connection_check: restore original conn->data after the check
+
+- Save the original conn->data before it's changed to the specified
+ data transfer for the connection check and then restore it afterwards.
+
+This is a follow-up to 38d8e1b 2019-02-11.
+
+History:
+
+It was discovered a month ago that before checking whether to extract a
+dead connection that that connection should be associated with a "live"
+transfer for the check (ie original conn->data ignored and set to the
+passed in data). A fix was landed in 54b201b which did that and also
+cleared conn->data after the check. The original conn->data was not
+restored, so presumably it was thought that a valid conn->data was no
+longer needed.
+
+Several days later it was discovered that a valid conn->data was needed
+after the check and follow-up fix was landed in bbae24c which partially
+reverted the original fix and attempted to limit the scope of when
+conn->data was changed to only when pruning dead connections. In that
+case conn->data was not cleared and the original conn->data not
+restored.
+
+A month later it was discovered that the original fix was somewhat
+correct; a "live" transfer is needed for the check in all cases
+because original conn->data could be null which could cause a bad deref
+at arbitrary points in the check. A fix was landed in 38d8e1b which
+expanded the scope to all cases. conn->data was not cleared and the
+original conn->data not restored.
+
+A day later it was discovered that not restoring the original conn->data
+may lead to busy loops in applications that use the event interface, and
+given this observation it's a pretty safe assumption that there is some
+code path that still needs the original conn->data. This commit is the
+follow-up fix for that, it restores the original conn->data after the
+connection check.
+
+Assisted-by: tholin at users.noreply.github.com
+Reported-by: tholin at users.noreply.github.com
+
+Fixes https://github.com/curl/curl/issues/3542
+Closes #3559
+---
+ lib/url.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/lib/url.c b/lib/url.c
+index bc47685db..46c8fb5fb 100644
+--- a/lib/url.c
++++ b/lib/url.c
+@@ -964,8 +964,10 @@ static bool extract_if_dead(struct connectdata *conn,
+ /* The protocol has a special method for checking the state of the
+ connection. Use it to check if the connection is dead. */
+ unsigned int state;
++ struct Curl_easy *olddata = conn->data;
+ conn->data = data; /* use this transfer for now */
+ state = conn->handler->connection_check(conn, CONNCHECK_ISDEAD);
++ conn->data = olddata;
+ dead = (state & CONNRESULT_DEAD);
+ }
+ else {
+@@ -994,7 +996,6 @@ struct prunedead {
+ static int call_extract_if_dead(struct connectdata *conn, void *param)
+ {
+ struct prunedead *p = (struct prunedead *)param;
+- conn->data = p->data; /* transfer to use for this check */
+ if(extract_if_dead(conn, p->data)) {
+ /* stop the iteration here, pass back the connection that was extracted */
+ p->extracted = conn;
+--
+2.20.1
+
Deleted: 0001-connection_check-set-data-to-the-transfer-doing-the-.patch
===================================================================
--- 0001-connection_check-set-data-to-the-transfer-doing-the-.patch 2019-02-16 16:56:23 UTC (rev 346364)
+++ 0001-connection_check-set-data-to-the-transfer-doing-the-.patch 2019-02-16 16:56:41 UTC (rev 346365)
@@ -1,31 +0,0 @@
-From 38d8e1bd4ed1ae52930ae466ecbac78e888b142f Mon Sep 17 00:00:00 2001
-Message-Id: <38d8e1bd4ed1ae52930ae466ecbac78e888b142f.1550283194.git.jan.steffens at gmail.com>
-From: Daniel Stenberg <daniel at haxx.se>
-Date: Mon, 11 Feb 2019 07:56:00 +0100
-Subject: [PATCH] connection_check: set ->data to the transfer doing the check
-
-The http2 code for connection checking needs a transfer to use. Make
-sure a working one is set before handler->connection_check() is called.
-
-Reported-by: jnbr on github
-Fixes #3541
-Closes #3547
----
- lib/url.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/lib/url.c b/lib/url.c
-index bdb472999..bc47685db 100644
---- a/lib/url.c
-+++ b/lib/url.c
-@@ -964,6 +964,7 @@ static bool extract_if_dead(struct connectdata *conn,
- /* The protocol has a special method for checking the state of the
- connection. Use it to check if the connection is dead. */
- unsigned int state;
-+ conn->data = data; /* use this transfer for now */
- state = conn->handler->connection_check(conn, CONNCHECK_ISDEAD);
- dead = (state & CONNRESULT_DEAD);
- }
---
-2.20.1
-
Copied: curl/repos/testing-x86_64/0001-connection_check-set-data-to-the-transfer-doing-the-.patch (from rev 346364, curl/trunk/0001-connection_check-set-data-to-the-transfer-doing-the-.patch)
===================================================================
--- 0001-connection_check-set-data-to-the-transfer-doing-the-.patch (rev 0)
+++ 0001-connection_check-set-data-to-the-transfer-doing-the-.patch 2019-02-16 16:56:41 UTC (rev 346365)
@@ -0,0 +1,31 @@
+From 38d8e1bd4ed1ae52930ae466ecbac78e888b142f Mon Sep 17 00:00:00 2001
+Message-Id: <38d8e1bd4ed1ae52930ae466ecbac78e888b142f.1550283194.git.jan.steffens at gmail.com>
+From: Daniel Stenberg <daniel at haxx.se>
+Date: Mon, 11 Feb 2019 07:56:00 +0100
+Subject: [PATCH] connection_check: set ->data to the transfer doing the check
+
+The http2 code for connection checking needs a transfer to use. Make
+sure a working one is set before handler->connection_check() is called.
+
+Reported-by: jnbr on github
+Fixes #3541
+Closes #3547
+---
+ lib/url.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/lib/url.c b/lib/url.c
+index bdb472999..bc47685db 100644
+--- a/lib/url.c
++++ b/lib/url.c
+@@ -964,6 +964,7 @@ static bool extract_if_dead(struct connectdata *conn,
+ /* The protocol has a special method for checking the state of the
+ connection. Use it to check if the connection is dead. */
+ unsigned int state;
++ conn->data = data; /* use this transfer for now */
+ state = conn->handler->connection_check(conn, CONNCHECK_ISDEAD);
+ dead = (state & CONNRESULT_DEAD);
+ }
+--
+2.20.1
+
Deleted: 0001-multi-remove-verbose-Expire-in-messages.patch
===================================================================
--- 0001-multi-remove-verbose-Expire-in-messages.patch 2019-02-16 16:56:23 UTC (rev 346364)
+++ 0001-multi-remove-verbose-Expire-in-messages.patch 2019-02-16 16:56:41 UTC (rev 346365)
@@ -1,26 +0,0 @@
-From aabc7ae5ecf70973add429b5acbc86d6a57e4da5 Mon Sep 17 00:00:00 2001
-From: Daniel Stenberg <daniel at haxx.se>
-Date: Mon, 11 Feb 2019 22:57:33 +0100
-Subject: [PATCH] multi: remove verbose "Expire in" ... messages
-
-Reported-by: James Brown
-Bug: https://curl.haxx.se/mail/archive-2019-02/0013.html
-Closes #3558
----
- lib/multi.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/lib/multi.c b/lib/multi.c
-index 6b891620f6..cd9d758ca4 100644
---- a/lib/multi.c
-+++ b/lib/multi.c
-@@ -3032,9 +3032,6 @@ void Curl_expire(struct Curl_easy *data, time_t milli, expire_id id)
-
- DEBUGASSERT(id < EXPIRE_LAST);
-
-- infof(data, "Expire in %ld ms for %x (transfer %p)\n",
-- (long)milli, id, data);
--
- set = Curl_now();
- set.tv_sec += milli/1000;
- set.tv_usec += (unsigned int)(milli%1000)*1000;
Copied: curl/repos/testing-x86_64/0001-multi-remove-verbose-Expire-in-messages.patch (from rev 346364, curl/trunk/0001-multi-remove-verbose-Expire-in-messages.patch)
===================================================================
--- 0001-multi-remove-verbose-Expire-in-messages.patch (rev 0)
+++ 0001-multi-remove-verbose-Expire-in-messages.patch 2019-02-16 16:56:41 UTC (rev 346365)
@@ -0,0 +1,26 @@
+From aabc7ae5ecf70973add429b5acbc86d6a57e4da5 Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <daniel at haxx.se>
+Date: Mon, 11 Feb 2019 22:57:33 +0100
+Subject: [PATCH] multi: remove verbose "Expire in" ... messages
+
+Reported-by: James Brown
+Bug: https://curl.haxx.se/mail/archive-2019-02/0013.html
+Closes #3558
+---
+ lib/multi.c | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/lib/multi.c b/lib/multi.c
+index 6b891620f6..cd9d758ca4 100644
+--- a/lib/multi.c
++++ b/lib/multi.c
+@@ -3032,9 +3032,6 @@ void Curl_expire(struct Curl_easy *data, time_t milli, expire_id id)
+
+ DEBUGASSERT(id < EXPIRE_LAST);
+
+- infof(data, "Expire in %ld ms for %x (transfer %p)\n",
+- (long)milli, id, data);
+-
+ set = Curl_now();
+ set.tv_sec += milli/1000;
+ set.tv_usec += (unsigned int)(milli%1000)*1000;
Deleted: PKGBUILD
===================================================================
--- PKGBUILD 2019-02-16 16:56:23 UTC (rev 346364)
+++ PKGBUILD 2019-02-16 16:56:41 UTC (rev 346365)
@@ -1,70 +0,0 @@
-# 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.64.0
-pkgrel=6
-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')
-options=('strip' 'debug')
-source=("https://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc}
- "0001-connection_check-set-data-to-the-transfer-doing-the-.patch"
- "0001-connection_check-restore-original-conn-data-after-th.patch"
- "0001-multi-remove-verbose-Expire-in-messages.patch")
-sha512sums=('ea0e68f9cbf2eb4f235d8506962dcc7709f769ef3526c0e4c130fdaf7186a1a13b303c6ce919cb9125bbf7c64ddf4f8efb3d9269b906f856e6d7b3def027fb81'
- 'SKIP'
- 'e9fdd70ec6798f48080582e4cb554fc4cd247075c293c66dcf8b27cab151def1c709c306e4dc8a1439b9843f31fe51248b5d6c7f5183e4af65819a084fddcb1f'
- 'adcbf6309e5d69ede876966790dd504da3097a9e03fedf77d44e10fddcb24a5eaa29b4c9229c813d54bd0c2141211e46b50ca58d89608f7c391434e469316cbd'
- 'f09b63c36bd958c35bf6e3885efe46fea75fa2780510cac66220bfc1d771de9040560586e0672dac5eb7db7acf67051cf74e56518a8ada6f691c6d8f9dc84fa4')
-validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg
-
-prepare() {
- cd "$pkgname-$pkgver"
-
- patch -Np1 < ../0001-multi-remove-verbose-Expire-in-messages.patch
-
- # Crash in cargo:
- # https://github.com/curl/curl/issues/3541
- patch -Np1 < ../0001-connection_check-set-data-to-the-transfer-doing-the-.patch
- patch -Np1 < ../0001-connection_check-restore-original-conn-data-after-th.patch
-}
-
-build() {
- cd "$pkgname-$pkgver"
-
- ./configure \
- --prefix=/usr \
- --mandir=/usr/share/man \
- --disable-ldap \
- --disable-ldaps \
- --disable-manual \
- --enable-debug \
- --enable-optimize \
- --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 -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
-}
Copied: curl/repos/testing-x86_64/PKGBUILD (from rev 346364, curl/trunk/PKGBUILD)
===================================================================
--- PKGBUILD (rev 0)
+++ PKGBUILD 2019-02-16 16:56:41 UTC (rev 346365)
@@ -0,0 +1,71 @@
+# 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.64.0
+pkgrel=7
+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')
+options=('strip' 'debug')
+source=("https://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc}
+ "0001-connection_check-set-data-to-the-transfer-doing-the-.patch"
+ "0001-connection_check-restore-original-conn-data-after-th.patch"
+ "0001-multi-remove-verbose-Expire-in-messages.patch")
+sha512sums=('ea0e68f9cbf2eb4f235d8506962dcc7709f769ef3526c0e4c130fdaf7186a1a13b303c6ce919cb9125bbf7c64ddf4f8efb3d9269b906f856e6d7b3def027fb81'
+ 'SKIP'
+ 'e9fdd70ec6798f48080582e4cb554fc4cd247075c293c66dcf8b27cab151def1c709c306e4dc8a1439b9843f31fe51248b5d6c7f5183e4af65819a084fddcb1f'
+ 'adcbf6309e5d69ede876966790dd504da3097a9e03fedf77d44e10fddcb24a5eaa29b4c9229c813d54bd0c2141211e46b50ca58d89608f7c391434e469316cbd'
+ 'f09b63c36bd958c35bf6e3885efe46fea75fa2780510cac66220bfc1d771de9040560586e0672dac5eb7db7acf67051cf74e56518a8ada6f691c6d8f9dc84fa4')
+validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg
+
+prepare() {
+ cd "$pkgname-$pkgver"
+
+ patch -Np1 < ../0001-multi-remove-verbose-Expire-in-messages.patch
+
+ # Crash in cargo:
+ # https://github.com/curl/curl/issues/3541
+ patch -Np1 < ../0001-connection_check-set-data-to-the-transfer-doing-the-.patch
+ patch -Np1 < ../0001-connection_check-restore-original-conn-data-after-th.patch
+}
+
+build() {
+ cd "$pkgname-$pkgver"
+
+ ./configure \
+ --prefix=/usr \
+ --mandir=/usr/share/man \
+ --disable-ldap \
+ --disable-ldaps \
+ --disable-manual \
+ --disable-curldebug \
+ --enable-debug \
+ --enable-optimize \
+ --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 -Dm644 COPYING "$pkgdir/usr/share/licenses/$pkgname/COPYING"
+}
More information about the arch-commits
mailing list