Commit 9d152a77 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

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.
parent 33dc28b9
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
@@ -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)
Daniel (25 October 2005)
- Amol Pattekar reported a bug with great detail and a fine example in bug
- 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
  #1326306 (http://curl.haxx.se/bug/view.cgi?id=1326306). When using the multi
+3 −1
Original line number Original line Diff line number Diff line
@@ -15,6 +15,7 @@ This release includes the following changes:


This release includes the following bugfixes:
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 multi interface with multi IP hosts could leak socket descriptors
 o the GnuTLS code didn't handle rehandshakes
 o the GnuTLS code didn't handle rehandshakes
 o re-use of a dead FTP connection
 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
This release would not have looked like this without help, code, reports and
advice from friends like these:
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)
        Thanks! (and sorry if I forgot to mention someone)
+1 −1
Original line number Original line Diff line number Diff line
@@ -770,7 +770,7 @@ specifies the second 500 bytes
.B -500
.B -500
specifies the last 500 bytes
specifies the last 500 bytes
.TP
.TP
.B 9500
.B 9500-
specifies the bytes from offset 9500 and forward
specifies the bytes from offset 9500 and forward
.TP
.TP
.B 0-0,-1
.B 0-0,-1
+18 −2
Original line number Original line Diff line number Diff line
@@ -2097,8 +2097,24 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
        return err;
        return err;
      break;
      break;
    case 'r':
    case 'r':
      /* 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 */
        /* byte range requested */
        GetStr(&config->range, nextarg);
        GetStr(&config->range, nextarg);

      break;
      break;
    case 'R':
    case 'R':
      /* use remote file's time */
      /* use remote file's time */