Util: Speed up IP address validation by using Apache's implementation (ticket #1198)

This commit is contained in:
zzz
2015-09-27 21:54:14 +00:00
parent f46a902256
commit 59b05d4214
5 changed files with 18 additions and 15 deletions

View File

@ -15,6 +15,8 @@ import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
import org.apache.http.conn.util.InetAddressUtils;
import net.i2p.I2PAppContext;
/**
@ -260,12 +262,9 @@ public abstract class Addresses {
}
if (rv == null) {
try {
boolean isIPv4 = host.replaceAll("[0-9\\.]", "").length() == 0;
if (isIPv4 && host.replaceAll("[0-9]", "").length() != 3)
return null;
rv = InetAddress.getByName(host).getAddress();
if (isIPv4 ||
host.replaceAll("[0-9a-fA-F:]", "").length() == 0) {
if (InetAddressUtils.isIPv4Address(host) ||
InetAddressUtils.isIPv6Address(host)) {
synchronized (_IPAddress) {
_IPAddress.put(host, rv);
}