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

Commit 4d46a146 authored by Lorenzo Colitti's avatar Lorenzo Colitti Committed by Automerger Merge Worker
Browse files

Merge "Store IkeTunnelConnectionParams in Ikev2VpnProfile" am: bc6f905d am: 492871c0

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2029924

Change-Id: I4b9d9e1f7792996c0ca026be5013e3d5089395e7
parents 00b73994 492871c0
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -25209,6 +25209,7 @@ package android.net {
  public final class Ikev2VpnProfile extends android.net.PlatformVpnProfile {
  public final class Ikev2VpnProfile extends android.net.PlatformVpnProfile {
    method @NonNull public java.util.List<java.lang.String> getAllowedAlgorithms();
    method @NonNull public java.util.List<java.lang.String> getAllowedAlgorithms();
    method @Nullable public android.net.ipsec.ike.IkeTunnelConnectionParams getIkeTunnelConnectionParams();
    method public int getMaxMtu();
    method public int getMaxMtu();
    method @Nullable public String getPassword();
    method @Nullable public String getPassword();
    method @Nullable public byte[] getPresharedKey();
    method @Nullable public byte[] getPresharedKey();
+21 −5
Original line number Original line Diff line number Diff line
@@ -142,6 +142,7 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
    private final boolean mIsMetered; // Defaults in builder
    private final boolean mIsMetered; // Defaults in builder
    private final int mMaxMtu; // Defaults in builder
    private final int mMaxMtu; // Defaults in builder
    private final boolean mIsRestrictedToTestNetworks;
    private final boolean mIsRestrictedToTestNetworks;
    @Nullable private final IkeTunnelConnectionParams mIkeTunConnParams;


    private Ikev2VpnProfile(
    private Ikev2VpnProfile(
            int type,
            int type,
@@ -160,7 +161,8 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
            int maxMtu,
            int maxMtu,
            boolean restrictToTestNetworks,
            boolean restrictToTestNetworks,
            boolean excludeLocalRoutes,
            boolean excludeLocalRoutes,
            boolean requiresInternetValidation) {
            boolean requiresInternetValidation,
            @Nullable IkeTunnelConnectionParams ikeTunConnParams) {
        super(type, excludeLocalRoutes, requiresInternetValidation);
        super(type, excludeLocalRoutes, requiresInternetValidation);


        checkNotNull(serverAddr, MISSING_PARAM_MSG_TMPL, "Server address");
        checkNotNull(serverAddr, MISSING_PARAM_MSG_TMPL, "Server address");
@@ -190,6 +192,8 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
        mMaxMtu = maxMtu;
        mMaxMtu = maxMtu;
        mIsRestrictedToTestNetworks = restrictToTestNetworks;
        mIsRestrictedToTestNetworks = restrictToTestNetworks;


        mIkeTunConnParams = ikeTunConnParams;

        validate();
        validate();
    }
    }


@@ -375,6 +379,12 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
        return mMaxMtu;
        return mMaxMtu;
    }
    }


    /** Retrieves the ikeTunnelConnectionParams contains IKEv2 configurations, if any was set. */
    @Nullable
    public IkeTunnelConnectionParams getIkeTunnelConnectionParams() {
        return mIkeTunConnParams;
    }

    /**
    /**
     * Returns whether or not this VPN profile is restricted to test networks.
     * Returns whether or not this VPN profile is restricted to test networks.
     *
     *
@@ -403,7 +413,8 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
                mMaxMtu,
                mMaxMtu,
                mIsRestrictedToTestNetworks,
                mIsRestrictedToTestNetworks,
                mExcludeLocalRoutes,
                mExcludeLocalRoutes,
                mRequiresInternetValidation);
                mRequiresInternetValidation,
                mIkeTunConnParams);
    }
    }


    @Override
    @Override
@@ -429,7 +440,8 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
                && mMaxMtu == other.mMaxMtu
                && mMaxMtu == other.mMaxMtu
                && mIsRestrictedToTestNetworks == other.mIsRestrictedToTestNetworks
                && mIsRestrictedToTestNetworks == other.mIsRestrictedToTestNetworks
                && mExcludeLocalRoutes == other.mExcludeLocalRoutes
                && mExcludeLocalRoutes == other.mExcludeLocalRoutes
                && mRequiresInternetValidation == other.mRequiresInternetValidation;
                && mRequiresInternetValidation == other.mRequiresInternetValidation
                && Objects.equals(mIkeTunConnParams, other.mIkeTunConnParams);
    }
    }


    /**
    /**
@@ -504,6 +516,7 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
    @NonNull
    @NonNull
    public static Ikev2VpnProfile fromVpnProfile(@NonNull VpnProfile profile)
    public static Ikev2VpnProfile fromVpnProfile(@NonNull VpnProfile profile)
            throws GeneralSecurityException {
            throws GeneralSecurityException {
        // TODO: Build the VpnProfile from mIkeTunConnParams if it exists.
        final Builder builder = new Builder(profile.server, profile.ipsecIdentifier);
        final Builder builder = new Builder(profile.server, profile.ipsecIdentifier);
        builder.setProxy(profile.proxy);
        builder.setProxy(profile.proxy);
        builder.setAllowedAlgorithms(profile.getAllowedAlgorithms());
        builder.setAllowedAlgorithms(profile.getAllowedAlgorithms());
@@ -788,7 +801,7 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
        private int mMaxMtu = PlatformVpnProfile.MAX_MTU_DEFAULT;
        private int mMaxMtu = PlatformVpnProfile.MAX_MTU_DEFAULT;
        private boolean mIsRestrictedToTestNetworks = false;
        private boolean mIsRestrictedToTestNetworks = false;
        private boolean mExcludeLocalRoutes = false;
        private boolean mExcludeLocalRoutes = false;
        @Nullable private IkeTunnelConnectionParams mIkeTunConnParams;
        @Nullable private final IkeTunnelConnectionParams mIkeTunConnParams;


        /**
        /**
         * Creates a new builder with the basic parameters of an IKEv2/IPsec VPN.
         * Creates a new builder with the basic parameters of an IKEv2/IPsec VPN.
@@ -803,6 +816,8 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {


            mServerAddr = serverAddr;
            mServerAddr = serverAddr;
            mUserIdentity = identity;
            mUserIdentity = identity;

            mIkeTunConnParams = null;
        }
        }


        /**
        /**
@@ -1135,7 +1150,8 @@ public final class Ikev2VpnProfile extends PlatformVpnProfile {
                    mMaxMtu,
                    mMaxMtu,
                    mIsRestrictedToTestNetworks,
                    mIsRestrictedToTestNetworks,
                    mExcludeLocalRoutes,
                    mExcludeLocalRoutes,
                    mRequiresInternetValidation);
                    mRequiresInternetValidation,
                    mIkeTunConnParams);
        }
        }
    }
    }
}
}