Merge "IpSec - API Tweak for removeTransportModeTransform"

am: 6725ff729b

Change-Id: I0ed7128014bbca8973f84d719449dcf70da45fa2
This commit is contained in:
nharold
2018-01-17 20:31:15 +00:00
committed by android-build-merger
6 changed files with 20 additions and 26 deletions

View File

@@ -25821,9 +25821,9 @@ package android.net {
method public void applyTransportModeTransform(java.io.FileDescriptor, int, android.net.IpSecTransform) throws java.io.IOException;
method public android.net.IpSecManager.UdpEncapsulationSocket openUdpEncapsulationSocket(int) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException;
method public android.net.IpSecManager.UdpEncapsulationSocket openUdpEncapsulationSocket() throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException;
method public void removeTransportModeTransforms(java.net.Socket, android.net.IpSecTransform) throws java.io.IOException;
method public void removeTransportModeTransforms(java.net.DatagramSocket, android.net.IpSecTransform) throws java.io.IOException;
method public void removeTransportModeTransforms(java.io.FileDescriptor, android.net.IpSecTransform) throws java.io.IOException;
method public void removeTransportModeTransforms(java.net.Socket) throws java.io.IOException;
method public void removeTransportModeTransforms(java.net.DatagramSocket) throws java.io.IOException;
method public void removeTransportModeTransforms(java.io.FileDescriptor) throws java.io.IOException;
field public static final int DIRECTION_IN = 0; // 0x0
field public static final int DIRECTION_OUT = 1; // 0x1
}

View File

@@ -45,5 +45,5 @@ interface IIpSecService
void applyTransportModeTransform(in ParcelFileDescriptor socket, int direction, int transformId);
void removeTransportModeTransforms(in ParcelFileDescriptor socket, int transformId);
void removeTransportModeTransforms(in ParcelFileDescriptor socket);
}

View File

@@ -405,62 +405,56 @@ public final class IpSecManager {
/**
* Remove an IPsec transform from a stream socket.
*
* <p>Once removed, traffic on the socket will not be encrypted. This operation will succeed
* regardless of the state of the transform. Removing a transform from a socket allows the
* socket to be reused for communication in the clear.
* <p>Once removed, traffic on the socket will not be encrypted. Removing transforms from a
* socket allows the socket to be reused for communication in the clear.
*
* <p>If an {@code IpSecTransform} object applied to this socket was deallocated by calling
* {@link IpSecTransform#close()}, then communication on the socket will fail until this method
* is called.
*
* @param socket a socket that previously had a transform applied to it
* @param transform the IPsec Transform that was previously applied to the given socket
* @throws IOException indicating that the transform could not be removed from the socket
*/
public void removeTransportModeTransforms(Socket socket, IpSecTransform transform)
public void removeTransportModeTransforms(Socket socket)
throws IOException {
removeTransportModeTransforms(socket.getFileDescriptor$(), transform);
removeTransportModeTransforms(socket.getFileDescriptor$());
}
/**
* Remove an IPsec transform from a datagram socket.
*
* <p>Once removed, traffic on the socket will not be encrypted. This operation will succeed
* regardless of the state of the transform. Removing a transform from a socket allows the
* socket to be reused for communication in the clear.
* <p>Once removed, traffic on the socket will not be encrypted. Removing transforms from a
* socket allows the socket to be reused for communication in the clear.
*
* <p>If an {@code IpSecTransform} object applied to this socket was deallocated by calling
* {@link IpSecTransform#close()}, then communication on the socket will fail until this method
* is called.
*
* @param socket a socket that previously had a transform applied to it
* @param transform the IPsec Transform that was previously applied to the given socket
* @throws IOException indicating that the transform could not be removed from the socket
*/
public void removeTransportModeTransforms(DatagramSocket socket, IpSecTransform transform)
public void removeTransportModeTransforms(DatagramSocket socket)
throws IOException {
removeTransportModeTransforms(socket.getFileDescriptor$(), transform);
removeTransportModeTransforms(socket.getFileDescriptor$());
}
/**
* Remove an IPsec transform from a socket.
*
* <p>Once removed, traffic on the socket will not be encrypted. This operation will succeed
* regardless of the state of the transform. Removing a transform from a socket allows the
* socket to be reused for communication in the clear.
* <p>Once removed, traffic on the socket will not be encrypted. Removing transforms from a
* socket allows the socket to be reused for communication in the clear.
*
* <p>If an {@code IpSecTransform} object applied to this socket was deallocated by calling
* {@link IpSecTransform#close()}, then communication on the socket will fail until this method
* is called.
*
* @param socket a socket that previously had a transform applied to it
* @param transform the IPsec Transform that was previously applied to the given socket
* @throws IOException indicating that the transform could not be removed from the socket
*/
public void removeTransportModeTransforms(FileDescriptor socket, IpSecTransform transform)
public void removeTransportModeTransforms(FileDescriptor socket)
throws IOException {
try (ParcelFileDescriptor pfd = ParcelFileDescriptor.dup(socket)) {
mService.removeTransportModeTransforms(pfd, transform.getResourceId());
mService.removeTransportModeTransforms(pfd);
} catch (RemoteException e) {
throw e.rethrowFromSystemServer();
}

View File

@@ -1235,8 +1235,8 @@ public class IpSecService extends IIpSecService.Stub {
* reserved for future improved input validation.
*/
@Override
public synchronized void removeTransportModeTransforms(
ParcelFileDescriptor socket, int resourceId) throws RemoteException {
public synchronized void removeTransportModeTransforms(ParcelFileDescriptor socket)
throws RemoteException {
try {
mSrvConfig
.getNetdInstance()

View File

@@ -353,7 +353,7 @@ public class IpSecServiceParameterizedTest {
@Test
public void testRemoveTransportModeTransform() throws Exception {
ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(new Socket());
mIpSecService.removeTransportModeTransforms(pfd, 1);
mIpSecService.removeTransportModeTransforms(pfd);
verify(mMockNetd).ipSecRemoveTransportModeTransform(pfd.getFileDescriptor());
}

View File

@@ -423,7 +423,7 @@ public class IpSecServiceTest {
@Test
public void testRemoveTransportModeTransform() throws Exception {
ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(new Socket());
mIpSecService.removeTransportModeTransforms(pfd, 1);
mIpSecService.removeTransportModeTransforms(pfd);
verify(mMockNetd).ipSecRemoveTransportModeTransform(pfd.getFileDescriptor());
}