summaryrefslogtreecommitdiffstats
path: root/services
diff options
context:
space:
mode:
authorLorenzo Colitti <lorenzo@google.com>2011-09-28 22:31:45 -0700
committerLorenzo Colitti <lorenzo@google.com>2011-09-28 23:07:03 -0700
commitc1358b240c28443496249a5483afaccfc93f8d97 (patch)
tree08e428be19cead8c20677f8cdcd1f7f2fc5dcaf8 /services
parent8f847653859d9f4c0e0d54f390673b7dccf0b5eb (diff)
downloadframeworks_base-c1358b240c28443496249a5483afaccfc93f8d97.zip
frameworks_base-c1358b240c28443496249a5483afaccfc93f8d97.tar.gz
frameworks_base-c1358b240c28443496249a5483afaccfc93f8d97.tar.bz2
Revert "Tell the resolver what protocols to use."
Change Ife82a8d8 broke IPv6 on wifi. Change I4e3a69ea is an alternate approach that does not require any framework changes. Bug: 5284168 Change-Id: Ib6e002aa23700adc71051cf6b76860545497dbf4
Diffstat (limited to 'services')
-rw-r--r--services/java/com/android/server/ConnectivityService.java51
1 files changed, 6 insertions, 45 deletions
diff --git a/services/java/com/android/server/ConnectivityService.java b/services/java/com/android/server/ConnectivityService.java
index 991b7da..8112b1d 100644
--- a/services/java/com/android/server/ConnectivityService.java
+++ b/services/java/com/android/server/ConnectivityService.java
@@ -1975,8 +1975,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
Integer pid = (Integer)pids.get(j);
if (pid.intValue() == myPid) {
Collection<InetAddress> dnses = p.getDnses();
- String proto = determineProto(p);
- writePidDns(dnses, myPid, proto);
+ writePidDns(dnses, myPid);
if (doBump) {
bumpDns();
}
@@ -1986,9 +1985,6 @@ public class ConnectivityService extends IConnectivityManager.Stub {
}
}
// nothing found - delete
- if (SystemProperties.get("net.dnsproto." + myPid).length() != 0) {
- SystemProperties.set("net.dnsproto." + myPid, "");
- }
for (int i = 1; ; i++) {
String prop = "net.dns" + i + "." + myPid;
if (SystemProperties.get(prop).length() == 0) {
@@ -2002,7 +1998,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
}
// return true if results in a change
- private boolean writePidDns(Collection <InetAddress> dnses, int pid, String proto) {
+ private boolean writePidDns(Collection <InetAddress> dnses, int pid) {
int j = 1;
boolean changed = false;
for (InetAddress dns : dnses) {
@@ -2012,11 +2008,6 @@ public class ConnectivityService extends IConnectivityManager.Stub {
SystemProperties.set("net.dns" + j++ + "." + pid, dns.getHostAddress());
}
}
- if (dnses.size() > 0 && (changed || !proto.equals(SystemProperties.get("net.dnsproto." +
- pid)))) {
- changed = true;
- SystemProperties.set("net.dnsproto." + pid, proto);
- }
return changed;
}
@@ -2047,7 +2038,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
// Caller must grab mDnsLock.
private boolean updateDns(String network, String iface,
- Collection<InetAddress> dnses, String domains, String proto) {
+ Collection<InetAddress> dnses, String domains) {
boolean changed = false;
int last = 0;
if (dnses.size() == 0 && mDefaultDns != null) {
@@ -2083,11 +2074,6 @@ public class ConnectivityService extends IConnectivityManager.Stub {
}
mNumDnsEntries = last;
- if (changed || !proto.equals(SystemProperties.get("net.dnsproto"))) {
- changed = true;
- SystemProperties.set("net.dnsproto", proto);
- }
-
if (changed) {
try {
mNetd.setDnsServersForInterface(iface, NetworkUtils.makeStrings(dnses));
@@ -2111,14 +2097,11 @@ public class ConnectivityService extends IConnectivityManager.Stub {
if (p == null) return;
Collection<InetAddress> dnses = p.getDnses();
boolean changed = false;
- String proto = determineProto(p);
-
if (mNetConfigs[netType].isDefault()) {
String network = nt.getNetworkInfo().getTypeName();
synchronized (mDnsLock) {
if (!mDnsOverridden) {
- changed = updateDns(network, p.getInterfaceName(), dnses, "",
- proto);
+ changed = updateDns(network, p.getInterfaceName(), dnses, "");
}
}
} else {
@@ -2132,35 +2115,13 @@ public class ConnectivityService extends IConnectivityManager.Stub {
List pids = mNetRequestersPids[netType];
for (int y=0; y< pids.size(); y++) {
Integer pid = (Integer)pids.get(y);
- changed = writePidDns(dnses, pid.intValue(), proto);
+ changed = writePidDns(dnses, pid.intValue());
}
}
if (changed) bumpDns();
}
}
- private String determineProto(LinkProperties p) {
- boolean v4 = false;
- boolean v6 = false;
- for (RouteInfo r : p.getRoutes()) {
- if (r.getDestination().getAddress() instanceof Inet6Address) {
- v6 = true;
- } else {
- v4 = true;
- }
- }
- // secondary connections often don't have routes and we infer routes
- // to the dns servers. Look at the dns addrs too
- for (InetAddress i : p.getDnses()) {
- if (i instanceof Inet6Address) {
- v6 = true;
- } else {
- v4 = true;
- }
- }
- return (v4 ? "v4" : "") + (v6 ? "v6" : "");
- }
-
private int getRestoreDefaultNetworkDelay(int networkType) {
String restoreDefaultNetworkDelayStr = SystemProperties.get(
NETWORK_RESTORE_DELAY_PROP_NAME);
@@ -2882,7 +2843,7 @@ public class ConnectivityService extends IConnectivityManager.Stub {
// Apply DNS changes.
boolean changed = false;
synchronized (mDnsLock) {
- changed = updateDns("VPN", "VPN", addresses, domains, "v4");
+ changed = updateDns("VPN", "VPN", addresses, domains);
mDnsOverridden = true;
}
if (changed) {