diff --git a/router/java/src/net/i2p/router/transport/TransportUtil.java b/router/java/src/net/i2p/router/transport/TransportUtil.java index a37e2d54299b9e64cd4b75de3dd89af79f2e4ae7..12bd153d47a18b1d0af46a8061fe681c3abab0da 100644 --- a/router/java/src/net/i2p/router/transport/TransportUtil.java +++ b/router/java/src/net/i2p/router/transport/TransportUtil.java @@ -130,6 +130,9 @@ public abstract class TransportUtil { // not recognized as local by InetAddress if ((addr[0] & 0xfe) == 0xfc) return false; + // disallow 2001:0::/32 (Teredo RFC 4380) + if (addr[0] == 0x20 && addr[1] == 0x01 && addr[2] == 0x00 && addr[3] == 0x00) + return false; try { InetAddress ia = InetAddress.getByAddress(addr); return