Add MANAGE_IPSEC_TUNNELS Permission
Add a new MANAGE_IPSEC_TUNNELS permission and protect all IPsec Tunnel mode APIs with it. This permission is only granted to the system or through an AppOp. Bug: 66955045 Test: compilation Change-Id: I0f618373b500c493ef2211bece681f74652a1833
This commit is contained in:
@@ -658,6 +658,7 @@ public final class IpSecManager {
|
|||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
|
@RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS)
|
||||||
public void addAddress(@NonNull LinkAddress address) throws IOException {
|
public void addAddress(@NonNull LinkAddress address) throws IOException {
|
||||||
try {
|
try {
|
||||||
mService.addAddressToTunnelInterface(mResourceId, address);
|
mService.addAddressToTunnelInterface(mResourceId, address);
|
||||||
@@ -675,6 +676,7 @@ public final class IpSecManager {
|
|||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
|
@RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS)
|
||||||
public void removeAddress(@NonNull LinkAddress address) throws IOException {
|
public void removeAddress(@NonNull LinkAddress address) throws IOException {
|
||||||
try {
|
try {
|
||||||
mService.removeAddressFromTunnelInterface(mResourceId, address);
|
mService.removeAddressFromTunnelInterface(mResourceId, address);
|
||||||
@@ -768,7 +770,7 @@ public final class IpSecManager {
|
|||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
@NonNull
|
@NonNull
|
||||||
@RequiresPermission(android.Manifest.permission.NETWORK_STACK)
|
@RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS)
|
||||||
public IpSecTunnelInterface createIpSecTunnelInterface(@NonNull InetAddress localAddress,
|
public IpSecTunnelInterface createIpSecTunnelInterface(@NonNull InetAddress localAddress,
|
||||||
@NonNull InetAddress remoteAddress, @NonNull Network underlyingNetwork)
|
@NonNull InetAddress remoteAddress, @NonNull Network underlyingNetwork)
|
||||||
throws ResourceUnavailableException, IOException {
|
throws ResourceUnavailableException, IOException {
|
||||||
@@ -793,7 +795,7 @@ public final class IpSecManager {
|
|||||||
* @hide
|
* @hide
|
||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
@RequiresPermission(android.Manifest.permission.NETWORK_STACK)
|
@RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS)
|
||||||
public void applyTunnelModeTransform(@NonNull IpSecTunnelInterface tunnel,
|
public void applyTunnelModeTransform(@NonNull IpSecTunnelInterface tunnel,
|
||||||
@PolicyDirection int direction, @NonNull IpSecTransform transform) throws IOException {
|
@PolicyDirection int direction, @NonNull IpSecTransform transform) throws IOException {
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -282,7 +282,7 @@ public final class IpSecTransform implements AutoCloseable {
|
|||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
@RequiresPermission(anyOf = {
|
@RequiresPermission(anyOf = {
|
||||||
android.Manifest.permission.NETWORK_STACK,
|
android.Manifest.permission.MANAGE_IPSEC_TUNNELS,
|
||||||
android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD
|
android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD
|
||||||
})
|
})
|
||||||
public void startNattKeepalive(@NonNull NattKeepaliveCallback userCallback,
|
public void startNattKeepalive(@NonNull NattKeepaliveCallback userCallback,
|
||||||
@@ -325,7 +325,7 @@ public final class IpSecTransform implements AutoCloseable {
|
|||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
@RequiresPermission(anyOf = {
|
@RequiresPermission(anyOf = {
|
||||||
android.Manifest.permission.NETWORK_STACK,
|
android.Manifest.permission.MANAGE_IPSEC_TUNNELS,
|
||||||
android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD
|
android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD
|
||||||
})
|
})
|
||||||
public void stopNattKeepalive() {
|
public void stopNattKeepalive() {
|
||||||
@@ -478,7 +478,7 @@ public final class IpSecTransform implements AutoCloseable {
|
|||||||
*/
|
*/
|
||||||
@SystemApi
|
@SystemApi
|
||||||
@NonNull
|
@NonNull
|
||||||
@RequiresPermission(android.Manifest.permission.NETWORK_STACK)
|
@RequiresPermission(android.Manifest.permission.MANAGE_IPSEC_TUNNELS)
|
||||||
public IpSecTransform buildTunnelModeTransform(
|
public IpSecTransform buildTunnelModeTransform(
|
||||||
@NonNull InetAddress sourceAddress,
|
@NonNull InetAddress sourceAddress,
|
||||||
@NonNull IpSecManager.SecurityParameterIndex spi)
|
@NonNull IpSecManager.SecurityParameterIndex spi)
|
||||||
|
|||||||
Reference in New Issue
Block a user