summaryrefslogtreecommitdiff
path: root/core/java/android/net/IpSecConfig.java
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android/net/IpSecConfig.java')
-rw-r--r--core/java/android/net/IpSecConfig.java358
1 files changed, 0 insertions, 358 deletions
diff --git a/core/java/android/net/IpSecConfig.java b/core/java/android/net/IpSecConfig.java
deleted file mode 100644
index 575c5ed968f8..000000000000
--- a/core/java/android/net/IpSecConfig.java
+++ /dev/null
@@ -1,358 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package android.net;
-
-import android.annotation.Nullable;
-import android.os.Parcel;
-import android.os.Parcelable;
-
-import com.android.internal.annotations.VisibleForTesting;
-
-/**
- * This class encapsulates all the configuration parameters needed to create IPsec transforms and
- * policies.
- *
- * @hide
- */
-public final class IpSecConfig implements Parcelable {
- private static final String TAG = "IpSecConfig";
-
- // MODE_TRANSPORT or MODE_TUNNEL
- private int mMode = IpSecTransform.MODE_TRANSPORT;
-
- // Preventing this from being null simplifies Java->Native binder
- private String mSourceAddress = "";
-
- // Preventing this from being null simplifies Java->Native binder
- private String mDestinationAddress = "";
-
- // The underlying Network that represents the "gateway" Network
- // for outbound packets. It may also be used to select packets.
- private Network mNetwork;
-
- // Minimum requirements for identifying a transform
- // SPI identifying the IPsec SA in packet processing
- // and a destination IP address
- private int mSpiResourceId = IpSecManager.INVALID_RESOURCE_ID;
-
- // Encryption Algorithm
- private IpSecAlgorithm mEncryption;
-
- // Authentication Algorithm
- private IpSecAlgorithm mAuthentication;
-
- // Authenticated Encryption Algorithm
- private IpSecAlgorithm mAuthenticatedEncryption;
-
- // For tunnel mode IPv4 UDP Encapsulation
- // IpSecTransform#ENCAP_ESP_*, such as ENCAP_ESP_OVER_UDP_IKE
- private int mEncapType = IpSecTransform.ENCAP_NONE;
- private int mEncapSocketResourceId = IpSecManager.INVALID_RESOURCE_ID;
- private int mEncapRemotePort;
-
- // An interval, in seconds between the NattKeepalive packets
- private int mNattKeepaliveInterval;
-
- // XFRM mark and mask; defaults to 0 (no mark/mask)
- private int mMarkValue;
- private int mMarkMask;
-
- // XFRM interface id
- private int mXfrmInterfaceId;
-
- /** Set the mode for this IPsec transform */
- public void setMode(int mode) {
- mMode = mode;
- }
-
- /** Set the source IP addres for this IPsec transform */
- public void setSourceAddress(String sourceAddress) {
- mSourceAddress = sourceAddress;
- }
-
- /** Set the destination IP address for this IPsec transform */
- public void setDestinationAddress(String destinationAddress) {
- mDestinationAddress = destinationAddress;
- }
-
- /** Set the SPI by resource ID */
- public void setSpiResourceId(int resourceId) {
- mSpiResourceId = resourceId;
- }
-
- /** Set the encryption algorithm */
- public void setEncryption(IpSecAlgorithm encryption) {
- mEncryption = encryption;
- }
-
- /** Set the authentication algorithm */
- public void setAuthentication(IpSecAlgorithm authentication) {
- mAuthentication = authentication;
- }
-
- /** Set the authenticated encryption algorithm */
- public void setAuthenticatedEncryption(IpSecAlgorithm authenticatedEncryption) {
- mAuthenticatedEncryption = authenticatedEncryption;
- }
-
- /** Set the underlying network that will carry traffic for this transform */
- public void setNetwork(Network network) {
- mNetwork = network;
- }
-
- public void setEncapType(int encapType) {
- mEncapType = encapType;
- }
-
- public void setEncapSocketResourceId(int resourceId) {
- mEncapSocketResourceId = resourceId;
- }
-
- public void setEncapRemotePort(int port) {
- mEncapRemotePort = port;
- }
-
- public void setNattKeepaliveInterval(int interval) {
- mNattKeepaliveInterval = interval;
- }
-
- /**
- * Sets the mark value
- *
- * <p>Internal (System server) use only. Marks passed in by users will be overwritten or
- * ignored.
- */
- public void setMarkValue(int mark) {
- mMarkValue = mark;
- }
-
- /**
- * Sets the mark mask
- *
- * <p>Internal (System server) use only. Marks passed in by users will be overwritten or
- * ignored.
- */
- public void setMarkMask(int mask) {
- mMarkMask = mask;
- }
-
- public void setXfrmInterfaceId(int xfrmInterfaceId) {
- mXfrmInterfaceId = xfrmInterfaceId;
- }
-
- // Transport or Tunnel
- public int getMode() {
- return mMode;
- }
-
- public String getSourceAddress() {
- return mSourceAddress;
- }
-
- public int getSpiResourceId() {
- return mSpiResourceId;
- }
-
- public String getDestinationAddress() {
- return mDestinationAddress;
- }
-
- public IpSecAlgorithm getEncryption() {
- return mEncryption;
- }
-
- public IpSecAlgorithm getAuthentication() {
- return mAuthentication;
- }
-
- public IpSecAlgorithm getAuthenticatedEncryption() {
- return mAuthenticatedEncryption;
- }
-
- public Network getNetwork() {
- return mNetwork;
- }
-
- public int getEncapType() {
- return mEncapType;
- }
-
- public int getEncapSocketResourceId() {
- return mEncapSocketResourceId;
- }
-
- public int getEncapRemotePort() {
- return mEncapRemotePort;
- }
-
- public int getNattKeepaliveInterval() {
- return mNattKeepaliveInterval;
- }
-
- public int getMarkValue() {
- return mMarkValue;
- }
-
- public int getMarkMask() {
- return mMarkMask;
- }
-
- public int getXfrmInterfaceId() {
- return mXfrmInterfaceId;
- }
-
- // Parcelable Methods
-
- @Override
- public int describeContents() {
- return 0;
- }
-
- @Override
- public void writeToParcel(Parcel out, int flags) {
- out.writeInt(mMode);
- out.writeString(mSourceAddress);
- out.writeString(mDestinationAddress);
- out.writeParcelable(mNetwork, flags);
- out.writeInt(mSpiResourceId);
- out.writeParcelable(mEncryption, flags);
- out.writeParcelable(mAuthentication, flags);
- out.writeParcelable(mAuthenticatedEncryption, flags);
- out.writeInt(mEncapType);
- out.writeInt(mEncapSocketResourceId);
- out.writeInt(mEncapRemotePort);
- out.writeInt(mNattKeepaliveInterval);
- out.writeInt(mMarkValue);
- out.writeInt(mMarkMask);
- out.writeInt(mXfrmInterfaceId);
- }
-
- @VisibleForTesting
- public IpSecConfig() {}
-
- /** Copy constructor */
- @VisibleForTesting
- public IpSecConfig(IpSecConfig c) {
- mMode = c.mMode;
- mSourceAddress = c.mSourceAddress;
- mDestinationAddress = c.mDestinationAddress;
- mNetwork = c.mNetwork;
- mSpiResourceId = c.mSpiResourceId;
- mEncryption = c.mEncryption;
- mAuthentication = c.mAuthentication;
- mAuthenticatedEncryption = c.mAuthenticatedEncryption;
- mEncapType = c.mEncapType;
- mEncapSocketResourceId = c.mEncapSocketResourceId;
- mEncapRemotePort = c.mEncapRemotePort;
- mNattKeepaliveInterval = c.mNattKeepaliveInterval;
- mMarkValue = c.mMarkValue;
- mMarkMask = c.mMarkMask;
- mXfrmInterfaceId = c.mXfrmInterfaceId;
- }
-
- private IpSecConfig(Parcel in) {
- mMode = in.readInt();
- mSourceAddress = in.readString();
- mDestinationAddress = in.readString();
- mNetwork = (Network) in.readParcelable(Network.class.getClassLoader());
- mSpiResourceId = in.readInt();
- mEncryption =
- (IpSecAlgorithm) in.readParcelable(IpSecAlgorithm.class.getClassLoader());
- mAuthentication =
- (IpSecAlgorithm) in.readParcelable(IpSecAlgorithm.class.getClassLoader());
- mAuthenticatedEncryption =
- (IpSecAlgorithm) in.readParcelable(IpSecAlgorithm.class.getClassLoader());
- mEncapType = in.readInt();
- mEncapSocketResourceId = in.readInt();
- mEncapRemotePort = in.readInt();
- mNattKeepaliveInterval = in.readInt();
- mMarkValue = in.readInt();
- mMarkMask = in.readInt();
- mXfrmInterfaceId = in.readInt();
- }
-
- @Override
- public String toString() {
- StringBuilder strBuilder = new StringBuilder();
- strBuilder
- .append("{mMode=")
- .append(mMode == IpSecTransform.MODE_TUNNEL ? "TUNNEL" : "TRANSPORT")
- .append(", mSourceAddress=")
- .append(mSourceAddress)
- .append(", mDestinationAddress=")
- .append(mDestinationAddress)
- .append(", mNetwork=")
- .append(mNetwork)
- .append(", mEncapType=")
- .append(mEncapType)
- .append(", mEncapSocketResourceId=")
- .append(mEncapSocketResourceId)
- .append(", mEncapRemotePort=")
- .append(mEncapRemotePort)
- .append(", mNattKeepaliveInterval=")
- .append(mNattKeepaliveInterval)
- .append("{mSpiResourceId=")
- .append(mSpiResourceId)
- .append(", mEncryption=")
- .append(mEncryption)
- .append(", mAuthentication=")
- .append(mAuthentication)
- .append(", mAuthenticatedEncryption=")
- .append(mAuthenticatedEncryption)
- .append(", mMarkValue=")
- .append(mMarkValue)
- .append(", mMarkMask=")
- .append(mMarkMask)
- .append(", mXfrmInterfaceId=")
- .append(mXfrmInterfaceId)
- .append("}");
-
- return strBuilder.toString();
- }
-
- public static final @android.annotation.NonNull Parcelable.Creator<IpSecConfig> CREATOR =
- new Parcelable.Creator<IpSecConfig>() {
- public IpSecConfig createFromParcel(Parcel in) {
- return new IpSecConfig(in);
- }
-
- public IpSecConfig[] newArray(int size) {
- return new IpSecConfig[size];
- }
- };
-
- @Override
- public boolean equals(@Nullable Object other) {
- if (!(other instanceof IpSecConfig)) return false;
- final IpSecConfig rhs = (IpSecConfig) other;
- return (mMode == rhs.mMode
- && mSourceAddress.equals(rhs.mSourceAddress)
- && mDestinationAddress.equals(rhs.mDestinationAddress)
- && ((mNetwork != null && mNetwork.equals(rhs.mNetwork))
- || (mNetwork == rhs.mNetwork))
- && mEncapType == rhs.mEncapType
- && mEncapSocketResourceId == rhs.mEncapSocketResourceId
- && mEncapRemotePort == rhs.mEncapRemotePort
- && mNattKeepaliveInterval == rhs.mNattKeepaliveInterval
- && mSpiResourceId == rhs.mSpiResourceId
- && IpSecAlgorithm.equals(mEncryption, rhs.mEncryption)
- && IpSecAlgorithm.equals(mAuthenticatedEncryption, rhs.mAuthenticatedEncryption)
- && IpSecAlgorithm.equals(mAuthentication, rhs.mAuthentication)
- && mMarkValue == rhs.mMarkValue
- && mMarkMask == rhs.mMarkMask
- && mXfrmInterfaceId == rhs.mXfrmInterfaceId);
- }
-}