From c560b654cbe8f7741378bd2d5fee2fc431a705b7 Mon Sep 17 00:00:00 2001 From: Erik Kline Date: Thu, 19 Apr 2018 17:58:15 +0900 Subject: [PATCH] Actually resolve all IPs for Private DNS hostname Previously, we reused the OneAddressPerFamilyNetwork which does what it says on the tin. For the resolution that will be used to program netd this is not what we really want. Test: as follows - built - flashed - booted - runtest frameworks-net passes - manual testing of Private DNS passes Bug: 64133961 Merged-In: I1e5de255c4ee11f46dc8a1e3f5eaca2f2be1c792 Merged-In: Ia52675649a17f25f1baff9393f8a50b586893a56 Change-Id: Ieccc4d208b314b81061dc78d83848f97acefe04b (cherry picked from commit 71d90c43016909308b44ec4fcbeb824f1c82db9f) --- .../com/android/server/connectivity/NetworkMonitor.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/connectivity/NetworkMonitor.java b/services/core/java/com/android/server/connectivity/NetworkMonitor.java index 284538342a72e..c81624a87b4e7 100644 --- a/services/core/java/com/android/server/connectivity/NetworkMonitor.java +++ b/services/core/java/com/android/server/connectivity/NetworkMonitor.java @@ -822,9 +822,9 @@ public class NetworkMonitor extends StateMachine { private void resolveStrictModeHostname() { try { // Do a blocking DNS resolution using the network-assigned nameservers. - mPrivateDnsConfig = new PrivateDnsConfig( - mPrivateDnsProviderHostname, - mNetwork.getAllByName(mPrivateDnsProviderHostname)); + final InetAddress[] ips = ResolvUtil.blockingResolveAllLocally( + mNetwork, mPrivateDnsProviderHostname); + mPrivateDnsConfig = new PrivateDnsConfig(mPrivateDnsProviderHostname, ips); } catch (UnknownHostException uhe) { mPrivateDnsConfig = null; }