Skip to content

Commit 7d978ce

Browse files
Peter B. KesslerPeter B. Kessler
Peter B. Kessler
authored and
Peter B. Kessler
committed
[GR-13368] Util_java_net_Inet6AddressImpl.lookupIfLocalhost versus JDK-11.
PullRequest: graal/2755
2 parents 9252d0e + 47f41dd commit 7d978ce

File tree

1 file changed

+15
-4
lines changed

1 file changed

+15
-4
lines changed

substratevm/src/com.oracle.svm.core.posix/src/com/oracle/svm/core/posix/PosixJavaNetSubstitutions.java

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3520,10 +3520,21 @@ static InetAddress[] lookupIfLocalhost(CCharPointer hostname, boolean includeV6)
35203520
j = includeLoopback ? addrs4 : (addrs4 - numV4Loopbacks);
35213521
}
35223522
} else {
3523-
/* TODO: `i` and `j` need to be initialized. But to what values? */
3524-
i = 0;
3525-
j = 0;
3526-
throw VMError.unsupportedFeature("JDK9OrLater: PosixJavaNetSubstitutions.Util_java_net_Inet6AddressImpl.lookupIfLocalhost: https://bugs.openjdk.java.net/browse/JDK-8205076");
3523+
/*
3524+
* TODO: Until https://bugs.openjdk.java.net/browse/JDK-8205076 is addressed.
3525+
*
3526+
* Cf. open-jdk11/src/java.base/share/classes/java/net/Inet6AddressImpl.java in
3527+
* Inet6AddressImpl.anyLocalAddress() for what seems to be a corresponding
3528+
* comparison.
3529+
*/
3530+
if ((Target_java_net_InetAddress.preferIPv6AddressJDK9OrLater == Target_java_net_InetAddress.PREFER_IPV6_VALUE) ||
3531+
(Target_java_net_InetAddress.preferIPv6AddressJDK9OrLater == Target_java_net_InetAddress.PREFER_SYSTEM_VALUE)) {
3532+
i = includeLoopback ? addrs6 : (addrs6 - numV6Loopbacks);
3533+
j = 0;
3534+
} else {
3535+
i = 0;
3536+
j = includeLoopback ? addrs4 : (addrs4 - numV4Loopbacks);
3537+
}
35273538
}
35283539
// Now loop around the ifaddrs
35293540
iter = ifa;

0 commit comments

Comments
 (0)