From 1e1e4927b05d9b242bfe83794e3a98ab2c8f79ef Mon Sep 17 00:00:00 2001 From: root Date: Wed, 23 Nov 2011 23:15:26 +0000 Subject: Wed Nov 23 23:15:26 UTC 2011 --- core/curl/PKGBUILD | 10 ++- core/curl/fix-J-with-O-regression.patch | 142 ++++++++++++++++++++++++++++++++ core/syslog-ng/PKGBUILD | 6 +- core/syslog-ng/syslog-ng.logrotate | 2 +- 4 files changed, 154 insertions(+), 6 deletions(-) create mode 100644 core/curl/fix-J-with-O-regression.patch (limited to 'core') diff --git a/core/curl/PKGBUILD b/core/curl/PKGBUILD index dafb0b22d..e39cc6cf3 100644 --- a/core/curl/PKGBUILD +++ b/core/curl/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 143006 2011-11-20 14:43:34Z dreisner $ +# $Id: PKGBUILD 143109 2011-11-23 02:58:17Z dreisner $ # Maintainer: Dave Reisner # Contributor: Angel Velasquez # Contributor: Eric Belanger @@ -7,7 +7,7 @@ pkgname=curl pkgver=7.23.1 -pkgrel=1 +pkgrel=2 pkgdesc="An URL retrival utility and library" arch=('i686' 'x86_64') url="http://curl.haxx.se" @@ -16,9 +16,11 @@ depends=('ca-certificates' 'libssh2' 'openssl' 'zlib') makedepends=('perl-libwww') options=('!libtool') source=("http://curl.haxx.se/download/$pkgname-$pkgver.tar.gz"{,.asc} + fix-J-with-O-regression.patch curlbuild.h) md5sums=('8e23151f569fb54afef093ac0695077d' '5d8eb7e2e38be0fb00a043f714f6d49f' + 'aa4539ec4f4a2dad1663dc22dd3ab0a1' '751bd433ede935c8fae727377625a8ae') ptrsize=$(cpp <<<'__SIZEOF_POINTER__' | sed '/^#/d') @@ -33,6 +35,10 @@ esac build() { cd "$srcdir/$pkgname-$pkgver" + # upstream bugfix + # http://curl.haxx.se/mail/archive-2011-11/0030.html + patch -Np1 < "$srcdir/fix-J-with-O-regression.patch" + ./configure \ --prefix=/usr \ --mandir=/usr/share/man \ diff --git a/core/curl/fix-J-with-O-regression.patch b/core/curl/fix-J-with-O-regression.patch new file mode 100644 index 000000000..4b7de1a23 --- /dev/null +++ b/core/curl/fix-J-with-O-regression.patch @@ -0,0 +1,142 @@ +From c532604b137cae2e2814280778f914e4cd0460d1 Mon Sep 17 00:00:00 2001 +From: Daniel Stenberg +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 diff --git a/core/syslog-ng/PKGBUILD b/core/syslog-ng/PKGBUILD index 5a4c97dfc..5fdaa650e 100644 --- a/core/syslog-ng/PKGBUILD +++ b/core/syslog-ng/PKGBUILD @@ -1,11 +1,11 @@ -# $Id: PKGBUILD 142836 2011-11-16 14:19:52Z dreisner $ +# $Id: PKGBUILD 143107 2011-11-23 02:58:14Z dreisner $ # Maintainer: Dave Reisner # Maintainer: Eric BĂ©langer # Maintainer: Aaron Griffin pkgname=syslog-ng pkgver=3.3.2 -pkgrel=1 +pkgrel=2 pkgdesc="Next-generation syslogd with advanced networking and filtering capabilities" arch=('i686' 'x86_64') license=('GPL2') @@ -24,7 +24,7 @@ source=("http://www.balabit.com/downloads/files/syslog-ng/sources/$pkgver/source syslog-ng.rc) sha1sums=('a7cfc987cdd584e357e253d2794bad1159776638' '98074e0facfc6ef036202662cc86d04b38a2c142' - 'ac997b25d7d8e69e66782d3771a0e12aff55ae7f' + '949128fe3d7f77a7aab99048061f885bc758000c' 'a6ad26912b5bcbe1b47b003309945d733613b98f') build() { diff --git a/core/syslog-ng/syslog-ng.logrotate b/core/syslog-ng/syslog-ng.logrotate index e0e6929f2..3509f2970 100644 --- a/core/syslog-ng/syslog-ng.logrotate +++ b/core/syslog-ng/syslog-ng.logrotate @@ -2,6 +2,6 @@ missingok sharedscripts postrotate - /bin/kill -HUP `cat /var/run/syslog-ng.pid 2>/dev/null` 2> /dev/null || true + /bin/kill -HUP $(cat /run/syslog-ng.pid 2>/dev/null) 2>/dev/null || true endscript } -- cgit v1.2.3-54-g00ecf