Merge "Add net.dns system properties"

This commit is contained in:
Robert Greenwalt
2014-05-16 00:06:40 +00:00
committed by Android (Google) Code Review

View File

@@ -5491,10 +5491,29 @@ public class ConnectivityService extends IConnectivityManager.Stub {
} catch (Exception e) {
loge("Exception in setDnsServersForNetwork: " + e);
}
// TODO - setprop "net.dnsX"
NetworkAgentInfo defaultNai = mNetworkForRequestId.get(mDefaultRequest.requestId);
if (defaultNai != null && defaultNai.network.netId == netId) {
setDefaultDnsSystemProperties(dnses);
}
}
}
private void setDefaultDnsSystemProperties(Collection<InetAddress> dnses) {
int last = 0;
for (InetAddress dns : dnses) {
++last;
String key = "net.dns" + last;
String value = dns.getHostAddress();
SystemProperties.set(key, value);
}
for (int i = last + 1; i <= mNumDnsEntries; ++i) {
String key = "net.dns" + i;
SystemProperties.set(key, "");
}
mNumDnsEntries = last;
}
private void updateCapabilities(NetworkAgentInfo networkAgent,
NetworkCapabilities networkCapabilities) {
// TODO - what else here? Verify still satisfies everybody?
@@ -5610,6 +5629,11 @@ public class ConnectivityService extends IConnectivityManager.Stub {
if (mDefaultRequest.requestId == nri.request.requestId) {
isNewDefault = true;
updateActiveDefaultNetwork(newNetwork);
if (newNetwork.linkProperties != null) {
setDefaultDnsSystemProperties(newNetwork.linkProperties.getDnses());
} else {
setDefaultDnsSystemProperties(new ArrayList<InetAddress>());
}
}
}
}