diff --git a/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPlugin.java b/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPlugin.java index c8c396eb505022ea761ff93d41447be045758cab..ec24848063b8d22c4b6fb11800195e1e86c51c2a 100644 --- a/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPlugin.java +++ b/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPlugin.java @@ -5,6 +5,7 @@ import static java.util.logging.Level.WARNING; import java.io.IOException; import java.net.DatagramPacket; +import java.net.Inet6Address; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.MulticastSocket; @@ -91,6 +92,7 @@ class LanTcpPlugin extends TcpPlugin { for(NetworkInterface iface : ifaces) { for(InetAddress a : Collections.list(iface.getInetAddresses())) { if(addr != null && a.equals(addr)) continue; + if(a instanceof Inet6Address) continue; if(a.isLoopbackAddress()) continue; boolean link = a.isLinkLocalAddress(); boolean site = a.isSiteLocalAddress(); @@ -101,6 +103,7 @@ class LanTcpPlugin extends TcpPlugin { for(NetworkInterface iface : ifaces) { for(InetAddress a : Collections.list(iface.getInetAddresses())) { if(addr != null && a.equals(addr)) continue; + if(a instanceof Inet6Address) continue; if(a.isLoopbackAddress()) continue; boolean link = a.isLinkLocalAddress(); boolean site = a.isSiteLocalAddress(); diff --git a/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPlugin.java b/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPlugin.java index 8f4bbb7903d79ab7d87b064b1a3c01712a24a23a..008e118555d787fc0dfe5047fdae42737a7e5166 100644 --- a/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPlugin.java +++ b/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPlugin.java @@ -2,6 +2,7 @@ package net.sf.briar.plugins.tcp; import static java.util.logging.Level.WARNING; +import java.net.Inet6Address; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.NetworkInterface; @@ -84,6 +85,7 @@ class WanTcpPlugin extends TcpPlugin { for(NetworkInterface iface : ifaces) { for(InetAddress a : Collections.list(iface.getInetAddresses())) { if(addr != null && a.equals(addr)) continue; + if(a instanceof Inet6Address) continue; if(a.isLoopbackAddress()) continue; boolean link = a.isLinkLocalAddress(); boolean site = a.isSiteLocalAddress(); @@ -93,8 +95,10 @@ class WanTcpPlugin extends TcpPlugin { // Accept interfaces with local addresses that can be port-mapped if(port == 0) port = chooseEphemeralPort(); mappingResult = portMapper.map(port); - if(mappingResult != null && mappingResult.isUsable()) - addrs.add(mappingResult.getInternal()); + if(mappingResult != null && mappingResult.isUsable()) { + InetSocketAddress a = mappingResult.getInternal(); + if(!(a.getAddress() instanceof Inet6Address)) addrs.add(a); + } return addrs; }