mirror of
https://github.com/moparisthebest/curl
synced 2024-08-13 17:03:50 -04:00
- Song Ma's warning if -r/--range is given with a "bad" range, also noted in
the man page now.
This commit is contained in:
parent
0bbc759c0c
commit
a93af43974
9
CHANGES
9
CHANGES
@ -6,6 +6,15 @@
|
|||||||
|
|
||||||
Changelog
|
Changelog
|
||||||
|
|
||||||
|
Daniel S (22 April 2007)
|
||||||
|
- Song Ma's warning if -r/--range is given with a "bad" range, also noted in
|
||||||
|
the man page now.
|
||||||
|
|
||||||
|
- Daniel Black filed bug #1705177
|
||||||
|
(http://curl.haxx.se/bug/view.cgi?id=1705177) where --without-ssl
|
||||||
|
--with-gnutl outputs a warning about SSL not being enabled even though GnuTLS
|
||||||
|
was found and used.
|
||||||
|
|
||||||
Daniel S (21 April 2007)
|
Daniel S (21 April 2007)
|
||||||
- Daniel Black filed bug #1704675
|
- Daniel Black filed bug #1704675
|
||||||
(http://curl.haxx.se/bug/view.cgi?id=1704675) identifying a double-free
|
(http://curl.haxx.se/bug/view.cgi?id=1704675) identifying a double-free
|
||||||
|
@ -941,6 +941,10 @@ specifies two separate 100 bytes ranges(*)(H)
|
|||||||
(*) = NOTE that this will cause the server to reply with a multipart
|
(*) = NOTE that this will cause the server to reply with a multipart
|
||||||
response!
|
response!
|
||||||
|
|
||||||
|
Only digit characters (0-9) are valid in 'start' and 'stop' of range syntax
|
||||||
|
\&'start-stop'. If a non-digit character is given in the range, the server's
|
||||||
|
response will be unexpectable, depending on different server's configuration.
|
||||||
|
|
||||||
You should also be aware that many HTTP/1.1 servers do not have this feature
|
You should also be aware that many HTTP/1.1 servers do not have this feature
|
||||||
enabled, so that when you attempt to get a range, you'll instead get the whole
|
enabled, so that when you attempt to get a range, you'll instead get the whole
|
||||||
document.
|
document.
|
||||||
|
19
src/main.c
19
src/main.c
@ -2350,7 +2350,7 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
|
|||||||
(and won't actually be range by definition). The man page previously
|
(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
|
claimed that to be a good way, why this code is added to work-around
|
||||||
it. */
|
it. */
|
||||||
if(!strchr(nextarg, '-')) {
|
if(ISDIGIT(*nextarg) && !strchr(nextarg, '-')) {
|
||||||
char buffer[32];
|
char buffer[32];
|
||||||
curl_off_t off;
|
curl_off_t off;
|
||||||
warnf(config,
|
warnf(config,
|
||||||
@ -2360,10 +2360,23 @@ static ParameterError getparameter(char *flag, /* f or -long-flag */
|
|||||||
snprintf(buffer, sizeof(buffer), "%Od-", off);
|
snprintf(buffer, sizeof(buffer), "%Od-", off);
|
||||||
GetStr(&config->range, buffer);
|
GetStr(&config->range, buffer);
|
||||||
}
|
}
|
||||||
else
|
{
|
||||||
|
/* byte range requested */
|
||||||
|
char* tmp_range;
|
||||||
|
tmp_range=nextarg;
|
||||||
|
while(*tmp_range != '\0') {
|
||||||
|
if(!ISDIGIT(*tmp_range)&&*tmp_range!='-'&&*tmp_range!=',') {
|
||||||
|
warnf(config,"Invalid character is found in given range. "
|
||||||
|
"A specified range MUST have only digits in "
|
||||||
|
"\'start\'-\'stop\'. The server's response to this "
|
||||||
|
"request is uncertain.\n");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
tmp_range++;
|
||||||
|
}
|
||||||
/* 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 */
|
||||||
|
Loading…
Reference in New Issue
Block a user