diff options
| author | 2020-03-30 17:58:23 +0000 | |
|---|---|---|
| committer | 2020-03-30 17:58:23 +0000 | |
| commit | a31929ff85b87c4f29b7dc224bd44af0e1454aba (patch) | |
| tree | 2efb322801222cfb5ce2bc4b1f413dc47658594d | |
| parent | 35f668b1e96ee4659f80f38df0fe58429e6d2d19 (diff) | |
| parent | bd2763d977a4cad6f797f5378fc6db96e842dcf2 (diff) | |
Merge "Add negotiated DNS servers to VPN config"
| -rw-r--r-- | services/core/java/com/android/server/connectivity/Vpn.java | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java index e80b39f8ce34..120e744a9740 100644 --- a/services/core/java/com/android/server/connectivity/Vpn.java +++ b/services/core/java/com/android/server/connectivity/Vpn.java @@ -2248,12 +2248,16 @@ public class Vpn { final String interfaceName = mTunnelIface.getInterfaceName(); final int maxMtu = mProfile.getMaxMtu(); final List<LinkAddress> internalAddresses = childConfig.getInternalAddresses(); + final List<String> dnsAddrStrings = new ArrayList<>(); final Collection<RouteInfo> newRoutes = VpnIkev2Utils.getRoutesFromTrafficSelectors( childConfig.getOutboundTrafficSelectors()); for (final LinkAddress address : internalAddresses) { mTunnelIface.addAddress(address.getAddress(), address.getPrefixLength()); } + for (InetAddress addr : childConfig.getInternalDnsServers()) { + dnsAddrStrings.add(addr.getHostAddress()); + } final NetworkAgent networkAgent; final LinkProperties lp; @@ -2269,7 +2273,9 @@ public class Vpn { mConfig.routes.clear(); mConfig.routes.addAll(newRoutes); - // TODO: Add DNS servers from negotiation + if (mConfig.dnsServers == null) mConfig.dnsServers = new ArrayList<>(); + mConfig.dnsServers.clear(); + mConfig.dnsServers.addAll(dnsAddrStrings); networkAgent = mNetworkAgent; |