Loading core/java/android/provider/Settings.java +6 −0 Original line number Diff line number Diff line Loading @@ -2384,6 +2384,12 @@ public final class Settings { */ public static final String SET_GLOBAL_HTTP_PROXY = "set_global_http_proxy"; /** * Setting for default DNS in case nobody suggests one * @hide */ public static final String DEFAULT_DNS_SERVER = "default_dns_server"; /** * Whether the package installer should allow installation of apps downloaded from * sources other than the Android Market (vending machine). Loading core/res/res/values/config.xml +2 −0 Original line number Diff line number Diff line Loading @@ -399,4 +399,6 @@ device is data-only. --> <bool name="config_voice_capable">true</bool> <!-- IP address of the dns server to use if nobody else suggests one --> <string name="config_default_dns_server">8.8.8.8</string> </resources> services/java/com/android/server/ConnectivityService.java +27 −4 Original line number Diff line number Diff line Loading @@ -121,6 +121,8 @@ public class ConnectivityService extends IConnectivityManager.Stub { private int mNetTransitionWakeLockSerialNumber; private int mNetTransitionWakeLockTimeout; private InetAddress mDefaultDns; private static class NetworkAttributes { /** * Class for holding settings read from resources. Loading Loading @@ -209,6 +211,19 @@ public class ConnectivityService extends IConnectivityManager.Stub { SystemProperties.set("net.hostname", name); } // read our default dns server ip String dns = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.DEFAULT_DNS_SERVER); if (dns == null || dns.length() == 0) { dns = context.getResources().getString( com.android.internal.R.string.config_default_dns_server); } try { mDefaultDns = InetAddress.getByName(dns); } catch (UnknownHostException e) { Slog.e(TAG, "Error setting defaultDns using " + dns); } mContext = context; PowerManager powerManager = (PowerManager)mContext.getSystemService(Context.POWER_SERVICE); Loading Loading @@ -1468,6 +1483,13 @@ public class ConnectivityService extends IConnectivityManager.Stub { Collection<InetAddress> dnses = p.getDnses(); if (mNetAttributes[netType].isDefault()) { int j = 1; if (dnses.size() == 0 && mDefaultDns != null) { if (DBG) { Slog.d(TAG, "no dns provided - using " + mDefaultDns.getHostAddress()); } SystemProperties.set("net.dns1", mDefaultDns.getHostAddress()); j++; } else { for (InetAddress dns : dnses) { if (DBG) { Slog.d(TAG, "adding dns " + dns + " for " + Loading @@ -1475,6 +1497,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { } SystemProperties.set("net.dns" + j++, dns.getHostAddress()); } } for (int k=j ; k<mNumDnsEntries; k++) { if (DBG) Slog.d(TAG, "erasing net.dns" + k); SystemProperties.set("net.dns" + k, ""); Loading Loading
core/java/android/provider/Settings.java +6 −0 Original line number Diff line number Diff line Loading @@ -2384,6 +2384,12 @@ public final class Settings { */ public static final String SET_GLOBAL_HTTP_PROXY = "set_global_http_proxy"; /** * Setting for default DNS in case nobody suggests one * @hide */ public static final String DEFAULT_DNS_SERVER = "default_dns_server"; /** * Whether the package installer should allow installation of apps downloaded from * sources other than the Android Market (vending machine). Loading
core/res/res/values/config.xml +2 −0 Original line number Diff line number Diff line Loading @@ -399,4 +399,6 @@ device is data-only. --> <bool name="config_voice_capable">true</bool> <!-- IP address of the dns server to use if nobody else suggests one --> <string name="config_default_dns_server">8.8.8.8</string> </resources>
services/java/com/android/server/ConnectivityService.java +27 −4 Original line number Diff line number Diff line Loading @@ -121,6 +121,8 @@ public class ConnectivityService extends IConnectivityManager.Stub { private int mNetTransitionWakeLockSerialNumber; private int mNetTransitionWakeLockTimeout; private InetAddress mDefaultDns; private static class NetworkAttributes { /** * Class for holding settings read from resources. Loading Loading @@ -209,6 +211,19 @@ public class ConnectivityService extends IConnectivityManager.Stub { SystemProperties.set("net.hostname", name); } // read our default dns server ip String dns = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.DEFAULT_DNS_SERVER); if (dns == null || dns.length() == 0) { dns = context.getResources().getString( com.android.internal.R.string.config_default_dns_server); } try { mDefaultDns = InetAddress.getByName(dns); } catch (UnknownHostException e) { Slog.e(TAG, "Error setting defaultDns using " + dns); } mContext = context; PowerManager powerManager = (PowerManager)mContext.getSystemService(Context.POWER_SERVICE); Loading Loading @@ -1468,6 +1483,13 @@ public class ConnectivityService extends IConnectivityManager.Stub { Collection<InetAddress> dnses = p.getDnses(); if (mNetAttributes[netType].isDefault()) { int j = 1; if (dnses.size() == 0 && mDefaultDns != null) { if (DBG) { Slog.d(TAG, "no dns provided - using " + mDefaultDns.getHostAddress()); } SystemProperties.set("net.dns1", mDefaultDns.getHostAddress()); j++; } else { for (InetAddress dns : dnses) { if (DBG) { Slog.d(TAG, "adding dns " + dns + " for " + Loading @@ -1475,6 +1497,7 @@ public class ConnectivityService extends IConnectivityManager.Stub { } SystemProperties.set("net.dns" + j++, dns.getHostAddress()); } } for (int k=j ; k<mNumDnsEntries; k++) { if (DBG) Slog.d(TAG, "erasing net.dns" + k); SystemProperties.set("net.dns" + k, ""); Loading