Request for Review: 6707289
Michael McMahon
Michael.McMahon at Sun.COM
Mon Jan 25 07:04:40 PST 2010
Christopher Hegarty - Sun Microsystems Ireland wrote:
> Hi Micahel, Jessie,
>
> 6707289: InterfaceAddress.getNetworkPrefixLength() does not conform to
> Javadoc
>
> getAddrsFromAdapter
> (src/windows/native/java/net/NetworkInterface_winXP.c) makes an
> incorrect assumption that the list of IP_ADAPTER_PREFIX structures
> pointed to by the FirstPrefix member has a linear relationship with
> the IP_ADAPTER_UNICAST_ADDRESS structures pointed to by the
> FirstUnicastAddress member. This is incorrect.
>
> It appears there is no guarantee about the returned IP_ADAPTER_PREFIX
> order, making it very difficult to determine what (if any) unicast
> address they relate to.
>
> The simplest way to resolve this issue to use enumAddresses_win to
> determine the IPv4 addresses, and skip IPv4 addresses in
> getAddrsFromAdapter. enumAddresses_win is not IPv6 aware so we call
> getAddrsFromAdapter after to determine IPv6 addresses.
>
> Webrev:
> http://cr.openjdk.java.net/~chegar/6707289/webrev.0/webrev/
>
> -Chris.
Looks fine to me.
- Michael
More information about the net-dev
mailing list