urlapi: forbid '|' in host
No binary (build failed)
—
(log yok)
| @@ -471,7 +471,7 @@ static CURLUcode hostname_check(struct Curl_URL *u, char *hostname, | |
| return ipv6_parse(u, hostname, hlen); | |
| else { | |
| /* letters from the second string are not ok */ | |
| - | len = strcspn(hostname, " \r\n\t/:#?!@{}[]\\$\'\"^`*<>=;,+&()%"); |
| + | len = strcspn(hostname, " \r\n\t/:#?!@{}[]\\$\'\"^`*<>=;,+&()%|"); |
| if(hlen != len) | |
| /* hostname with bad content */ | |
| return CURLUE_BAD_HOSTNAME; | |
| @@ -326,6 +326,7 @@ static const struct testcase get_parts_list[] = { | |
| {"https://[email protected]?he l lo", | |
| "https | user | [12] | [13] | example.net | [15] | / | he l lo | [17]", | |
| CURLU_ALLOW_SPACE, 0, CURLUE_OK}, | |
| + | {"https://exam|ple.net", "", 0, 0, CURLUE_BAD_HOSTNAME}, |
| {"https://exam{}[]ple.net", "", 0, 0, CURLUE_BAD_HOSTNAME}, | |
| {"https://exam{ple.net", "", 0, 0, CURLUE_BAD_HOSTNAME}, | |
| {"https://exam}ple.net", "", 0, 0, CURLUE_BAD_HOSTNAME}, | |