Skip to content

Commit 44f64c9

Browse files
Robert GreenwaltAndroid (Google) Code Review
authored andcommitted
Merge "Filter our v6 address from tethering dns." into ics-mr1
2 parents cf077fd + 03d58bc commit 44f64c9

File tree

1 file changed

+14
-2
lines changed

1 file changed

+14
-2
lines changed

services/java/com/android/server/connectivity/Tethering.java

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,7 @@
5555
import java.io.FileDescriptor;
5656
import java.io.PrintWriter;
5757
import java.net.InetAddress;
58+
import java.net.Inet4Address;
5859
import java.util.ArrayList;
5960
import java.util.Collection;
6061
import java.util.HashMap;
@@ -1326,7 +1327,17 @@ protected void chooseUpstreamType(boolean tryCell) {
13261327
String[] dnsServers = mDefaultDnsServers;
13271328
Collection<InetAddress> dnses = linkProperties.getDnses();
13281329
if (dnses != null) {
1329-
dnsServers = NetworkUtils.makeStrings(dnses);
1330+
// we currently only handle IPv4
1331+
ArrayList<InetAddress> v4Dnses =
1332+
new ArrayList<InetAddress>(dnses.size());
1333+
for (InetAddress dnsAddress : dnses) {
1334+
if (dnsAddress instanceof Inet4Address) {
1335+
v4Dnses.add(dnsAddress);
1336+
}
1337+
}
1338+
if (v4Dnses.size() > 0) {
1339+
dnsServers = NetworkUtils.makeStrings(v4Dnses);
1340+
}
13301341
}
13311342
try {
13321343
mNMService.setDnsForwarders(dnsServers);
@@ -1384,11 +1395,12 @@ class TetherModeAliveState extends TetherMasterUtilState {
13841395
boolean mTryCell = !WAIT_FOR_NETWORK_TO_SETTLE;
13851396
@Override
13861397
public void enter() {
1398+
turnOnMasterTetherSettings(); // may transition us out
1399+
13871400
mTryCell = !WAIT_FOR_NETWORK_TO_SETTLE; // better try something first pass
13881401
// or crazy tests cases will fail
13891402
chooseUpstreamType(mTryCell);
13901403
mTryCell = !mTryCell;
1391-
turnOnMasterTetherSettings(); // may transition us out
13921404
}
13931405
@Override
13941406
public void exit() {

0 commit comments

Comments
 (0)