DO NOT MERGE Sanitize WifiConfigs

Do this both on input from apps (giving error) and between wifi and
ConnectivityService (ignoring bad data).  This means removing all
addresses beyond the first and all routes but the first default and
the implied direct-connect routes.

We do this because the user can't monitor the others (no UI), their
support wasn't intended, they allow redirection of all traffic
without user knowledge and they allow circumvention of legacy VPNs.

This should not move forward from JB as it breaks IPv6 and K has
a more resilient VPN.

Bug:12663469
Change-Id: I98c0672a6d9c8d5bc4f160849aa0fa182073216b
This commit is contained in:
Robert Greenwalt
2014-02-07 03:52:12 -08:00
parent 7842df58d0
commit 8eac056f75

View File

@@ -112,6 +112,16 @@ public class LinkProperties implements Parcelable {
return Collections.unmodifiableCollection(mLinkAddresses);
}
/**
* Replaces the LinkAddresses on this link with the given collection of addresses
*/
public void setLinkAddresses(Collection<LinkAddress> addresses) {
mLinkAddresses.clear();
for (LinkAddress address: addresses) {
addLinkAddress(address);
}
}
public void addDns(InetAddress dns) {
if (dns != null) mDnses.add(dns);
}
@@ -127,6 +137,16 @@ public class LinkProperties implements Parcelable {
return Collections.unmodifiableCollection(mRoutes);
}
/**
* Replaces the RouteInfos on this link with the given collection of RouteInfos.
*/
public void setRoutes(Collection<RouteInfo> routes) {
mRoutes.clear();
for (RouteInfo route : routes) {
addRoute(route);
}
}
public void setHttpProxy(ProxyProperties proxy) {
mHttpProxy = proxy;
}