From 4f74d552d54fd26bc377f333fccb671d20519b3e Mon Sep 17 00:00:00 2001 From: Robert Greenwalt Date: Mon, 19 Dec 2011 16:59:31 -0800 Subject: Filter our v6 address from tethering dns. Don't support IPv6 yet, and the tools crash when they see one, so filter them out. bug:5763980 Change-Id: Ie9a4445a3c72df3f7ab4320c507ebc8e8cd440ff --- .../java/com/android/server/connectivity/Tethering.java | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/services/java/com/android/server/connectivity/Tethering.java b/services/java/com/android/server/connectivity/Tethering.java index bc8ce7ddf651..9573fda5c2ed 100644 --- a/services/java/com/android/server/connectivity/Tethering.java +++ b/services/java/com/android/server/connectivity/Tethering.java @@ -55,6 +55,7 @@ import com.google.android.collect.Lists; import java.io.FileDescriptor; import java.io.PrintWriter; import java.net.InetAddress; +import java.net.Inet4Address; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; @@ -1325,7 +1326,17 @@ public class Tethering extends INetworkManagementEventObserver.Stub { String[] dnsServers = mDefaultDnsServers; Collection dnses = linkProperties.getDnses(); if (dnses != null) { - dnsServers = NetworkUtils.makeStrings(dnses); + // we currently only handle IPv4 + ArrayList v4Dnses = + new ArrayList(dnses.size()); + for (InetAddress dnsAddress : dnses) { + if (dnsAddress instanceof Inet4Address) { + v4Dnses.add(dnsAddress); + } + } + if (v4Dnses.size() > 0) { + dnsServers = NetworkUtils.makeStrings(v4Dnses); + } } try { mNMService.setDnsForwarders(dnsServers); @@ -1383,11 +1394,12 @@ public class Tethering extends INetworkManagementEventObserver.Stub { boolean mTryCell = !WAIT_FOR_NETWORK_TO_SETTLE; @Override public void enter() { + turnOnMasterTetherSettings(); // may transition us out + mTryCell = !WAIT_FOR_NETWORK_TO_SETTLE; // better try something first pass // or crazy tests cases will fail chooseUpstreamType(mTryCell); mTryCell = !mTryCell; - turnOnMasterTetherSettings(); // may transition us out } @Override public void exit() { -- cgit v1.2.3-59-g8ed1b