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

Commit 464dc5c0 authored by nharold's avatar nharold Committed by Gerrit Code Review
Browse files

Merge changes from topic 'ipsec-transport-impl'

* changes:
  Add Initial IPsec APIs to IpSecService
  IpSecManager and IpSecTransform API Cleanup
parents c04b06dc 93962f34
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -23929,7 +23929,6 @@ package android.net {
    method public android.net.IpSecTransform.Builder setAuthentication(int, android.net.IpSecAlgorithm);
    method public android.net.IpSecTransform.Builder setEncryption(int, android.net.IpSecAlgorithm);
    method public android.net.IpSecTransform.Builder setIpv4Encapsulation(android.net.IpSecManager.UdpEncapsulationSocket, int);
    method public android.net.IpSecTransform.Builder setSpi(int, int);
    method public android.net.IpSecTransform.Builder setSpi(int, android.net.IpSecManager.SecurityParameterIndex);
  }
+0 −4
Original line number Diff line number Diff line
@@ -25729,12 +25729,10 @@ package android.net {
  public final class IpSecManager {
    method public void applyTransportModeTransform(java.net.Socket, android.net.IpSecTransform) throws java.io.IOException;
    method public void applyTransportModeTransform(java.net.DatagramSocket, android.net.IpSecTransform) throws java.io.IOException;
    method public void applyTunnelModeTransform(android.net.Network, android.net.IpSecTransform);
    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 removeTransportModeTransform(java.net.Socket, android.net.IpSecTransform);
    method public void removeTransportModeTransform(java.net.DatagramSocket, android.net.IpSecTransform);
    method public void removeTunnelModeTransform(android.net.Network, android.net.IpSecTransform);
    method public android.net.IpSecManager.SecurityParameterIndex reserveSecurityParameterIndex(int, java.net.InetAddress, int) throws android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException;
    field public static final int INVALID_SECURITY_PARAMETER_INDEX = 0; // 0x0
  }
@@ -25766,12 +25764,10 @@ package android.net {
  public static class IpSecTransform.Builder {
    ctor public IpSecTransform.Builder(android.content.Context);
    method public android.net.IpSecTransform buildTransportModeTransform(java.net.InetAddress) throws java.io.IOException, android.net.IpSecManager.ResourceUnavailableException, android.net.IpSecManager.SpiUnavailableException;
    method public android.net.IpSecTransform buildTunnelModeTransform(java.net.InetAddress, java.net.InetAddress);
    method public android.net.IpSecTransform.Builder setAuthentication(int, android.net.IpSecAlgorithm);
    method public android.net.IpSecTransform.Builder setEncryption(int, android.net.IpSecAlgorithm);
    method public android.net.IpSecTransform.Builder setIpv4Encapsulation(android.net.IpSecManager.UdpEncapsulationSocket, int);
    method public android.net.IpSecTransform.Builder setNattKeepalive(int);
    method public android.net.IpSecTransform.Builder setSpi(int, int);
    method public android.net.IpSecTransform.Builder setSpi(int, android.net.IpSecManager.SecurityParameterIndex);
    method public android.net.IpSecTransform.Builder setUnderlyingNetwork(android.net.Network);
  }
+0 −1
Original line number Diff line number Diff line
@@ -24002,7 +24002,6 @@ package android.net {
    method public android.net.IpSecTransform.Builder setAuthentication(int, android.net.IpSecAlgorithm);
    method public android.net.IpSecTransform.Builder setEncryption(int, android.net.IpSecAlgorithm);
    method public android.net.IpSecTransform.Builder setIpv4Encapsulation(android.net.IpSecManager.UdpEncapsulationSocket, int);
    method public android.net.IpSecTransform.Builder setSpi(int, int);
    method public android.net.IpSecTransform.Builder setSpi(int, android.net.IpSecManager.SecurityParameterIndex);
  }
+22 −0
Original line number Diff line number Diff line
@@ -16,9 +16,31 @@

package android.net;

import android.net.Network;
import android.net.IpSecConfig;
import android.os.Bundle;
import android.os.IBinder;
import android.os.ParcelFileDescriptor;

/**
 * @hide
 */
interface IIpSecService
{
    Bundle reserveSecurityParameterIndex(
            int direction, in String remoteAddress, int requestedSpi, in IBinder binder);

    void releaseSecurityParameterIndex(int resourceId);

    Bundle openUdpEncapsulationSocket(int port, in IBinder binder);

    void closeUdpEncapsulationSocket(in ParcelFileDescriptor socket);

    Bundle createTransportModeTransform(in IpSecConfig c, in IBinder binder);

    void deleteTransportModeTransform(int transformId);

    void applyTransportModeTransform(in ParcelFileDescriptor socket, int transformId);

    void removeTransportModeTransform(in ParcelFileDescriptor socket, int transformId);
}
+2 −0
Original line number Diff line number Diff line
@@ -164,6 +164,8 @@ public final class IpSecAlgorithm implements Parcelable {

    private static boolean isTruncationLengthValid(String algo, int truncLenBits) {
        switch (algo) {
            case ALGO_CRYPT_AES_CBC:
                return (truncLenBits == 128 || truncLenBits == 192 || truncLenBits == 256);
            case ALGO_AUTH_HMAC_MD5:
                return (truncLenBits >= 96 && truncLenBits <= 128);
            case ALGO_AUTH_HMAC_SHA1:
Loading