Loading lib/urlapi-int.h +4 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,10 @@ * ***************************************************************************/ #include "curl_setup.h" /* scheme is not URL encoded, the longest libcurl supported ones are 6 letters */ #define MAX_SCHEME_LEN 8 bool Curl_is_absolute_url(const char *url, char *scheme, size_t buflen); char *Curl_concat_url(const char *base, const char *relurl); size_t Curl_strlen_url(const char *url, bool relative); Loading lib/urlapi.c +2 −6 Original line number Diff line number Diff line Loading @@ -53,10 +53,6 @@ struct Curl_URL { #define DEFAULT_SCHEME "https" /* scheme is not URL encoded, the longest libcurl supported ones are 6 letters */ #define MAX_SCHEME_LEN 8 static void free_urlhandle(struct Curl_URL *u) { free(u->scheme); Loading Loading @@ -480,7 +476,7 @@ static CURLUcode parse_port(struct Curl_URL *u, char *hostname) char endbracket; int len; if((1 == sscanf(hostname, "[%*45[0123456789abcdefABCDEF:.]%c%n", if((1 == sscanf(hostname, "[%*45[0123456789abcdefABCDEF:.%%]%c%n", &endbracket, &len)) && (']' == endbracket)) { /* this is a RFC2732-style specified IP-address */ Loading Loading @@ -561,7 +557,7 @@ static CURLUcode hostname_check(char *hostname, unsigned int flags) if(hostname[0] == '[') { hostname++; l = "0123456789abcdefABCDEF::."; l = "0123456789abcdefABCDEF::.%"; hlen -= 2; } Loading tests/libtest/lib1560.c +3 −0 Original line number Diff line number Diff line Loading @@ -128,6 +128,9 @@ struct querycase { }; static struct testcase get_parts_list[] ={ {"https://[::1%252]:1234", "https | [11] | [12] | [13] | [::1%252] | 1234 | / | [16] | [17]", CURLU_DEFAULT_SCHEME, 0, CURLUE_OK}, {"https://127.0.0.1:443", "https | [11] | [12] | [13] | 127.0.0.1 | [15] | / | [16] | [17]", 0, CURLU_NO_DEFAULT_PORT, CURLUE_OK}, Loading Loading
lib/urlapi-int.h +4 −0 Original line number Diff line number Diff line Loading @@ -22,6 +22,10 @@ * ***************************************************************************/ #include "curl_setup.h" /* scheme is not URL encoded, the longest libcurl supported ones are 6 letters */ #define MAX_SCHEME_LEN 8 bool Curl_is_absolute_url(const char *url, char *scheme, size_t buflen); char *Curl_concat_url(const char *base, const char *relurl); size_t Curl_strlen_url(const char *url, bool relative); Loading
lib/urlapi.c +2 −6 Original line number Diff line number Diff line Loading @@ -53,10 +53,6 @@ struct Curl_URL { #define DEFAULT_SCHEME "https" /* scheme is not URL encoded, the longest libcurl supported ones are 6 letters */ #define MAX_SCHEME_LEN 8 static void free_urlhandle(struct Curl_URL *u) { free(u->scheme); Loading Loading @@ -480,7 +476,7 @@ static CURLUcode parse_port(struct Curl_URL *u, char *hostname) char endbracket; int len; if((1 == sscanf(hostname, "[%*45[0123456789abcdefABCDEF:.]%c%n", if((1 == sscanf(hostname, "[%*45[0123456789abcdefABCDEF:.%%]%c%n", &endbracket, &len)) && (']' == endbracket)) { /* this is a RFC2732-style specified IP-address */ Loading Loading @@ -561,7 +557,7 @@ static CURLUcode hostname_check(char *hostname, unsigned int flags) if(hostname[0] == '[') { hostname++; l = "0123456789abcdefABCDEF::."; l = "0123456789abcdefABCDEF::.%"; hlen -= 2; } Loading
tests/libtest/lib1560.c +3 −0 Original line number Diff line number Diff line Loading @@ -128,6 +128,9 @@ struct querycase { }; static struct testcase get_parts_list[] ={ {"https://[::1%252]:1234", "https | [11] | [12] | [13] | [::1%252] | 1234 | / | [16] | [17]", CURLU_DEFAULT_SCHEME, 0, CURLUE_OK}, {"https://127.0.0.1:443", "https | [11] | [12] | [13] | 127.0.0.1 | [15] | / | [16] | [17]", 0, CURLU_NO_DEFAULT_PORT, CURLUE_OK}, Loading