summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrad Fitzpatrick <bradfitz@android.com>2010-10-10 11:15:27 -0700
committerAndroid Code Review <code-review@android.com>2010-10-10 11:15:27 -0700
commit3ed792d59cda9f9023201d80f5bdc62d4cef3090 (patch)
tree408bbda976bb66461fc1723e9b5972179e9705d8
parent38f534882eb9214b4c1a8035990157f941762f85 (diff)
parente6b29898b12a3547c24d23e41438bcefd49b56e9 (diff)
downloadframeworks_base-3ed792d59cda9f9023201d80f5bdc62d4cef3090.zip
frameworks_base-3ed792d59cda9f9023201d80f5bdc62d4cef3090.tar.gz
frameworks_base-3ed792d59cda9f9023201d80f5bdc62d4cef3090.tar.bz2
Merge "Don't perform DNS lookup in android.net.Proxy.isLocalHost"
-rw-r--r--core/java/android/net/Proxy.java14
1 files changed, 6 insertions, 8 deletions
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.os.SystemProperties;
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 public class Proxy {
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)
}