am cdee9727: Merge "Make isHostRoute match only host routes" into jb-mr2-dev am: faac152a2d

Original change: undetermined

Change-Id: Ia5a61337c20f52ea5e0cd2b20cb52a87f74b971c
This commit is contained in:
Lorenzo Colitti
2021-05-31 06:13:08 +00:00
committed by Automerger Merge Worker
2 changed files with 38 additions and 1 deletions

View File

@@ -132,7 +132,10 @@ public class RouteInfo implements Parcelable {
}
private boolean isHost() {
return (mGateway.equals(Inet4Address.ANY) || mGateway.equals(Inet6Address.ANY));
return (mDestination.getAddress() instanceof Inet4Address &&
mDestination.getNetworkPrefixLength() == 32) ||
(mDestination.getAddress() instanceof Inet6Address &&
mDestination.getNetworkPrefixLength() == 128);
}
private boolean isDefault() {

View File

@@ -149,6 +149,40 @@ public class RouteInfoTest extends TestCase {
assertAreNotEqual(r1, r3);
}
public void testHostRoute() {
RouteInfo r;
r = new RouteInfo(Prefix("0.0.0.0/0"), Address("0.0.0.0"), "wlan0");
assertFalse(r.isHostRoute());
r = new RouteInfo(Prefix("::/0"), Address("::"), "wlan0");
assertFalse(r.isHostRoute());
r = new RouteInfo(Prefix("192.0.2.0/24"), null, "wlan0");
assertFalse(r.isHostRoute());
r = new RouteInfo(Prefix("2001:db8::/48"), null, "wlan0");
assertFalse(r.isHostRoute());
r = new RouteInfo(Prefix("192.0.2.0/32"), Address("0.0.0.0"), "wlan0");
assertTrue(r.isHostRoute());
r = new RouteInfo(Prefix("2001:db8::/128"), Address("::"), "wlan0");
assertTrue(r.isHostRoute());
r = new RouteInfo(Prefix("192.0.2.0/32"), null, "wlan0");
assertTrue(r.isHostRoute());
r = new RouteInfo(Prefix("2001:db8::/128"), null, "wlan0");
assertTrue(r.isHostRoute());
r = new RouteInfo(Prefix("::/128"), Address("fe80::"), "wlan0");
assertTrue(r.isHostRoute());
r = new RouteInfo(Prefix("0.0.0.0/32"), Address("192.0.2.1"), "wlan0");
assertTrue(r.isHostRoute());
}
public RouteInfo passThroughParcel(RouteInfo r) {
Parcel p = Parcel.obtain();
RouteInfo r2 = null;