Skip to content

Commit ea1af14

Browse files
authored
NetUtil should be able to handle -Djava.net.preferIPv6Addresses=system without logging an error (#13301)
Motivation: Since java11 its supported to use "system" as a value for -Djava.net.preferIPv6Addresses. Modifications: Just fallback to "false" if -Djava.net.preferIPv6Addresses is not "true" without logging an error Result: Fixes #13300
1 parent 3404746 commit ea1af14

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

common/src/main/java/io/netty/util/NetUtil.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -130,17 +130,23 @@ public final class NetUtil {
130130
/**
131131
* {@code true} if an IPv6 address should be preferred when a host has both an IPv4 address and an IPv6 address.
132132
*/
133-
private static final boolean IPV6_ADDRESSES_PREFERRED =
134-
SystemPropertyUtil.getBoolean("java.net.preferIPv6Addresses", false);
133+
private static final boolean IPV6_ADDRESSES_PREFERRED;
135134

136135
/**
137136
* The logger being used by this class
138137
*/
139138
private static final InternalLogger logger = InternalLoggerFactory.getInstance(NetUtil.class);
140139

141140
static {
141+
String prefer = SystemPropertyUtil.get("java.net.preferIPv6Addresses", "false");
142+
if ("true".equalsIgnoreCase(prefer.trim())) {
143+
IPV6_ADDRESSES_PREFERRED = true;
144+
} else {
145+
// Let's just use false in this case as only true is "forcing" ipv6.
146+
IPV6_ADDRESSES_PREFERRED = false;
147+
}
142148
logger.debug("-Djava.net.preferIPv4Stack: {}", IPV4_PREFERRED);
143-
logger.debug("-Djava.net.preferIPv6Addresses: {}", IPV6_ADDRESSES_PREFERRED);
149+
logger.debug("-Djava.net.preferIPv6Addresses: {}", prefer);
144150

145151
NETWORK_INTERFACES = NetUtilInitializations.networkInterfaces();
146152

0 commit comments

Comments
 (0)