[arch-commits] Commit in curl/trunk (3 files)
Dave Reisner
dreisner at archlinux.org
Sat Jan 28 13:13:35 UTC 2012
Date: Saturday, January 28, 2012 @ 08:13:35
Author: dreisner
Revision: 147941
upgpkg: curl 7.24.0-2
- fix keepalive tuning regression in CLI tool
Added:
curl/trunk/0001-include-headers-for-tcp-keepalives.patch
Modified:
curl/trunk/PKGBUILD
Deleted:
curl/trunk/fix-J-with-O-regression.patch
-----------------------------------------------+
0001-include-headers-for-tcp-keepalives.patch | 31 +++++
PKGBUILD | 8 -
fix-J-with-O-regression.patch | 142 ------------------------
3 files changed, 36 insertions(+), 145 deletions(-)
Added: 0001-include-headers-for-tcp-keepalives.patch
===================================================================
--- 0001-include-headers-for-tcp-keepalives.patch (rev 0)
+++ 0001-include-headers-for-tcp-keepalives.patch 2012-01-28 13:13:35 UTC (rev 147941)
@@ -0,0 +1,31 @@
+From d906981b20d41466d040e6cc2570099c8d665f7f Mon Sep 17 00:00:00 2001
+From: Dave Reisner <dreisner at archlinux.org>
+Date: Sat, 28 Jan 2012 08:05:02 -0500
+Subject: [PATCH] include headers for tcp-keepalives
+
+---
+ src/tool_cb_skt.c | 8 ++++++++
+ 1 files changed, 8 insertions(+), 0 deletions(-)
+
+diff --git a/src/tool_cb_skt.c b/src/tool_cb_skt.c
+index 156c110..e74d5e4 100644
+--- a/src/tool_cb_skt.c
++++ b/src/tool_cb_skt.c
+@@ -27,6 +27,14 @@
+ # include <sys/socket.h>
+ #endif
+
++#ifdef HAVE_NETINET_TCP_H
++# include <netinet/tcp.h>
++#endif
++
++#ifdef HAVE_NETINET_IN_H
++# include <netinet/in.h>
++#endif
++
+ #define ENABLE_CURLX_PRINTF
+ /* use our own printf() functions */
+ #include "curlx.h"
+--
+1.7.8.4
+
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2012-01-28 11:36:42 UTC (rev 147940)
+++ PKGBUILD 2012-01-28 13:13:35 UTC (rev 147941)
@@ -7,7 +7,7 @@
pkgname=curl
pkgver=7.24.0
-pkgrel=1
+pkgrel=2
pkgdesc="An URL retrival utility and library"
arch=('i686' 'x86_64')
url="http://curl.haxx.se"
@@ -15,11 +15,11 @@
depends=('ca-certificates' 'libssh2' 'openssl' 'zlib')
options=('!libtool')
source=("http://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc}
- fix-J-with-O-regression.patch
+ 0001-include-headers-for-tcp-keepalives.patch
curlbuild.h)
md5sums=('b93420f80a2baaa61a0f45214eddc2ba'
'710242df6bc318d16eea611e7d1b1410'
- 'aa4539ec4f4a2dad1663dc22dd3ab0a1'
+ '84833972c2ff36abb2bfdd4ac065c2e5'
'751bd433ede935c8fae727377625a8ae')
ptrsize=$(cpp <<<'__SIZEOF_POINTER__' | sed '/^#/d')
@@ -34,6 +34,8 @@
build() {
cd "$pkgname-$pkgver"
+ patch -Np1 < "$srcdir/0001-include-headers-for-tcp-keepalives.patch"
+
./configure \
--prefix=/usr \
--mandir=/usr/share/man \
Deleted: fix-J-with-O-regression.patch
===================================================================
--- fix-J-with-O-regression.patch 2012-01-28 11:36:42 UTC (rev 147940)
+++ fix-J-with-O-regression.patch 2012-01-28 13:13:35 UTC (rev 147941)
@@ -1,142 +0,0 @@
-From c532604b137cae2e2814280778f914e4cd0460d1 Mon Sep 17 00:00:00 2001
-From: Daniel Stenberg <daniel at haxx.se>
-Date: Sun, 20 Nov 2011 23:33:46 +0100
-Subject: [PATCH] -J -O: use -O name if no Content-Disposition header comes!
-
-A regression between 7.22.0 and 7.23.0 -- downloading a file with the
-flags -O and -J results in the content being written to stdout if and
-only if there was no Content-Disposition header in the http response. If
-there is a C-D header with a filename attribute, the output is correctly
-written.
-
-Reported by: Dave Reisner
-Bug: http://curl.haxx.se/mail/archive-2011-11/0030.html
----
- src/tool_cb_hdr.c | 3 +-
- src/tool_operate.c | 59 ++++++++++++++++++++++----------------------
- src/tool_operhlp.c | 18 +++++++++++++
- tests/data/Makefile.am | 2 +-
- tests/data/test1210 | 63 ++++++++++++++++++++++++++++++++++++++++++++++++
- 5 files changed, 112 insertions(+), 33 deletions(-)
- create mode 100644 tests/data/test1210
-
-diff --git a/src/tool_cb_hdr.c b/src/tool_cb_hdr.c
-index fb24b45..dea7338 100644
---- a/src/tool_cb_hdr.c
-+++ b/src/tool_cb_hdr.c
-@@ -66,8 +66,7 @@ size_t tool_header_cb(void *ptr, size_t size, size_t nmemb, void *userdata)
- }
- #endif
-
-- if(!outs->filename && (cb > 20) &&
-- checkprefix("Content-disposition:", str)) {
-+ if((cb > 20) && checkprefix("Content-disposition:", str)) {
- const char *p = str + 20;
-
- /* look for the 'filename=' parameter
-diff --git a/src/tool_operate.c b/src/tool_operate.c
-index 7ab815f..1e88120 100644
---- a/src/tool_operate.c
-+++ b/src/tool_operate.c
-@@ -576,41 +576,40 @@ int operate(struct Configurable *config, int argc, argv_item_t argv[])
-
- if((urlnode->flags & GETOUT_USEREMOTE)
- && config->content_disposition) {
-- /* Our header callback sets the filename */
-+ /* Our header callback MIGHT set the filename */
- DEBUGASSERT(!outs.filename);
- }
-- else {
-- if(config->resume_from_current) {
-- /* We're told to continue from where we are now. Get the size
-- of the file as it is now and open it for append instead */
-- struct_stat fileinfo;
-- /* VMS -- Danger, the filesize is only valid for stream files */
-- if(0 == stat(outfile, &fileinfo))
-- /* set offset to current file size: */
-- config->resume_from = fileinfo.st_size;
-- else
-- /* let offset be 0 */
-- config->resume_from = 0;
-- }
-
-- if(config->resume_from) {
-- /* open file for output: */
-- FILE *file = fopen(outfile, config->resume_from?"ab":"wb");
-- if(!file) {
-- helpf(config->errors, "Can't open '%s'!\n", outfile);
-- res = CURLE_WRITE_ERROR;
-- goto quit_urls;
-- }
-- outs.fopened = TRUE;
-- outs.stream = file;
-- outs.init = config->resume_from;
-- }
-- else {
-- outs.stream = NULL; /* open when needed */
-+ if(config->resume_from_current) {
-+ /* We're told to continue from where we are now. Get the size
-+ of the file as it is now and open it for append instead */
-+ struct_stat fileinfo;
-+ /* VMS -- Danger, the filesize is only valid for stream files */
-+ if(0 == stat(outfile, &fileinfo))
-+ /* set offset to current file size: */
-+ config->resume_from = fileinfo.st_size;
-+ else
-+ /* let offset be 0 */
-+ config->resume_from = 0;
-+ }
-+
-+ if(config->resume_from) {
-+ /* open file for output: */
-+ FILE *file = fopen(outfile, config->resume_from?"ab":"wb");
-+ if(!file) {
-+ helpf(config->errors, "Can't open '%s'!\n", outfile);
-+ res = CURLE_WRITE_ERROR;
-+ goto quit_urls;
- }
-- outs.filename = outfile;
-- outs.s_isreg = TRUE;
-+ outs.fopened = TRUE;
-+ outs.stream = file;
-+ outs.init = config->resume_from;
-+ }
-+ else {
-+ outs.stream = NULL; /* open when needed */
- }
-+ outs.filename = outfile;
-+ outs.s_isreg = TRUE;
- }
-
- if(uploadfile && !stdin_upload(uploadfile)) {
-diff --git a/src/tool_operhlp.c b/src/tool_operhlp.c
-index 808d2d5..4c1697b 100644
---- a/src/tool_operhlp.c
-+++ b/src/tool_operhlp.c
-@@ -178,6 +178,24 @@ CURLcode get_url_file_name(char **filename, const char *url)
- return CURLE_OUT_OF_MEMORY;
- }
- }
-+
-+ /* in case we built debug enabled, we allow an environment variable
-+ * named CURL_TESTDIR to prefix the given file name to put it into a
-+ * specific directory
-+ */
-+#ifdef DEBUGBUILD
-+ {
-+ char *tdir = curlx_getenv("CURL_TESTDIR");
-+ if(tdir) {
-+ char buffer[512]; /* suitably large */
-+ snprintf(buffer, sizeof(buffer), "%s/%s", tdir, *filename);
-+ Curl_safefree(*filename);
-+ *filename = strdup(buffer); /* clone the buffer */
-+ curl_free(tdir);
-+ }
-+ }
-+#endif
-+
- return CURLE_OK;
- }
-
---
-1.7.7.3
More information about the arch-commits
mailing list