urlapi: accept :: as a valid IPv6 address
Text 1560 is extended to verify. Reported-by: Pavel Volgarev Fixes #5344 Closes #5351
This commit is contained in:
Родитель
11e4ac8291
Коммит
7f1c098728
|
@ -606,7 +606,7 @@ static CURLUcode hostname_check(struct Curl_URL *u, char *hostname)
|
|||
char dest[16]; /* fits a binary IPv6 address */
|
||||
#endif
|
||||
const char *l = "0123456789abcdefABCDEF:.";
|
||||
if(hlen < 5) /* '[::1]' is the shortest possible valid string */
|
||||
if(hlen < 4) /* '[::]' is the shortest possible valid string */
|
||||
return CURLUE_MALFORMED_INPUT;
|
||||
hostname++;
|
||||
hlen -= 2;
|
||||
|
|
|
@ -129,6 +129,15 @@ struct querycase {
|
|||
};
|
||||
|
||||
static struct testcase get_parts_list[] ={
|
||||
{"[::1]",
|
||||
"http | [11] | [12] | [13] | [::1] | [15] | / | [16] | [17]",
|
||||
CURLU_GUESS_SCHEME, 0, CURLUE_OK },
|
||||
{"[::]",
|
||||
"http | [11] | [12] | [13] | [::] | [15] | / | [16] | [17]",
|
||||
CURLU_GUESS_SCHEME, 0, CURLUE_OK },
|
||||
{"https://[::1]",
|
||||
"https | [11] | [12] | [13] | [::1] | [15] | / | [16] | [17]",
|
||||
0, 0, CURLUE_OK },
|
||||
{"user:moo@ftp.example.com/color/#green?no-black",
|
||||
"ftp | user | moo | [13] | ftp.example.com | [15] | /color/ | [16] | "
|
||||
"green?no-black",
|
||||
|
|
Загрузка…
Ссылка в новой задаче