Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a83c36d7 authored by Xiao Ma's avatar Xiao Ma Committed by android-build-merger
Browse files

Merge "Replace TcpSocketInfo with TcpKeepalivePacketDataParcelable in...

Merge "Replace TcpSocketInfo with TcpKeepalivePacketDataParcelable in ApfTest." am: e7e5a35b am: a88f9010
am: fb6ce004

Change-Id: I488efad5dffa7a4b74ed0fd6525c918311651252
parents d240a8ca fb6ce004
Loading
Loading
Loading
Loading
+23 −16
Original line number Original line Diff line number Diff line
@@ -40,9 +40,7 @@ import static org.mockito.Mockito.verify;
import android.content.Context;
import android.content.Context;
import android.net.LinkAddress;
import android.net.LinkAddress;
import android.net.LinkProperties;
import android.net.LinkProperties;
import android.net.SocketKeepalive;
import android.net.TcpKeepalivePacketDataParcelable;
import android.net.TcpKeepalivePacketData;
import android.net.TcpKeepalivePacketData.TcpSocketInfo;
import android.net.apf.ApfFilter.ApfConfiguration;
import android.net.apf.ApfFilter.ApfConfiguration;
import android.net.apf.ApfGenerator.IllegalInstructionException;
import android.net.apf.ApfGenerator.IllegalInstructionException;
import android.net.apf.ApfGenerator.Register;
import android.net.apf.ApfGenerator.Register;
@@ -1546,12 +1544,15 @@ public class ApfTest {
        InetAddress srcAddr = InetAddress.getByAddress(IPV4_KEEPALIVE_SRC_ADDR);
        InetAddress srcAddr = InetAddress.getByAddress(IPV4_KEEPALIVE_SRC_ADDR);
        InetAddress dstAddr = InetAddress.getByAddress(IPV4_KEEPALIVE_DST_ADDR);
        InetAddress dstAddr = InetAddress.getByAddress(IPV4_KEEPALIVE_DST_ADDR);


        final TcpSocketInfo v4Tsi = new TcpSocketInfo(
        final TcpKeepalivePacketDataParcelable parcel = new TcpKeepalivePacketDataParcelable();
                srcAddr, srcPort, dstAddr, dstPort, seqNum, ackNum, window, windowScale);
        parcel.srcAddress = srcAddr.getAddress();
        final TcpKeepalivePacketData ipv4TcpKeepalivePacket =
        parcel.srcPort = srcPort;
                TcpKeepalivePacketData.tcpKeepalivePacket(v4Tsi);
        parcel.dstAddress = dstAddr.getAddress();
        parcel.dstPort = dstPort;
        parcel.seq = seqNum;
        parcel.ack = ackNum;


        apfFilter.addKeepalivePacketFilter(slot1, ipv4TcpKeepalivePacket.toStableParcelable());
        apfFilter.addKeepalivePacketFilter(slot1, parcel);
        program = cb.getApfProgram();
        program = cb.getApfProgram();


        // Verify IPv4 keepalive ack packet is dropped
        // Verify IPv4 keepalive ack packet is dropped
@@ -1580,11 +1581,17 @@ public class ApfTest {
            // dst: 2404:0:0:0:0:0:faf2, port: 54321
            // dst: 2404:0:0:0:0:0:faf2, port: 54321
            srcAddr = InetAddress.getByAddress(IPV6_KEEPALIVE_SRC_ADDR);
            srcAddr = InetAddress.getByAddress(IPV6_KEEPALIVE_SRC_ADDR);
            dstAddr = InetAddress.getByAddress(IPV6_KEEPALIVE_DST_ADDR);
            dstAddr = InetAddress.getByAddress(IPV6_KEEPALIVE_DST_ADDR);
            final TcpSocketInfo v6Tsi = new TcpSocketInfo(

                    srcAddr, srcPort, dstAddr, dstPort, seqNum, ackNum, window, windowScale);
            final TcpKeepalivePacketDataParcelable ipv6Parcel =
            final TcpKeepalivePacketData ipv6TcpKeepalivePacket =
                    new TcpKeepalivePacketDataParcelable();
                    TcpKeepalivePacketData.tcpKeepalivePacket(v6Tsi);
            ipv6Parcel.srcAddress = srcAddr.getAddress();
            apfFilter.addKeepalivePacketFilter(slot1, ipv6TcpKeepalivePacket.toStableParcelable());
            ipv6Parcel.srcPort = srcPort;
            ipv6Parcel.dstAddress = dstAddr.getAddress();
            ipv6Parcel.dstPort = dstPort;
            ipv6Parcel.seq = seqNum;
            ipv6Parcel.ack = ackNum;

            apfFilter.addKeepalivePacketFilter(slot1, ipv6Parcel);
            program = cb.getApfProgram();
            program = cb.getApfProgram();


            // Verify IPv6 keepalive ack packet is dropped
            // Verify IPv6 keepalive ack packet is dropped
@@ -1606,8 +1613,8 @@ public class ApfTest {
            apfFilter.removeKeepalivePacketFilter(slot1);
            apfFilter.removeKeepalivePacketFilter(slot1);


            // Verify multiple filters
            // Verify multiple filters
            apfFilter.addKeepalivePacketFilter(slot1, ipv4TcpKeepalivePacket.toStableParcelable());
            apfFilter.addKeepalivePacketFilter(slot1, parcel);
            apfFilter.addKeepalivePacketFilter(slot2, ipv6TcpKeepalivePacket.toStableParcelable());
            apfFilter.addKeepalivePacketFilter(slot2, ipv6Parcel);
            program = cb.getApfProgram();
            program = cb.getApfProgram();


            // Verify IPv4 keepalive ack packet is dropped
            // Verify IPv4 keepalive ack packet is dropped
@@ -1643,7 +1650,7 @@ public class ApfTest {
            // Remove keepalive filters
            // Remove keepalive filters
            apfFilter.removeKeepalivePacketFilter(slot1);
            apfFilter.removeKeepalivePacketFilter(slot1);
            apfFilter.removeKeepalivePacketFilter(slot2);
            apfFilter.removeKeepalivePacketFilter(slot2);
        } catch (SocketKeepalive.InvalidPacketException e) {
        } catch (UnsupportedOperationException e) {
            // TODO: support V6 packets
            // TODO: support V6 packets
        }
        }