RFR: 8244958: preferIPv4Stack and preferIPv6Addresses do not affect addresses returned by HostsFileNameService
Aleks Efimov
aleksej.efimov at oracle.com
Mon May 25 10:47:49 UTC 2020
Hi Alan, Daniel,
Thank you for looking into this change. I've cleaned-up the fix and the
test according to your comments.
Modified fix can be viewed here:
http://cr.openjdk.java.net/~aefimov/8244958/01
Kind Regards,
Aleksei
On 24/05/2020 08:12, Alan Bateman wrote:
> On 22/05/2020 16:45, Aleks Efimov wrote:
>> Hi,
>>
>> The "java.net.preferIPv4Stack" and "java.net.preferIPv6Addresses"
>> system properties do not affect the addresses and their order,
>> returned by the HostsFileNameService provider that can be created by
>> specifying "jdk.net.hosts.file" system property.
>> The following fix analyses the system properties and
>> re-orders/filters the returned IP addresses, if needed. Plus, small
>> clean-up changes:
>> http://cr.openjdk.java.net/~aefimov/8244958/00
> The approach looks okay but I agree with Daniel on consistent naming
> and cleanup.
>
> Another one to look is arrangeAddresses/appendAddresses as it's
> surprising to mutate inet4Addresses or inet6Addresses with addresses
> of the other type. It would be much cleaner to return a List
> (inetAddress or a new List), then invoke toArray on the result and
> this will avoid calling toArray in 3 places. If you using List in the
> signatories then it will also be a lot cleaned as the caller should
> not need to provide a specific type of List.
>
> Minor nit in the test but PREFER4_SP_VALUE and PREFER6_SP_VALUE can be
> renamed to make the usages in the test easier to read. Also good to
> add "_LIST" to IPV4_THEN_IPV6 to make it clearer at the use sites that
> they are dealing with Lists. I think getExpectedAddressesArray would
> be a bit clear if you assigned the result of the switch expression to
> a variable, then return list.toArray(String::new).
>
> -Alan
More information about the net-dev
mailing list