- fix -J/--remote-header-name to strip CR-LF (upstream patch)

This commit is contained in:
Kamil Dudka 2010-05-25 15:36:27 +00:00
parent 08f8860877
commit 4a5f304d06
2 changed files with 61 additions and 1 deletions

53
curl-7.20.1-47dda4a.patch Normal file
View File

@ -0,0 +1,53 @@
CHANGES | 4 ++++
src/main.c | 23 ++++++++++++++++++++---
2 files changed, 24 insertions(+), 3 deletions(-)
diff --git a/CHANGES b/CHANGES
index 7928690..db2d68b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,6 +6,10 @@
Changelog
+Daniel Stenberg (19 Apr 2010)
+- -J/--remote-header-name didn't strip trailing carriage returns or linefeeds
+ properly, so they could be used in the file name.
+
Kamil Dudka (11 May 2010)
- CRL support in libcurl-NSS has been completely broken. Now it works. Original
bug report: https://bugzilla.redhat.com/581926
diff --git a/src/main.c b/src/main.c
index 6e3ef3d..d532846 100644
--- a/src/main.c
+++ b/src/main.c
@@ -4200,9 +4200,26 @@ parse_filename(char *ptr, size_t len)
}
}
- q = strrchr(p, quote);
- if (q)
- *q = 0;
+ if(quote) {
+ /* if the file name started with a quote, then scan for the end quote and
+ stop there */
+ q = strrchr(p, quote);
+ if (q)
+ *q = 0;
+ }
+ else
+ q = NULL; /* no start quote, so no end has been found */
+
+ if(!q) {
+ /* make sure the file name doesn't end in \r or \n */
+ q = strchr(p, '\r');
+ if(q)
+ *q = 0;
+
+ q = strchr(p, '\n');
+ if(q)
+ *q = 0;
+ }
if (copy!=p)
memmove(copy, p, strlen(p)+1);

View File

@ -1,7 +1,7 @@
Summary: A utility for getting files from remote servers (FTP, HTTP, and others)
Name: curl
Version: 7.20.1
Release: 5%{?dist}
Release: 6%{?dist}
License: MIT
Group: Applications/Internet
Source: http://curl.haxx.se/download/%{name}-%{version}.tar.lzma
@ -28,6 +28,9 @@ Patch3: curl-7.20.1-crl.patch
# (the CA pass phrase used in the patch is 'libcurl')
Patch4: curl-7.20.1-crl-test.patch
# upstream commit 47dda4a1d43c9341753388ab3babb0d27cf34840
Patch5: curl-7.20.1-47dda4a.patch
# patch making libcurl multilib ready
Patch101: curl-7.20.0-multilib.patch
@ -123,6 +126,7 @@ done
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch5 -p1
# upstream patches (not yet applied)
%patch4 -p1
@ -240,6 +244,9 @@ rm -rf $RPM_BUILD_ROOT
%{_datadir}/aclocal/libcurl.m4
%changelog
* Tue May 25 2010 Kamil Dudka <kdudka@redhat.com> 7.20.1-6
- fix -J/--remote-header-name to strip CR-LF (upstream patch)
* Wed Apr 28 2010 Kamil Dudka <kdudka@redhat.com> 7.20.1-5
- CRL support now works again (#581926)
- make it possible to start a testing OpenSSH server when building with SELinux