Merge "provide a resource overlay to configure customized DNS Server."

This commit is contained in:
Treehugger Robot
2019-04-11 11:06:51 +00:00
committed by Gerrit Code Review
2 changed files with 19 additions and 1 deletions

View File

@@ -35,4 +35,8 @@
</string-array> </string-array>
<string-array name="config_captive_portal_fallback_probe_specs" translatable="false"> <string-array name="config_captive_portal_fallback_probe_specs" translatable="false">
</string-array> </string-array>
</resources>
<!-- Customized default DNS Servers address. -->
<string-array name="config_default_dns_servers" translatable="false">
</string-array>
</resources>

View File

@@ -45,6 +45,7 @@ import static com.android.server.util.NetworkStackConstants.IPV4_ADDR_ANY;
import android.content.Context; import android.content.Context;
import android.net.DhcpResults; import android.net.DhcpResults;
import android.net.InetAddresses;
import android.net.TrafficStats; import android.net.TrafficStats;
import android.net.ip.IpClient; import android.net.ip.IpClient;
import android.net.metrics.DhcpClientEvent; 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.State;
import com.android.internal.util.StateMachine; import com.android.internal.util.StateMachine;
import com.android.internal.util.WakeupMessage; import com.android.internal.util.WakeupMessage;
import com.android.networkstack.R;
import java.io.FileDescriptor; import java.io.FileDescriptor;
import java.io.IOException; import java.io.IOException;
@@ -498,6 +500,18 @@ public class DhcpClient extends StateMachine {
private void acceptDhcpResults(DhcpResults results, String msg) { private void acceptDhcpResults(DhcpResults results, String msg) {
mDhcpLease = results; 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; mOffer = null;
Log.d(TAG, msg + " lease: " + mDhcpLease); Log.d(TAG, msg + " lease: " + mDhcpLease);
notifySuccess(); notifySuccess();