Merge "Stop setting net.dns{1234} system properties."
am: 269d35f870
Change-Id: I9b31b281896995943ce8217c3230867db380a841
This commit is contained in:
@@ -1813,14 +1813,11 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
private void updateMtu(LinkProperties newLp, LinkProperties oldLp) {
|
private void updateMtu(LinkProperties newLp, LinkProperties oldLp) {
|
||||||
final String iface = newLp.getInterfaceName();
|
final String iface = newLp.getInterfaceName();
|
||||||
final int mtu = newLp.getMtu();
|
final int mtu = newLp.getMtu();
|
||||||
if (oldLp == null && mtu == 0) {
|
|
||||||
// Silently ignore unset MTU value.
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
if (oldLp != null && newLp.isIdenticalMtu(oldLp)) {
|
if (oldLp != null && newLp.isIdenticalMtu(oldLp)) {
|
||||||
if (VDBG) log("identical MTU - not setting");
|
if (VDBG) log("identical MTU - not setting");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (LinkProperties.isValidMtu(mtu, newLp.hasGlobalIPv6Address()) == false) {
|
if (LinkProperties.isValidMtu(mtu, newLp.hasGlobalIPv6Address()) == false) {
|
||||||
if (mtu != 0) loge("Unexpected mtu value: " + mtu + ", " + iface);
|
if (mtu != 0) loge("Unexpected mtu value: " + mtu + ", " + iface);
|
||||||
return;
|
return;
|
||||||
@@ -2266,19 +2263,11 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
synchronized (mNetworkForNetId) {
|
synchronized (mNetworkForNetId) {
|
||||||
nai = mNetworkForNetId.get(netId);
|
nai = mNetworkForNetId.get(netId);
|
||||||
}
|
}
|
||||||
// If captive portal status has changed, update capabilities or disconnect.
|
// If captive portal status has changed, update capabilities.
|
||||||
if (nai != null && (visible != nai.lastCaptivePortalDetected)) {
|
if (nai != null && (visible != nai.lastCaptivePortalDetected)) {
|
||||||
final int oldScore = nai.getCurrentScore();
|
final int oldScore = nai.getCurrentScore();
|
||||||
nai.lastCaptivePortalDetected = visible;
|
nai.lastCaptivePortalDetected = visible;
|
||||||
nai.everCaptivePortalDetected |= visible;
|
nai.everCaptivePortalDetected |= visible;
|
||||||
if (nai.lastCaptivePortalDetected &&
|
|
||||||
Settings.Global.CAPTIVE_PORTAL_MODE_AVOID == getCaptivePortalMode()) {
|
|
||||||
if (DBG) log("Avoiding captive portal network: " + nai.name());
|
|
||||||
nai.asyncChannel.sendMessage(
|
|
||||||
NetworkAgent.CMD_PREVENT_AUTOMATIC_RECONNECT);
|
|
||||||
teardownUnneededNetwork(nai);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
updateCapabilities(oldScore, nai, nai.networkCapabilities);
|
updateCapabilities(oldScore, nai, nai.networkCapabilities);
|
||||||
}
|
}
|
||||||
if (!visible) {
|
if (!visible) {
|
||||||
@@ -2299,12 +2288,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private int getCaptivePortalMode() {
|
|
||||||
return Settings.Global.getInt(mContext.getContentResolver(),
|
|
||||||
Settings.Global.CAPTIVE_PORTAL_MODE,
|
|
||||||
Settings.Global.CAPTIVE_PORTAL_MODE_PROMPT);
|
|
||||||
}
|
|
||||||
|
|
||||||
private boolean maybeHandleNetworkAgentInfoMessage(Message msg) {
|
private boolean maybeHandleNetworkAgentInfoMessage(Message msg) {
|
||||||
switch (msg.what) {
|
switch (msg.what) {
|
||||||
default:
|
default:
|
||||||
@@ -2614,28 +2597,14 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
"request NetworkCapabilities", ConnectivityManager.CALLBACK_CAP_CHANGED);
|
"request NetworkCapabilities", ConnectivityManager.CALLBACK_CAP_CHANGED);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void handleTimedOutNetworkRequest(final NetworkRequestInfo nri) {
|
|
||||||
if (mNetworkRequests.get(nri.request) != null && mNetworkForRequestId.get(
|
|
||||||
nri.request.requestId) == null) {
|
|
||||||
handleRemoveNetworkRequest(nri, ConnectivityManager.CALLBACK_UNAVAIL);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void handleReleaseNetworkRequest(NetworkRequest request, int callingUid) {
|
private void handleReleaseNetworkRequest(NetworkRequest request, int callingUid) {
|
||||||
final NetworkRequestInfo nri = getNriForAppRequest(
|
final NetworkRequestInfo nri = getNriForAppRequest(
|
||||||
request, callingUid, "release NetworkRequest");
|
request, callingUid, "release NetworkRequest");
|
||||||
if (nri != null) {
|
if (nri == null) return;
|
||||||
handleRemoveNetworkRequest(nri, ConnectivityManager.CALLBACK_RELEASED);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void handleRemoveNetworkRequest(final NetworkRequestInfo nri, final int whichCallback) {
|
if (VDBG || (DBG && nri.request.isRequest())) log("releasing " + request);
|
||||||
final String logCallbackType = ConnectivityManager.getCallbackName(whichCallback);
|
|
||||||
if (VDBG || (DBG && nri.request.isRequest())) {
|
|
||||||
log("releasing " + nri.request + " (" + logCallbackType + ")");
|
|
||||||
}
|
|
||||||
nri.unlinkDeathRecipient();
|
nri.unlinkDeathRecipient();
|
||||||
mNetworkRequests.remove(nri.request);
|
mNetworkRequests.remove(request);
|
||||||
synchronized (mUidToNetworkRequestCount) {
|
synchronized (mUidToNetworkRequestCount) {
|
||||||
int requests = mUidToNetworkRequestCount.get(nri.mUid, 0);
|
int requests = mUidToNetworkRequestCount.get(nri.mUid, 0);
|
||||||
if (requests < 1) {
|
if (requests < 1) {
|
||||||
@@ -2729,7 +2698,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
callCallbackForRequest(nri, null, whichCallback, 0);
|
callCallbackForRequest(nri, null, ConnectivityManager.CALLBACK_RELEASED, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -2966,11 +2935,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
handleRegisterNetworkRequestWithIntent(msg);
|
handleRegisterNetworkRequestWithIntent(msg);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case EVENT_TIMEOUT_NETWORK_REQUEST: {
|
|
||||||
NetworkRequestInfo nri = (NetworkRequestInfo) msg.obj;
|
|
||||||
handleTimedOutNetworkRequest(nri);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
case EVENT_RELEASE_NETWORK_REQUEST_WITH_INTENT: {
|
case EVENT_RELEASE_NETWORK_REQUEST_WITH_INTENT: {
|
||||||
handleReleaseNetworkRequestWithIntent((PendingIntent) msg.obj, msg.arg1);
|
handleReleaseNetworkRequestWithIntent((PendingIntent) msg.obj, msg.arg1);
|
||||||
break;
|
break;
|
||||||
@@ -4615,28 +4579,9 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
loge("Exception in setDnsConfigurationForNetwork: " + e);
|
loge("Exception in setDnsConfigurationForNetwork: " + e);
|
||||||
}
|
}
|
||||||
final NetworkAgentInfo defaultNai = getDefaultNetwork();
|
|
||||||
if (defaultNai != null && defaultNai.network.netId == netId) {
|
|
||||||
setDefaultDnsSystemProperties(dnses);
|
|
||||||
}
|
|
||||||
flushVmDnsCache();
|
flushVmDnsCache();
|
||||||
}
|
}
|
||||||
|
|
||||||
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 String getNetworkPermission(NetworkCapabilities nc) {
|
private String getNetworkPermission(NetworkCapabilities nc) {
|
||||||
// TODO: make these permission strings AIDL constants instead.
|
// TODO: make these permission strings AIDL constants instead.
|
||||||
if (!nc.hasCapability(NET_CAPABILITY_NOT_RESTRICTED)) {
|
if (!nc.hasCapability(NET_CAPABILITY_NOT_RESTRICTED)) {
|
||||||
@@ -4853,7 +4798,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
notifyLockdownVpn(newNetwork);
|
notifyLockdownVpn(newNetwork);
|
||||||
handleApplyDefaultProxy(newNetwork.linkProperties.getHttpProxy());
|
handleApplyDefaultProxy(newNetwork.linkProperties.getHttpProxy());
|
||||||
updateTcpBufferSizes(newNetwork);
|
updateTcpBufferSizes(newNetwork);
|
||||||
setDefaultDnsSystemProperties(newNetwork.linkProperties.getDnsServers());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processListenRequests(NetworkAgentInfo nai, boolean capabilitiesChanged) {
|
private void processListenRequests(NetworkAgentInfo nai, boolean capabilitiesChanged) {
|
||||||
@@ -5351,7 +5295,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
// notify only this one new request of the current state
|
// notify only this one new request of the current state
|
||||||
protected void notifyNetworkCallback(NetworkAgentInfo nai, NetworkRequestInfo nri) {
|
protected void notifyNetworkCallback(NetworkAgentInfo nai, NetworkRequestInfo nri) {
|
||||||
int notifyType = ConnectivityManager.CALLBACK_AVAILABLE;
|
int notifyType = ConnectivityManager.CALLBACK_AVAILABLE;
|
||||||
mHandler.removeMessages(EVENT_TIMEOUT_NETWORK_REQUEST, nri);
|
|
||||||
if (nri.mPendingIntent == null) {
|
if (nri.mPendingIntent == null) {
|
||||||
callCallbackForRequest(nri, nai, notifyType, 0);
|
callCallbackForRequest(nri, nai, notifyType, 0);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user