Merge "Push DNS configuration on network validation"

am: b71c6a1b7e

Change-Id: I5907831e5f5f1f3659580cc56e2e081cbe88b1cc
This commit is contained in:
Erik Kline
2018-07-03 03:09:16 -07:00
committed by android-build-merger

View File

@@ -2229,6 +2229,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
updateCapabilities(oldScore, nai, nai.networkCapabilities); updateCapabilities(oldScore, nai, nai.networkCapabilities);
// If score has changed, rebroadcast to NetworkFactories. b/17726566 // If score has changed, rebroadcast to NetworkFactories. b/17726566
if (oldScore != nai.getCurrentScore()) sendUpdatedScoreToFactories(nai); if (oldScore != nai.getCurrentScore()) sendUpdatedScoreToFactories(nai);
if (valid) handleFreshlyValidatedNetwork(nai);
} }
updateInetCondition(nai); updateInetCondition(nai);
// Let the NetworkAgent know the state of its network // Let the NetworkAgent know the state of its network
@@ -2323,6 +2324,16 @@ public class ConnectivityService extends IConnectivityManager.Stub
mDefaultRequest.networkCapabilities, nai.networkCapabilities); mDefaultRequest.networkCapabilities, nai.networkCapabilities);
} }
private void handleFreshlyValidatedNetwork(NetworkAgentInfo nai) {
if (nai == null) return;
// If the Private DNS mode is opportunistic, reprogram the DNS servers
// in order to restart a validation pass from within netd.
final PrivateDnsConfig cfg = mDnsManager.getPrivateDnsConfig();
if (cfg.useTls && TextUtils.isEmpty(cfg.hostname)) {
updateDnses(nai.linkProperties, null, nai.network.netId);
}
}
private void handlePrivateDnsSettingsChanged() { private void handlePrivateDnsSettingsChanged() {
final PrivateDnsConfig cfg = mDnsManager.getPrivateDnsConfig(); final PrivateDnsConfig cfg = mDnsManager.getPrivateDnsConfig();