diff options
author | Xiao Ma <xiaom@google.com> | 2019-04-11 12:50:04 -0700 |
---|---|---|
committer | Xiao Ma <xiaom@google.com> | 2019-04-12 02:32:08 +0000 |
commit | cf8dab451df35f2e15cbbd561ca86afab0f852f2 (patch) | |
tree | bf7316984ee468f4a81b1c3d81c435e83073da10 /src/android/net/dhcp/DhcpClient.java | |
parent | 53817ca825184966e4e84ead4b64e677c39d18a4 (diff) |
provide a resource overlay to configure customized DNS Server.
Bug: 122621524
Test: atest FrameworksNetTests NetworkStackTests
Merged-In: I123b3d4516cc6ba6d17629eb74daf448ba7121eb
Merged-In: Iba867a3b7bda1f5db9dfa1b7521d4a4badbf88e0
(cherry picked from commit ac7eb77b90d830179358242fd6e594cc28c0cc31)
Change-Id: Iab8b57ae1bc81c12ce07f849c7820977a9061d55
Diffstat (limited to 'src/android/net/dhcp/DhcpClient.java')
-rw-r--r-- | src/android/net/dhcp/DhcpClient.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/android/net/dhcp/DhcpClient.java b/src/android/net/dhcp/DhcpClient.java index 64adc0d..be44519 100644 --- a/src/android/net/dhcp/DhcpClient.java +++ b/src/android/net/dhcp/DhcpClient.java @@ -45,6 +45,7 @@ import static com.android.server.util.NetworkStackConstants.IPV4_ADDR_ANY; import android.content.Context; import android.net.DhcpResults; +import android.net.InetAddresses; import android.net.TrafficStats; import android.net.ip.IpClient; import android.net.metrics.DhcpClientEvent; @@ -66,6 +67,7 @@ import com.android.internal.util.MessageUtils; import com.android.internal.util.State; import com.android.internal.util.StateMachine; import com.android.internal.util.WakeupMessage; +import com.android.networkstack.R; import java.io.FileDescriptor; import java.io.IOException; @@ -498,6 +500,18 @@ public class DhcpClient extends StateMachine { private void acceptDhcpResults(DhcpResults results, String msg) { mDhcpLease = results; + if (mDhcpLease.dnsServers.isEmpty()) { + // supplement customized dns servers + String[] dnsServersList = + mContext.getResources().getStringArray(R.array.config_default_dns_servers); + for (final String dnsServer : dnsServersList) { + try { + mDhcpLease.dnsServers.add(InetAddresses.parseNumericAddress(dnsServer)); + } catch (IllegalArgumentException e) { + Log.e(TAG, "Invalid default DNS server: " + dnsServer, e); + } + } + } mOffer = null; Log.d(TAG, msg + " lease: " + mDhcpLease); notifySuccess(); |