diff options
| author | 2018-07-03 09:03:35 +0000 | |
|---|---|---|
| committer | 2018-07-03 09:03:35 +0000 | |
| commit | ef941e192a16d57cf58dc42f4befb50d87f62042 (patch) | |
| tree | 5434854be10bb3ce8ef496b559d99667ef95ebf0 | |
| parent | 38f75762977b3fb5d6965c90e9d4a57e72654c1c (diff) | |
| parent | c6d00228cd94f9f5f5cdf7c89ba8e8e887df6213 (diff) | |
Merge "Push DNS configuration on network validation"
| -rw-r--r-- | services/core/java/com/android/server/ConnectivityService.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index 0b24db00368f..28ac78493793 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -2191,6 +2191,7 @@ public class ConnectivityService extends IConnectivityManager.Stub updateCapabilities(oldScore, nai, nai.networkCapabilities); // If score has changed, rebroadcast to NetworkFactories. b/17726566 if (oldScore != nai.getCurrentScore()) sendUpdatedScoreToFactories(nai); + if (valid) handleFreshlyValidatedNetwork(nai); } updateInetCondition(nai); // Let the NetworkAgent know the state of its network @@ -2285,6 +2286,16 @@ public class ConnectivityService extends IConnectivityManager.Stub 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() { final PrivateDnsConfig cfg = mDnsManager.getPrivateDnsConfig(); |