diff --git a/apps/i2psnark/java/src/org/klomp/snark/standalone/HostCheckHandler.java b/apps/i2psnark/java/src/org/klomp/snark/standalone/HostCheckHandler.java index ebf39ebec..0669355bb 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/standalone/HostCheckHandler.java +++ b/apps/i2psnark/java/src/org/klomp/snark/standalone/HostCheckHandler.java @@ -10,10 +10,9 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.i2p.I2PAppContext; +import net.i2p.util.Addresses; import net.i2p.util.Log; -import org.apache.http.conn.util.InetAddressUtils; - import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.handler.AbstractHandler; @@ -109,7 +108,7 @@ public class HostCheckHandler extends AbstractHandler { if (_listenHosts.contains(host)) return true; // allow all IP addresses - if (InetAddressUtils.isIPv4Address(host) || InetAddressUtils.isIPv6Address(host)) + if (Addresses.isIPAddress(host)) return true; //System.out.println(host + " not found in " + s); return false; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/HostCheckHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/HostCheckHandler.java index 1805f9f7e..dfdc7ce90 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/HostCheckHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/HostCheckHandler.java @@ -10,11 +10,10 @@ import javax.servlet.http.HttpServletResponse; import net.i2p.I2PAppContext; import net.i2p.data.DataHelper; +import net.i2p.util.Addresses; import net.i2p.util.Log; import net.i2p.util.PortMapper; -import org.apache.http.conn.util.InetAddressUtils; - import org.eclipse.jetty.server.Request; import org.eclipse.jetty.server.handler.HandlerWrapper; @@ -128,7 +127,7 @@ public class HostCheckHandler extends HandlerWrapper if (_listenHosts.contains(host)) return true; // allow all IP addresses - if (InetAddressUtils.isIPv4Address(host) || InetAddressUtils.isIPv6Address(host)) + if (Addresses.isIPAddress(host)) return true; //System.out.println(host + " not found in " + s); return false; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java index 899dd6048..0a79299e4 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/RouterConsoleRunner.java @@ -42,8 +42,6 @@ import net.i2p.util.SecureDirectory; import net.i2p.util.I2PSSLSocketFactory; import net.i2p.util.SystemVersion; -import org.apache.http.conn.util.InetAddressUtils; - import org.eclipse.jetty.security.HashLoginService; import org.eclipse.jetty.security.ConstraintMapping; import org.eclipse.jetty.security.ConstraintSecurityHandler; @@ -518,9 +516,9 @@ public class RouterConsoleRunner implements RouterApp { try { // Test before we add the connector, because Jetty 6 won't start if any of the // connectors are bad - if ((!hasIPV6) && InetAddressUtils.isIPv6Address(host)) + if ((!hasIPV6) && Addresses.isIPv6Address(host)) throw new IOException("IPv6 addresses unsupported"); - if ((!hasIPV4) && InetAddressUtils.isIPv4Address(host)) + if ((!hasIPV4) && Addresses.isIPv4Address(host)) throw new IOException("IPv4 addresses unsupported"); ServerSocket testSock = null; try { @@ -608,9 +606,9 @@ public class RouterConsoleRunner implements RouterApp { try { // Test before we add the connector, because Jetty 6 won't start if any of the // connectors are bad - if ((!hasIPV6) && InetAddressUtils.isIPv6Address(host)) + if ((!hasIPV6) && Addresses.isIPv6Address(host)) throw new IOException("IPv6 addresses unsupported"); - if ((!hasIPV4) && InetAddressUtils.isIPv4Address(host)) + if ((!hasIPV4) && Addresses.isIPv4Address(host)) throw new IOException("IPv4 addresses unsupported"); ServerSocket testSock = null; try { diff --git a/core/java/src/net/i2p/crypto/SelfSignedGenerator.java b/core/java/src/net/i2p/crypto/SelfSignedGenerator.java index 721ed216a..95e1d158b 100644 --- a/core/java/src/net/i2p/crypto/SelfSignedGenerator.java +++ b/core/java/src/net/i2p/crypto/SelfSignedGenerator.java @@ -29,8 +29,6 @@ import javax.crypto.spec.DHParameterSpec; import javax.crypto.spec.DHPublicKeySpec; import javax.security.auth.x500.X500Principal; -import org.apache.http.conn.util.InetAddressUtils; - import static net.i2p.crypto.SigUtil.intToASN1; import net.i2p.data.DataHelper; import net.i2p.data.Signature; @@ -578,9 +576,9 @@ public final class SelfSignedGenerator { } for (String n : altNames) { int len; - if (InetAddressUtils.isIPv4Address(n)) + if (Addresses.isIPv4Address(n)) len = 4; - else if (InetAddressUtils.isIPv6Address(n)) + else if (Addresses.isIPv6Address(n)) len = 16; else len = n.length(); @@ -690,8 +688,8 @@ public final class SelfSignedGenerator { idx = intToASN1(rv, idx, wrap41len); for (String n : altNames) { byte[] b; - if (InetAddressUtils.isIPv4Address(n) || - InetAddressUtils.isIPv6Address(n)) { + if (Addresses.isIPv4Address(n) || + Addresses.isIPv6Address(n)) { b = Addresses.getIP(n); if (b == null) // shouldn't happen throw new IllegalArgumentException("fail " + n); diff --git a/core/java/src/net/i2p/socks/SOCKS4Client.java b/core/java/src/net/i2p/socks/SOCKS4Client.java index f3caf8727..8ab1c317d 100644 --- a/core/java/src/net/i2p/socks/SOCKS4Client.java +++ b/core/java/src/net/i2p/socks/SOCKS4Client.java @@ -14,9 +14,8 @@ import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket; -import org.apache.http.conn.util.InetAddressUtils; - import static net.i2p.socks.SOCKS4Constants.*; +import net.i2p.util.Addresses; /** * A simple SOCKS 4/4a client. @@ -73,10 +72,10 @@ public class SOCKS4Client { out.writeByte(Command.CONNECT); out.writeShort(connPort); boolean isIPv4; - if (InetAddressUtils.isIPv4Address(connHostName)) { + if (Addresses.isIPv4Address(connHostName)) { isIPv4 = true; out.write(InetAddress.getByName(connHostName).getAddress()); - } else if (InetAddressUtils.isIPv6Address(connHostName)) { + } else if (Addresses.isIPv6Address(connHostName)) { throw new SOCKSException("IPv6 not supported in SOCKS 4"); } else { isIPv4 = false; diff --git a/core/java/src/net/i2p/socks/SOCKS5Client.java b/core/java/src/net/i2p/socks/SOCKS5Client.java index 594afd29f..abbaf3f55 100644 --- a/core/java/src/net/i2p/socks/SOCKS5Client.java +++ b/core/java/src/net/i2p/socks/SOCKS5Client.java @@ -14,9 +14,8 @@ import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket; -import org.apache.http.conn.util.InetAddressUtils; - import static net.i2p.socks.SOCKS5Constants.*; +import net.i2p.util.Addresses; /** * A simple SOCKS 5 client. @@ -152,9 +151,9 @@ public class SOCKS5Client { } int addressType; - if (InetAddressUtils.isIPv4Address(connHostName)) + if (Addresses.isIPv4Address(connHostName)) addressType = AddressType.IPV4; - else if (InetAddressUtils.isIPv6Address(connHostName)) + else if (Addresses.isIPv6Address(connHostName)) addressType = AddressType.IPV6; else addressType = AddressType.DOMAINNAME; diff --git a/core/java/src/net/i2p/util/Addresses.java b/core/java/src/net/i2p/util/Addresses.java index 877e930ee..3a470b12a 100644 --- a/core/java/src/net/i2p/util/Addresses.java +++ b/core/java/src/net/i2p/util/Addresses.java @@ -343,8 +343,7 @@ public abstract class Addresses { //I2PAppContext.getGlobalContext().logManager().getLog(Addresses.class).error("lookup of " + host, new Exception("I did it")); try { rv = InetAddress.getByName(host).getAddress(); - if (InetAddressUtils.isIPv4Address(host) || - InetAddressUtils.isIPv6Address(host)) { + if (isIPAddress(host)) { synchronized (_IPAddress) { _IPAddress.put(host, rv); } @@ -379,8 +378,7 @@ public abstract class Addresses { rv = _IPAddress.get(host); } if (rv == null) { - if (InetAddressUtils.isIPv4Address(host) || - InetAddressUtils.isIPv6Address(host)) { + if (isIPAddress(host)) { try { rv = InetAddress.getByName(host).getAddress(); synchronized (_IPAddress) { @@ -407,7 +405,7 @@ public abstract class Addresses { public static byte[] getIP(String host, boolean preferIPv6) { if (host == null) return null; - if (InetAddressUtils.isIPv4Address(host) || InetAddressUtils.isIPv6Address(host)) + if (isIPAddress(host)) return getIP(host); synchronized(_negativeCache) { Long when = _negativeCache.get(host); @@ -460,7 +458,7 @@ public abstract class Addresses { public static List getIPs(String host) { if (host == null) return null; - if (InetAddressUtils.isIPv4Address(host) || InetAddressUtils.isIPv6Address(host)) { + if (isIPAddress(host)) { byte[] brv = getIP(host); if (brv == null) return null; @@ -491,6 +489,31 @@ public abstract class Addresses { return null; } + /** + * @since 0.9.34 + */ + public static boolean isIPv4Address(String host) { + return InetAddressUtils.isIPv4Address(host); + } + + /** + * @since 0.9.34 + */ + public static boolean isIPv6Address(String host) { + return InetAddressUtils.isIPv6Address(host); + } + + /** + * @return true if either IPv4 or IPv6 + * @since 0.9.34 + */ + public static boolean isIPAddress(String host) { + return InetAddressUtils.isIPv4Address(host) || InetAddressUtils.isIPv6Address(host); + } + + + + //////// IPv6 Cache Utils /////// /** diff --git a/router/java/src/net/i2p/data/router/RouterAddress.java b/router/java/src/net/i2p/data/router/RouterAddress.java index 3542aeab3..7d868a089 100644 --- a/router/java/src/net/i2p/data/router/RouterAddress.java +++ b/router/java/src/net/i2p/data/router/RouterAddress.java @@ -17,8 +17,6 @@ import java.util.Date; import java.util.Map; import java.util.Properties; -import org.apache.http.conn.util.InetAddressUtils; - import net.i2p.data.DataFormatException; import net.i2p.data.DataHelper; import net.i2p.data.DataStructureImpl; diff --git a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java index 67c2f7c5f..edc3ba0fd 100644 --- a/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java +++ b/router/java/src/net/i2p/router/transport/ntcp/NTCPTransport.java @@ -24,8 +24,6 @@ import java.util.TreeSet; import java.util.Vector; import java.util.concurrent.ConcurrentHashMap; -import org.apache.http.conn.util.InetAddressUtils; - import net.i2p.crypto.SigType; import net.i2p.data.DataHelper; import net.i2p.data.Hash; @@ -1002,12 +1000,12 @@ public class NTCPTransport extends TransportImpl { String h = hosts[i]; if (h.length() <= 0) continue; - if (InetAddressUtils.isIPv4Address(h)) { + if (Addresses.isIPv4Address(h)) { if (v4) continue; v4 = true; ipstrings.add(h); - } else if (InetAddressUtils.isIPv6Address(h)) { + } else if (Addresses.isIPv6Address(h)) { if (v6) continue; v6 = true; diff --git a/router/java/src/net/i2p/router/transport/udp/UDPAddress.java b/router/java/src/net/i2p/router/transport/udp/UDPAddress.java index b4eaa15fe..90be08281 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPAddress.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPAddress.java @@ -4,12 +4,11 @@ import java.net.InetAddress; import java.net.UnknownHostException; import java.util.Map; -import org.apache.http.conn.util.InetAddressUtils; - import net.i2p.data.Base64; import net.i2p.data.router.RouterAddress; import net.i2p.data.SessionKey; import net.i2p.router.transport.TransportUtil; +import net.i2p.util.Addresses; import net.i2p.util.LHMCache; import net.i2p.util.SystemVersion; @@ -339,8 +338,7 @@ class UDPAddress { rv = _inetAddressCache.get(host); } if (rv == null) { - if (InetAddressUtils.isIPv4Address(host) || - InetAddressUtils.isIPv6Address(host)) { + if (Addresses.isIPAddress(host)) { try { rv = InetAddress.getByName(host); synchronized (_inetAddressCache) { diff --git a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java index 29bcf99d8..6837b8ee0 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java @@ -20,8 +20,6 @@ import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.CopyOnWriteArrayList; -import org.apache.http.conn.util.InetAddressUtils; - import net.i2p.crypto.SigType; import net.i2p.data.DatabaseEntry; import net.i2p.data.DataHelper; @@ -2084,11 +2082,11 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority String h = hosts[i]; if (h.length() <= 0) continue; - if (InetAddressUtils.isIPv4Address(h)) { + if (Addresses.isIPv4Address(h)) { if (v4) continue; v4 = true; - } else if (InetAddressUtils.isIPv6Address(h)) { + } else if (Addresses.isIPv6Address(h)) { if (v6) continue; v6 = true;