diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java index 7f13242d3dab6f000ec75610012ef5abf52a8358..c008449b112ed0355435f938bac9459cd248def6 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java @@ -2,6 +2,7 @@ package net.i2p.router.web; import java.util.Collections; import java.util.HashSet; +import java.util.Iterator; import java.util.Set; import net.i2p.data.DataHelper; @@ -185,6 +186,12 @@ public class ConfigNetHelper extends HelperBase { /** @since IPv6 */ public String getAddressSelector() { Set<String> addrs = getAddresses(); + // isPubliclyRoutable() rejects some IPv6 addresses that getAddresses() allows + for (Iterator<String> iter = addrs.iterator(); iter.hasNext(); ) { + byte[] ip = Addresses.getIP(iter.next()); + if (ip == null || !TransportUtil.isPubliclyRoutable(ip, true)) + iter.remove(); + } Set<String> configs; String cs = getUdphostname(); if (cs.length() <= 0) {