am 3ed792d5: Merge "Don\'t perform DNS lookup in android.net.Proxy.isLocalHost"

Merge commit '3ed792d59cda9f9023201d80f5bdc62d4cef3090' into gingerbread-plus-aosp

* commit '3ed792d59cda9f9023201d80f5bdc62d4cef3090':
  Don't perform DNS lookup in android.net.Proxy.isLocalHost
This commit is contained in:
Brad Fitzpatrick
2010-10-10 11:49:43 -07:00
committed by Android Git Automerger

View File

@ -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)
}