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)
|
||||
Name: curl
|
||||
Version: 7.32.0
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
License: MIT
|
||||
Group: Applications/Internet
|
||||
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()
|
||||
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
|
||||
Patch101: 0101-curl-7.32.0-multilib.patch
|
||||
|
||||
@ -108,6 +111,7 @@ documentation of the library, too.
|
||||
|
||||
# upstream patches
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
|
||||
# Fedora patches
|
||||
%patch101 -p1
|
||||
@ -226,6 +230,9 @@ rm -rf $RPM_BUILD_ROOT
|
||||
%{_datadir}/aclocal/libcurl.m4
|
||||
|
||||
%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
|
||||
- new upstream release
|
||||
- make sure that NSS is initialized prior to calling PK11_GenerateRandom()
|
||||
|
Loading…
Reference in New Issue
Block a user