From bc9c098e125a40cd07dafea0f3dab01186990a5d Mon Sep 17 00:00:00 2001 From: Benedict Wong Date: Mon, 5 Nov 2018 13:35:06 -0800 Subject: [PATCH] Add IPsec tunnel mode feature flag This patch adds a feature flag for IPsec Tunnel Mode. This implies VTI (with output-mark updating), or XFRM-I in the kernels. Bug: 117183273 Test: Compiles Change-Id: I6dd0e429cc0bd100f2ef1140a6651f6ef5294c79 Merged-In: I6dd0e429cc0bd100f2ef1140a6651f6ef5294c79 (cherry picked from commit dc92c69b087d5fbecff76ef1e739ae415312734d) --- api/current.txt | 1 + core/java/android/content/pm/PackageManager.java | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/api/current.txt b/api/current.txt index 4dcba8348d8c2..d44829ecb7a07 100755 --- a/api/current.txt +++ b/api/current.txt @@ -11323,6 +11323,7 @@ package android.content.pm { field public static final String FEATURE_HIFI_SENSORS = "android.hardware.sensor.hifi_sensors"; field public static final String FEATURE_HOME_SCREEN = "android.software.home_screen"; field public static final String FEATURE_INPUT_METHODS = "android.software.input_methods"; + field public static final String FEATURE_IPSEC_TUNNELS = "android.software.ipsec_tunnels"; field public static final String FEATURE_LEANBACK = "android.software.leanback"; field public static final String FEATURE_LEANBACK_ONLY = "android.software.leanback_only"; field public static final String FEATURE_LIVE_TV = "android.software.live_tv"; diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index 72981a7732773..4f7f07bdee552 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -2718,6 +2718,16 @@ public abstract class PackageManager { public static final String ACTION_CLEAN_EXTERNAL_STORAGE = "android.content.pm.CLEAN_EXTERNAL_STORAGE"; + /** + * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}: The device has + * the requisite kernel support for multinetworking-capable IPsec tunnels. + * + *

This feature implies that the device supports XFRM Interfaces (CONFIG_XFRM_INTERFACE), or + * VTIs with kernel patches allowing updates of output/set mark via UPDSA. + */ + @SdkConstant(SdkConstantType.FEATURE) + public static final String FEATURE_IPSEC_TUNNELS = "android.software.ipsec_tunnels"; + /** * Extra field name for the URI to a verification file. Passed to a package * verifier.