Loading services/core/java/com/android/server/net/NetworkPolicyLogger.java +55 −1 Original line number Diff line number Diff line Loading @@ -77,6 +77,8 @@ public class NetworkPolicyLogger { private static final int EVENT_FIREWALL_CHAIN_ENABLED = 12; private static final int EVENT_UPDATE_METERED_RESTRICTED_PKGS = 13; private static final int EVENT_APP_IDLE_WL_CHANGED = 14; private static final int EVENT_METERED_ALLOWLIST_CHANGED = 15; private static final int EVENT_METERED_DENYLIST_CHANGED = 16; private final LogBuffer mNetworkBlockedBuffer = new LogBuffer(MAX_NETWORK_BLOCKED_LOG_SIZE); private final LogBuffer mUidStateChangeBuffer = new LogBuffer(MAX_LOG_SIZE); Loading @@ -89,7 +91,7 @@ public class NetworkPolicyLogger { void networkBlocked(int uid, @Nullable UidBlockedState uidBlockedState) { synchronized (mLock) { if (LOGD || uid == mDebugUid) { Slog.d(TAG, "Blocked state of uid: " + uidBlockedState.toString()); Slog.d(TAG, "Blocked state of " + uid + ": " + uidBlockedState.toString()); } if (uidBlockedState == null) { mNetworkBlockedBuffer.networkBlocked(uid, BLOCKED_REASON_NONE, ALLOWED_REASON_NONE, Loading Loading @@ -245,6 +247,24 @@ public class NetworkPolicyLogger { } } void meteredAllowlistChanged(int uid, boolean added) { synchronized (mLock) { if (LOGD || mDebugUid == uid) { Slog.d(TAG, getMeteredAllowlistChangedLog(uid, added)); } mEventsBuffer.meteredAllowlistChanged(uid, added); } } void meteredDenylistChanged(int uid, boolean added) { synchronized (mLock) { if (LOGD || mDebugUid == uid) { Slog.d(TAG, getMeteredDenylistChangedLog(uid, added)); } mEventsBuffer.meteredDenylistChanged(uid, added); } } void setDebugUid(int uid) { mDebugUid = uid; } Loading Loading @@ -320,6 +340,14 @@ public class NetworkPolicyLogger { return "Firewall chain " + getFirewallChainName(chain) + " state: " + enabled; } private static String getMeteredAllowlistChangedLog(int uid, boolean added) { return "metered-allowlist for " + uid + " changed to " + added; } private static String getMeteredDenylistChangedLog(int uid, boolean added) { return "metered-denylist for " + uid + " changed to " + added; } private static String getFirewallChainName(int chain) { switch (chain) { case FIREWALL_CHAIN_DOZABLE: Loading Loading @@ -520,6 +548,28 @@ public class NetworkPolicyLogger { data.timeStamp = System.currentTimeMillis(); } public void meteredAllowlistChanged(int uid, boolean added) { final Data data = getNextSlot(); if (data == null) return; data.reset(); data.type = EVENT_METERED_ALLOWLIST_CHANGED; data.ifield1 = uid; data.bfield1 = added; data.timeStamp = System.currentTimeMillis(); } public void meteredDenylistChanged(int uid, boolean added) { final Data data = getNextSlot(); if (data == null) return; data.reset(); data.type = EVENT_METERED_DENYLIST_CHANGED; data.ifield1 = uid; data.bfield1 = added; data.timeStamp = System.currentTimeMillis(); } public void reverseDump(IndentingPrintWriter pw) { final Data[] allData = toArray(); for (int i = allData.length - 1; i >= 0; --i) { Loading Loading @@ -567,6 +617,10 @@ public class NetworkPolicyLogger { return getUidFirewallRuleChangedLog(data.ifield1, data.ifield2, data.ifield3); case EVENT_FIREWALL_CHAIN_ENABLED: return getFirewallChainEnabledLog(data.ifield1, data.bfield1); case EVENT_METERED_ALLOWLIST_CHANGED: return getMeteredAllowlistChangedLog(data.ifield1, data.bfield1); case EVENT_METERED_DENYLIST_CHANGED: return getMeteredDenylistChangedLog(data.ifield1, data.bfield1); default: return String.valueOf(data.type); } Loading services/core/java/com/android/server/net/NetworkPolicyManagerService.java +5 −1 Original line number Diff line number Diff line Loading @@ -4864,7 +4864,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { + ", isAllowed=" + isAllowed + ", isRestrictedByAdmin=" + isRestrictedByAdmin + ", oldBlockedState=" + previousUidBlockedState.toString() + ", newBlockedState=" + ", newBlockedState=" + uidBlockedState.toString() + ", oldBlockedMeteredReasons=" + NetworkPolicyManager.blockedReasonsToString( uidBlockedState.blockedReasons & BLOCKED_METERED_REASON_MASK) + ", oldBlockedMeteredEffectiveReasons=" Loading Loading @@ -5420,6 +5420,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { if (LOGV) Slog.v(TAG, "setMeteredNetworkDenylist " + uid + ": " + enable); try { mNetworkManager.setUidOnMeteredNetworkDenylist(uid, enable); mLogger.meteredAllowlistChanged(uid, enable); } catch (IllegalStateException e) { Log.wtf(TAG, "problem setting denylist (" + enable + ") rules for " + uid, e); } catch (RemoteException e) { Loading @@ -5431,6 +5432,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { if (LOGV) Slog.v(TAG, "setMeteredNetworkAllowlist " + uid + ": " + enable); try { mNetworkManager.setUidOnMeteredNetworkAllowlist(uid, enable); mLogger.meteredDenylistChanged(uid, enable); } catch (IllegalStateException e) { Log.wtf(TAG, "problem setting allowlist (" + enable + ") rules for " + uid, e); } catch (RemoteException e) { Loading Loading @@ -5563,7 +5565,9 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { .setFirewallUidRule(FIREWALL_CHAIN_LOW_POWER_STANDBY, uid, FIREWALL_RULE_DEFAULT); mNetworkManager.setUidOnMeteredNetworkAllowlist(uid, false); mLogger.meteredAllowlistChanged(uid, false); mNetworkManager.setUidOnMeteredNetworkDenylist(uid, false); mLogger.meteredDenylistChanged(uid, false); } catch (IllegalStateException e) { Log.wtf(TAG, "problem resetting firewall uid rules for " + uid, e); } catch (RemoteException e) { Loading Loading
services/core/java/com/android/server/net/NetworkPolicyLogger.java +55 −1 Original line number Diff line number Diff line Loading @@ -77,6 +77,8 @@ public class NetworkPolicyLogger { private static final int EVENT_FIREWALL_CHAIN_ENABLED = 12; private static final int EVENT_UPDATE_METERED_RESTRICTED_PKGS = 13; private static final int EVENT_APP_IDLE_WL_CHANGED = 14; private static final int EVENT_METERED_ALLOWLIST_CHANGED = 15; private static final int EVENT_METERED_DENYLIST_CHANGED = 16; private final LogBuffer mNetworkBlockedBuffer = new LogBuffer(MAX_NETWORK_BLOCKED_LOG_SIZE); private final LogBuffer mUidStateChangeBuffer = new LogBuffer(MAX_LOG_SIZE); Loading @@ -89,7 +91,7 @@ public class NetworkPolicyLogger { void networkBlocked(int uid, @Nullable UidBlockedState uidBlockedState) { synchronized (mLock) { if (LOGD || uid == mDebugUid) { Slog.d(TAG, "Blocked state of uid: " + uidBlockedState.toString()); Slog.d(TAG, "Blocked state of " + uid + ": " + uidBlockedState.toString()); } if (uidBlockedState == null) { mNetworkBlockedBuffer.networkBlocked(uid, BLOCKED_REASON_NONE, ALLOWED_REASON_NONE, Loading Loading @@ -245,6 +247,24 @@ public class NetworkPolicyLogger { } } void meteredAllowlistChanged(int uid, boolean added) { synchronized (mLock) { if (LOGD || mDebugUid == uid) { Slog.d(TAG, getMeteredAllowlistChangedLog(uid, added)); } mEventsBuffer.meteredAllowlistChanged(uid, added); } } void meteredDenylistChanged(int uid, boolean added) { synchronized (mLock) { if (LOGD || mDebugUid == uid) { Slog.d(TAG, getMeteredDenylistChangedLog(uid, added)); } mEventsBuffer.meteredDenylistChanged(uid, added); } } void setDebugUid(int uid) { mDebugUid = uid; } Loading Loading @@ -320,6 +340,14 @@ public class NetworkPolicyLogger { return "Firewall chain " + getFirewallChainName(chain) + " state: " + enabled; } private static String getMeteredAllowlistChangedLog(int uid, boolean added) { return "metered-allowlist for " + uid + " changed to " + added; } private static String getMeteredDenylistChangedLog(int uid, boolean added) { return "metered-denylist for " + uid + " changed to " + added; } private static String getFirewallChainName(int chain) { switch (chain) { case FIREWALL_CHAIN_DOZABLE: Loading Loading @@ -520,6 +548,28 @@ public class NetworkPolicyLogger { data.timeStamp = System.currentTimeMillis(); } public void meteredAllowlistChanged(int uid, boolean added) { final Data data = getNextSlot(); if (data == null) return; data.reset(); data.type = EVENT_METERED_ALLOWLIST_CHANGED; data.ifield1 = uid; data.bfield1 = added; data.timeStamp = System.currentTimeMillis(); } public void meteredDenylistChanged(int uid, boolean added) { final Data data = getNextSlot(); if (data == null) return; data.reset(); data.type = EVENT_METERED_DENYLIST_CHANGED; data.ifield1 = uid; data.bfield1 = added; data.timeStamp = System.currentTimeMillis(); } public void reverseDump(IndentingPrintWriter pw) { final Data[] allData = toArray(); for (int i = allData.length - 1; i >= 0; --i) { Loading Loading @@ -567,6 +617,10 @@ public class NetworkPolicyLogger { return getUidFirewallRuleChangedLog(data.ifield1, data.ifield2, data.ifield3); case EVENT_FIREWALL_CHAIN_ENABLED: return getFirewallChainEnabledLog(data.ifield1, data.bfield1); case EVENT_METERED_ALLOWLIST_CHANGED: return getMeteredAllowlistChangedLog(data.ifield1, data.bfield1); case EVENT_METERED_DENYLIST_CHANGED: return getMeteredDenylistChangedLog(data.ifield1, data.bfield1); default: return String.valueOf(data.type); } Loading
services/core/java/com/android/server/net/NetworkPolicyManagerService.java +5 −1 Original line number Diff line number Diff line Loading @@ -4864,7 +4864,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { + ", isAllowed=" + isAllowed + ", isRestrictedByAdmin=" + isRestrictedByAdmin + ", oldBlockedState=" + previousUidBlockedState.toString() + ", newBlockedState=" + ", newBlockedState=" + uidBlockedState.toString() + ", oldBlockedMeteredReasons=" + NetworkPolicyManager.blockedReasonsToString( uidBlockedState.blockedReasons & BLOCKED_METERED_REASON_MASK) + ", oldBlockedMeteredEffectiveReasons=" Loading Loading @@ -5420,6 +5420,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { if (LOGV) Slog.v(TAG, "setMeteredNetworkDenylist " + uid + ": " + enable); try { mNetworkManager.setUidOnMeteredNetworkDenylist(uid, enable); mLogger.meteredAllowlistChanged(uid, enable); } catch (IllegalStateException e) { Log.wtf(TAG, "problem setting denylist (" + enable + ") rules for " + uid, e); } catch (RemoteException e) { Loading @@ -5431,6 +5432,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { if (LOGV) Slog.v(TAG, "setMeteredNetworkAllowlist " + uid + ": " + enable); try { mNetworkManager.setUidOnMeteredNetworkAllowlist(uid, enable); mLogger.meteredDenylistChanged(uid, enable); } catch (IllegalStateException e) { Log.wtf(TAG, "problem setting allowlist (" + enable + ") rules for " + uid, e); } catch (RemoteException e) { Loading Loading @@ -5563,7 +5565,9 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub { .setFirewallUidRule(FIREWALL_CHAIN_LOW_POWER_STANDBY, uid, FIREWALL_RULE_DEFAULT); mNetworkManager.setUidOnMeteredNetworkAllowlist(uid, false); mLogger.meteredAllowlistChanged(uid, false); mNetworkManager.setUidOnMeteredNetworkDenylist(uid, false); mLogger.meteredDenylistChanged(uid, false); } catch (IllegalStateException e) { Log.wtf(TAG, "problem resetting firewall uid rules for " + uid, e); } catch (RemoteException e) { Loading