diff options
| -rw-r--r-- | core/java/com/android/internal/net/VpnProfile.java | 13 | ||||
| -rw-r--r-- | services/core/java/com/android/server/VpnManagerService.java | 3 |
2 files changed, 10 insertions, 6 deletions
diff --git a/core/java/com/android/internal/net/VpnProfile.java b/core/java/com/android/internal/net/VpnProfile.java index 6e1d3ce9a297..5f84b5a92305 100644 --- a/core/java/com/android/internal/net/VpnProfile.java +++ b/core/java/com/android/internal/net/VpnProfile.java @@ -377,12 +377,15 @@ public final class VpnProfile implements Cloneable, Parcelable { /** Checks if this profile specifies a LegacyVpn type. */ public static boolean isLegacyType(int type) { switch (type) { - case VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS: // fall through - case VpnProfile.TYPE_IKEV2_IPSEC_RSA: // fall through - case VpnProfile.TYPE_IKEV2_IPSEC_PSK: - return false; - default: + case VpnProfile.TYPE_PPTP: + case VpnProfile.TYPE_L2TP_IPSEC_PSK: + case VpnProfile.TYPE_L2TP_IPSEC_RSA: + case VpnProfile.TYPE_IPSEC_XAUTH_PSK: + case VpnProfile.TYPE_IPSEC_XAUTH_RSA: + case VpnProfile.TYPE_IPSEC_HYBRID_RSA: return true; + default: + return false; } } diff --git a/services/core/java/com/android/server/VpnManagerService.java b/services/core/java/com/android/server/VpnManagerService.java index 70176a0fefeb..d483f1863258 100644 --- a/services/core/java/com/android/server/VpnManagerService.java +++ b/services/core/java/com/android/server/VpnManagerService.java @@ -357,7 +357,8 @@ public class VpnManagerService extends IVpnManager.Stub { @SuppressWarnings("AndroidFrameworkCompatChange") // This is not an app-visible API. @Override public void startLegacyVpn(VpnProfile profile) { - if (Build.VERSION.DEVICE_INITIAL_SDK_INT >= Build.VERSION_CODES.S) { + if (Build.VERSION.DEVICE_INITIAL_SDK_INT >= Build.VERSION_CODES.S + && VpnProfile.isLegacyType(profile.type)) { throw new UnsupportedOperationException("Legacy VPN is deprecated"); } int user = UserHandle.getUserId(mDeps.getCallingUid()); |