aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES7
-rw-r--r--RELEASE-NOTES4
-rw-r--r--docs/curl.12
-rw-r--r--src/main.c20
4 files changed, 29 insertions, 4 deletions
diff --git a/CHANGES b/CHANGES
index a998afb42..da9f357c7 100644
--- a/CHANGES
+++ b/CHANGES
@@ -8,6 +8,13 @@
+Daniel (27 October 2005)
+- Jaz Fresh pointed out that if you used "-r [number]" as was wrongly described
+ in the man page, curl would send an invalid HTTP Range: header. The correct
+ way would be to use "-r [number]-" or even "-r -[number]". Starting now,
+ curl will warn if this is discovered, and automatically append a dash to the
+ range before passing it to libcurl.
+
Daniel (25 October 2005)
- Amol Pattekar reported a bug with great detail and a fine example in bug
#1326306 (http://curl.haxx.se/bug/view.cgi?id=1326306). When using the multi
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index 93426d630..e84811758 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -15,6 +15,7 @@ This release includes the following changes:
This release includes the following bugfixes:
+ o -r [num] would produce an invalid HTTP Range: header
o multi interface with multi IP hosts could leak socket descriptors
o the GnuTLS code didn't handle rehandshakes
o re-use of a dead FTP connection
@@ -32,6 +33,7 @@ Other curl-related news since the previous public release:
This release would not have looked like this without help, code, reports and
advice from friends like these:
- Dave Dribin, Bradford Bruce, Temprimus
+ Dave Dribin, Bradford Bruce, Temprimus, Ofer, Dima Barsky, Amol Pattekar, Jaz
+ Fresh
Thanks! (and sorry if I forgot to mention someone)
diff --git a/docs/curl.1 b/docs/curl.1
index 69d890a6e..8a422b9e2 100644
--- a/docs/curl.1
+++ b/docs/curl.1
@@ -770,7 +770,7 @@ specifies the second 500 bytes
.B -500
specifies the last 500 bytes
.TP
-.B 9500
+.B 9500-
specifies the bytes from offset 9500 and forward
.TP
.B 0-0,-1
diff --git a/src/main.c b/src/main.c
index 818b5baab..cd42b0d06 100644
--- a/src/main.c
+++ b/src/main.c
@@ -2097,8 +2097,24 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
return err;
break;
case 'r':
- /* byte range requested */
- GetStr(&config->range, nextarg);
+ /* Specifying a range WITHOUT A DASH will create an illegal HTTP range
+ (and won't actually be range by definition). The man page previously
+ claimed that to be a good way, why this code is added to work-around
+ it. */
+ if(!strchr(nextarg, '-')) {
+ char buffer[32];
+ curl_off_t off;
+ warnf(config,
+ "A specfied range MUST include at least one dash (-). "
+ "Appending one for you!\n");
+ off = curlx_strtoofft(nextarg, NULL, 10);
+ snprintf(buffer, sizeof(buffer), CURL_FORMAT_OFF_T "-", off);
+ GetStr(&config->range, buffer);
+ }
+ else
+ /* byte range requested */
+ GetStr(&config->range, nextarg);
+
break;
case 'R':
/* use remote file's time */