On Sun, 15 May 2005, Rafael Martinez Torres wrote:

The format of IPv6 URLs are sligthly modified . Since the dotted addresses
can containg ":" character, it was to mandatory to support brackets to
split the dotted host address from the port. i.e:

This do not apply to the DNS names...

http://124.35.46.45
http://124.35.46.45:9090
http://2004:80:255f:3abb::3
http://[2004:80:25ab:fe33:5]:9090

Ok. I didn't know there is a defined URL format for IPv6 addresses. Last time I looked into this it was explicitly excluded, reffering to use of DNS.


Hmmm... Yes.. May be URL_NEEDS_BRACKETS ? Any suggestion ?

Fine for me, or perhaps address_needs_brackets?

inline bool address_needs_brackets(const char *host)
{
    return SAFE_INET_ADDR(host,NULL);
}

or perhaps simply

inline bool address_needs_brackets(const char *host)
{
    return strchr(host, ':') != NULL;
}

But in this specific case I think it would make more sense to have request->host contain the braketed address and make the ipcache (or SAFE_INET_ADDR) understand that IPv6 addresses may be braketed.

Yes. For the time beeing, up to the tests I'm not taking care of that.
My ideas was rather to leave them as macros, yet not defined for
IPv4... So when the branch becomes steady, it would be easier for the
group to understand why the compilation fails, and try to merge into head
in a scalable way...

These kind of macros will be changed into inlines when merged.

IPv6 branch is not an extension for Squid3, rather a deep change...

I know.

Do you have a time plan when it may be suitable to merge things next?
I hope to soon dive into the 2GB support & cleanup which is another rather deep going change touching most files little here little there... I hope to merge your IPv6 bulk changes before this to minimize the risk of conflicting overlaps. Especially so if you have changes to function prototypes.


Regards
Henrik

Reply via email to