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

Commit 6ea93c4b authored by Benedict Wong's avatar Benedict Wong
Browse files

Clarify UDP encapsulation socket API

This change updates the getSocket() methods for IPsec to improve clarity
of the return types, both for public APIs, and internal-only methods.

Bug: 72473753
Test: APIs updated, CTS + unit tests ran.
Merged-In: I0afebd432c5d04c47c93daa1ce616d712aa323d7
Change-Id: I0afebd432c5d04c47c93daa1ce616d712aa323d7
(cherry picked from commit 4c987eba)
parent 3d8fa52f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -27012,8 +27012,8 @@ package android.net {
  public static final class IpSecManager.UdpEncapsulationSocket implements java.lang.AutoCloseable {
    method public void close() throws java.io.IOException;
    method public java.io.FileDescriptor getFileDescriptor();
    method public int getPort();
    method public java.io.FileDescriptor getSocket();
  }
  public final class IpSecTransform implements java.lang.AutoCloseable {
+3 −3
Original line number Diff line number Diff line
@@ -502,7 +502,7 @@ public final class IpSecManager {
     * signalling and UDP encapsulated IPsec traffic. Instances can be obtained by calling {@link
     * IpSecManager#openUdpEncapsulationSocket}. The provided socket cannot be re-bound by the
     * caller. The caller should not close the {@code FileDescriptor} returned by {@link
     * #getSocket}, but should use {@link #close} instead.
     * #getFileDescriptor}, but should use {@link #close} instead.
     *
     * <p>Allowing the user to close or unbind a UDP encapsulation socket could impact the traffic
     * of the next user who binds to that port. To prevent this scenario, these sockets are held
@@ -541,8 +541,8 @@ public final class IpSecManager {
            mCloseGuard.open("constructor");
        }

        /** Get the wrapped socket. */
        public FileDescriptor getSocket() {
        /** Get the encapsulation socket's file descriptor. */
        public FileDescriptor getFileDescriptor() {
            if (mPfd == null) {
                return null;
            }
+1 −1
Original line number Diff line number Diff line
@@ -931,7 +931,7 @@ public class IpSecService extends IIpSecService.Stub {
            return mPort;
        }

        public FileDescriptor getSocket() {
        public FileDescriptor getFileDescriptor() {
            return mSocket;
        }

+2 −2
Original line number Diff line number Diff line
@@ -179,7 +179,7 @@ public class IpSecManagerTest {

        IpSecManager.UdpEncapsulationSocket encapSocket =
                mIpSecManager.openUdpEncapsulationSocket(TEST_UDP_ENCAP_PORT);
        assertNotNull(encapSocket.getSocket());
        assertNotNull(encapSocket.getFileDescriptor());
        assertEquals(TEST_UDP_ENCAP_PORT, encapSocket.getPort());

        encapSocket.close();
@@ -202,7 +202,7 @@ public class IpSecManagerTest {
        IpSecManager.UdpEncapsulationSocket encapSocket =
                mIpSecManager.openUdpEncapsulationSocket();

        assertNotNull(encapSocket.getSocket());
        assertNotNull(encapSocket.getFileDescriptor());
        assertEquals(TEST_UDP_ENCAP_PORT, encapSocket.getPort());

        encapSocket.close();