Loading CHANGES +5 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,11 @@ Changelog Daniel Fandrich (31 Jul 2008) - Fixed parsing of an IPv6 proxy address to support a scope identifier, as well as IPv4 addresses in IPv6 format. Also, better handle the case of a malformatted IPv6 address (avoid empty and NULL strings). Daniel Stenberg (30 Jul 2008) - Phil Blundell added the CURLOPT_SCOPE option, as well as adjusted the URL parser to allow numerical IPv6-addresses to be specified with the scope Loading docs/MANUAL +3 −0 Original line number Diff line number Diff line Loading @@ -904,6 +904,9 @@ IPv6 sftp://[fe80::1234%251]/ IPv6 addresses provided other than in URLs (e.g. to the --proxy, --interface or --ftp-port options) should not be URL encoded. MAILING LISTS Loading lib/url.c +7 −5 Original line number Diff line number Diff line Loading @@ -3102,7 +3102,8 @@ static CURLcode ParseURLAndFillConnection(struct SessionHandle *data, if (!data->state.this_is_a_follow) /* Don't honour a scope given in a Location: header */ conn->scope = scope; } } else infof(data, "Invalid IPv6 address format\n"); } } Loading Loading @@ -3406,13 +3407,14 @@ static CURLcode parse_proxy(struct SessionHandle *data, /* detect and extract RFC2732-style IPv6-addresses */ if(*proxyptr == '[') { char *ptr = ++proxyptr; /* advance beyond the initial bracket */ while(*ptr && (ISXDIGIT(*ptr) || (*ptr == ':'))) while(*ptr && (ISXDIGIT(*ptr) || (*ptr == ':') || (*ptr == '%') || (*ptr == '.'))) ptr++; if(*ptr == ']') { /* yeps, it ended nicely with a bracket as well */ *ptr = 0; portptr = ptr+1; } *ptr++ = 0; } else infof(data, "Invalid IPv6 address format\n"); portptr = ptr; /* Note that if this didn't end with a bracket, we still advanced the * proxyptr first, but I can't see anything wrong with that as no host * name nor a numeric can legally start with a bracket. Loading Loading
CHANGES +5 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,11 @@ Changelog Daniel Fandrich (31 Jul 2008) - Fixed parsing of an IPv6 proxy address to support a scope identifier, as well as IPv4 addresses in IPv6 format. Also, better handle the case of a malformatted IPv6 address (avoid empty and NULL strings). Daniel Stenberg (30 Jul 2008) - Phil Blundell added the CURLOPT_SCOPE option, as well as adjusted the URL parser to allow numerical IPv6-addresses to be specified with the scope Loading
docs/MANUAL +3 −0 Original line number Diff line number Diff line Loading @@ -904,6 +904,9 @@ IPv6 sftp://[fe80::1234%251]/ IPv6 addresses provided other than in URLs (e.g. to the --proxy, --interface or --ftp-port options) should not be URL encoded. MAILING LISTS Loading
lib/url.c +7 −5 Original line number Diff line number Diff line Loading @@ -3102,7 +3102,8 @@ static CURLcode ParseURLAndFillConnection(struct SessionHandle *data, if (!data->state.this_is_a_follow) /* Don't honour a scope given in a Location: header */ conn->scope = scope; } } else infof(data, "Invalid IPv6 address format\n"); } } Loading Loading @@ -3406,13 +3407,14 @@ static CURLcode parse_proxy(struct SessionHandle *data, /* detect and extract RFC2732-style IPv6-addresses */ if(*proxyptr == '[') { char *ptr = ++proxyptr; /* advance beyond the initial bracket */ while(*ptr && (ISXDIGIT(*ptr) || (*ptr == ':'))) while(*ptr && (ISXDIGIT(*ptr) || (*ptr == ':') || (*ptr == '%') || (*ptr == '.'))) ptr++; if(*ptr == ']') { /* yeps, it ended nicely with a bracket as well */ *ptr = 0; portptr = ptr+1; } *ptr++ = 0; } else infof(data, "Invalid IPv6 address format\n"); portptr = ptr; /* Note that if this didn't end with a bracket, we still advanced the * proxyptr first, but I can't see anything wrong with that as no host * name nor a numeric can legally start with a bracket. Loading