Merge "Don't perform DNS lookup in android.net.Proxy.isLocalHost"
diff --git a/core/java/android/net/Proxy.java b/core/java/android/net/Proxy.java
index 22c30a5..c1fa5b4 100644
--- a/core/java/android/net/Proxy.java
+++ b/core/java/android/net/Proxy.java
@@ -24,9 +24,7 @@
import android.provider.Settings;
import android.util.Log;
-import java.net.InetAddress;
import java.net.URI;
-import java.net.UnknownHostException;
import junit.framework.Assert;
@@ -162,15 +160,15 @@
final URI uri = URI.create(url);
final String host = uri.getHost();
if (host != null) {
- if (host.equalsIgnoreCase("localhost")) {
- return true;
- }
- if (InetAddress.getByName(host).isLoopbackAddress()) {
+ // TODO: InetAddress.isLoopbackAddress should be used to check
+ // for localhost. However no public factory methods exist which
+ // can be used without triggering DNS lookup if host is not localhost.
+ if (host.equalsIgnoreCase("localhost") ||
+ host.equals("127.0.0.1") ||
+ host.equals("[::1]")) {
return true;
}
}
- } catch (UnknownHostException uex) {
- // Ignore (INetworkSystem.ipStringToByteArray)
} catch (IllegalArgumentException iex) {
// Ignore (URI.create)
}