diff options
author | Lorenzo Colitti <lorenzo@google.com> | 2011-09-28 22:31:45 -0700 |
---|---|---|
committer | Lorenzo Colitti <lorenzo@google.com> | 2011-09-28 23:07:03 -0700 |
commit | c1358b240c28443496249a5483afaccfc93f8d97 (patch) | |
tree | 08e428be19cead8c20677f8cdcd1f7f2fc5dcaf8 /services | |
parent | 8f847653859d9f4c0e0d54f390673b7dccf0b5eb (diff) | |
download | frameworks_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.java | 51 |
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) { |