avoid delay if FTP is aborted in CURLOPT_HEADERFUNCTION callback (#1005686)
This commit is contained in:
parent
159ba1a770
commit
d26889345a
43
0002-curl-7.32.0-c639d725.patch
Normal file
43
0002-curl-7.32.0-c639d725.patch
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
From 8ec06ee49bac9191260b21e52c932da1101d83ef Mon Sep 17 00:00:00 2001
|
||||||
|
From: Kamil Dudka <kdudka@redhat.com>
|
||||||
|
Date: Mon, 9 Sep 2013 13:10:53 +0200
|
||||||
|
Subject: [PATCH] url: handle abortion by read/write callbacks, too
|
||||||
|
|
||||||
|
Otherwise, the FTP protocol would unnecessarily hang 60 seconds if
|
||||||
|
aborted in the CURLOPT_HEADERFUNCTION callback.
|
||||||
|
|
||||||
|
Reported by: Tomas Mlcoch
|
||||||
|
Bug: https://bugzilla.redhat.com/1005686
|
||||||
|
|
||||||
|
[upstream commit c639d725a37c91fb49bb3a689cb2596fad3a0645]
|
||||||
|
---
|
||||||
|
lib/url.c | 8 +++++++-
|
||||||
|
1 files changed, 7 insertions(+), 1 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/url.c b/lib/url.c
|
||||||
|
index 7cec5bc..80e1e67 100644
|
||||||
|
--- a/lib/url.c
|
||||||
|
+++ b/lib/url.c
|
||||||
|
@@ -5666,12 +5666,18 @@ CURLcode Curl_done(struct connectdata **connp,
|
||||||
|
conn->dns_entry = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
- if(status == CURLE_ABORTED_BY_CALLBACK)
|
||||||
|
+ switch(status) {
|
||||||
|
+ case CURLE_ABORTED_BY_CALLBACK:
|
||||||
|
+ case CURLE_READ_ERROR:
|
||||||
|
+ case CURLE_WRITE_ERROR:
|
||||||
|
/* When we're aborted due to a callback return code it basically have to
|
||||||
|
be counted as premature as there is trouble ahead if we don't. We have
|
||||||
|
many callbacks and protocols work differently, we could potentially do
|
||||||
|
this more fine-grained in the future. */
|
||||||
|
premature = TRUE;
|
||||||
|
+ default:
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
/* this calls the protocol-specific function pointer previously set */
|
||||||
|
if(conn->handler->done)
|
||||||
|
--
|
||||||
|
1.7.1
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
|
Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
|
||||||
Name: curl
|
Name: curl
|
||||||
Version: 7.32.0
|
Version: 7.32.0
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
License: MIT
|
License: MIT
|
||||||
Group: Applications/Internet
|
Group: Applications/Internet
|
||||||
Source: http://curl.haxx.se/download/%{name}-%{version}.tar.lzma
|
Source: http://curl.haxx.se/download/%{name}-%{version}.tar.lzma
|
||||||
@ -10,6 +10,9 @@ Source2: curlbuild.h
|
|||||||
# make sure that NSS is initialized prior to calling PK11_GenerateRandom()
|
# make sure that NSS is initialized prior to calling PK11_GenerateRandom()
|
||||||
Patch1: 0001-curl-7.32.0-204126a5.patch
|
Patch1: 0001-curl-7.32.0-204126a5.patch
|
||||||
|
|
||||||
|
# avoid delay if FTP is aborted in CURLOPT_HEADERFUNCTION callback (#1005686)
|
||||||
|
Patch2: 0002-curl-7.32.0-c639d725.patch
|
||||||
|
|
||||||
# patch making libcurl multilib ready
|
# patch making libcurl multilib ready
|
||||||
Patch101: 0101-curl-7.32.0-multilib.patch
|
Patch101: 0101-curl-7.32.0-multilib.patch
|
||||||
|
|
||||||
@ -108,6 +111,7 @@ documentation of the library, too.
|
|||||||
|
|
||||||
# upstream patches
|
# upstream patches
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
|
||||||
# Fedora patches
|
# Fedora patches
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
@ -226,6 +230,9 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%{_datadir}/aclocal/libcurl.m4
|
%{_datadir}/aclocal/libcurl.m4
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Sep 09 2013 Kamil Dudka <kdudka@redhat.com> 7.32.0-2
|
||||||
|
- avoid delay if FTP is aborted in CURLOPT_HEADERFUNCTION callback (#1005686)
|
||||||
|
|
||||||
* Mon Aug 12 2013 Kamil Dudka <kdudka@redhat.com> 7.32.0-1
|
* Mon Aug 12 2013 Kamil Dudka <kdudka@redhat.com> 7.32.0-1
|
||||||
- new upstream release
|
- new upstream release
|
||||||
- make sure that NSS is initialized prior to calling PK11_GenerateRandom()
|
- make sure that NSS is initialized prior to calling PK11_GenerateRandom()
|
||||||
|
Loading…
Reference in New Issue
Block a user