Merge "IpSec - API Tweak for removeTransportModeTransform"
am: 6725ff729b
Change-Id: I0ed7128014bbca8973f84d719449dcf70da45fa2
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
@@ -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()
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user