From b062e19f8293b142acaa0aee9e45243acf40813c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?T=C6=B0=20M=C3=A3=20T=E1=BA=A7n=20Qu=E1=BA=A3ng?= <baobaoxich@gmail.com> Date: Thu, 24 Feb 2022 06:14:25 +0000 Subject: [PATCH] Add CLI command to restrict all network usage MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reference: https://review.lineageos.org/c/324695 Signed-off-by: Tư Mã Tần Quảng <baobaoxich@gmail.com> Change-Id: I07dd734faca6116356fc05af7dff262bec65b4cb --- .../net/NetworkPolicyManagerShellCommand.java | 26 +++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerShellCommand.java b/services/core/java/com/android/server/net/NetworkPolicyManagerShellCommand.java index eeb5c499282e..be5c4a52bea8 100644 --- a/services/core/java/com/android/server/net/NetworkPolicyManagerShellCommand.java +++ b/services/core/java/com/android/server/net/NetworkPolicyManagerShellCommand.java @@ -18,6 +18,7 @@ package com.android.server.net; import static android.net.NetworkPolicyManager.POLICY_ALLOW_METERED_BACKGROUND; import static android.net.NetworkPolicyManager.POLICY_NONE; +import static android.net.NetworkPolicyManager.POLICY_REJECT_ALL; import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND; import static android.net.NetworkPolicyManager.POLICY_REJECT_WIFI; import static android.net.NetworkPolicyManager.POLICY_REJECT_CELLULAR; @@ -86,6 +87,8 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { pw.println(" Adds a UID to the whitelist for restrict background usage."); pw.println(" add restrict-background-blacklist UID"); pw.println(" Adds a UID to the blacklist for restrict background usage."); + pw.println(" add restrict-network-usage-blacklist UID"); + pw.println(" Adds a UID to the blacklist for restrict network usage."); pw.println(" add restrict-wifi-data-blacklist UID"); pw.println(" Adds a UID to the blacklist for restrict Wi-Fi data usage."); pw.println(" add restrict-mobile-data-blacklist UID"); @@ -104,6 +107,8 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { pw.println(" Lists UIDs that are whitelisted for restrict background usage."); pw.println(" list restrict-background-blacklist"); pw.println(" Lists UIDs that are blacklisted for restrict background usage."); + pw.println(" list restrict-network-usage-blacklist"); + pw.println(" Lists UIDs that are blacklisted for restrict network usage."); pw.println(" list restrict-wifi-data-blacklist"); pw.println(" Lists UIDs that are blacklisted for restrict Wi-Fi data usage."); pw.println(" list restrict-mobile-data-blacklist"); @@ -114,6 +119,8 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { pw.println(" Removes a UID from the whitelist for restrict background usage."); pw.println(" remove restrict-background-blacklist UID"); pw.println(" Removes a UID from the blacklist for restrict background usage."); + pw.println(" remove restrict-network-usage-blacklist UID"); + pw.println(" Removes a UID from the blacklist for restrict network usage."); pw.println(" remove restrict-wifi-data-blacklist UID"); pw.println(" Removes a UID from the blacklist for restrict Wi-Fi data usage."); pw.println(" remove restrict-mobile-data-blacklist UID"); @@ -182,6 +189,8 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { return listRestrictBackgroundWhitelist(); case "restrict-background-blacklist": return listRestrictBackgroundBlacklist(); + case "restrict-network-usage-blacklist": + return listRestrictNetworkUsageBlacklist(); case "restrict-wifi-data-blacklist": return listRestrictWiFiDataBlacklist(); case "restrict-mobile-data-blacklist": @@ -205,6 +214,8 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { return addRestrictBackgroundWhitelist(); case "restrict-background-blacklist": return addRestrictBackgroundBlacklist(); + case "restrict-network-usage-blacklist": + return addRestrictNetworkUsageBlacklist(); case "restrict-wifi-data-blacklist": return addRestrictWiFiDataBlacklist(); case "restrict-mobile-data-blacklist": @@ -230,6 +241,8 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { return removeRestrictBackgroundWhitelist(); case "restrict-background-blacklist": return removeRestrictBackgroundBlacklist(); + case "restrict-network-usage-blacklist": + return removeRestrictNetworkUsageBlacklist(); case "restrict-wifi-data-blacklist": return removeRestrictWiFiDataBlacklist(); case "restrict-mobile-data-blacklist": @@ -290,6 +303,11 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { POLICY_REJECT_METERED_BACKGROUND); } + private int listRestrictNetworkUsageBlacklist() throws RemoteException { + return listUidPolicies("Restrict network usage blacklisted UIDs", + POLICY_REJECT_ALL); + } + private int listRestrictWiFiDataBlacklist() throws RemoteException { return listUidPolicies("Restrict Wi-Fi data blacklisted UIDs", POLICY_REJECT_WIFI); @@ -377,6 +395,10 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { return setUidPolicy(POLICY_REJECT_METERED_BACKGROUND); } + private int addRestrictNetworkUsageBlacklist() throws RemoteException { + return setUidPolicy(POLICY_REJECT_ALL); + } + private int addRestrictWiFiDataBlacklist() throws RemoteException { return setUidPolicy(POLICY_REJECT_WIFI); } @@ -393,6 +415,10 @@ class NetworkPolicyManagerShellCommand extends ShellCommand { return resetUidPolicy("not blacklisted", POLICY_REJECT_METERED_BACKGROUND); } + private int removeRestrictNetworkUsageBlacklist() throws RemoteException { + return resetUidPolicy("not blacklisted", POLICY_REJECT_ALL); + } + private int removeRestrictWiFiDataBlacklist() throws RemoteException { return resetUidPolicy("not blacklisted", POLICY_REJECT_WIFI); } -- GitLab