zeroc-ice / ice

All-in-one solution for creating networked applications with RPC, pub/sub, server deployment, and more.
https://zeroc.com
GNU General Public License v2.0
2.05k stars 592 forks source link

Fix colloc and IPv6 #3161

Closed bernardnormier closed 4 days ago

bernardnormier commented 4 days ago

This PR fixes #3154 by:

For Java, I picked the "normalization" provided by https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/net/Inet6Address.html#getHostAddress(), which returns a "long form" of the IPv6 address. We call getHostAddress directly a number of times and this was the simplest normalization.

This is not a complete fix for #3154. We should also normalize IPv6 hosts in C++, C# and JS. In C++ and C#, system APIs appear to return the short form, which is why "::1" works with colloc. We should run at least one test with colloc + ipv6 (not in this PR).