Add some debugs to diagnose test failure.
Bug: 218308105 Test: atest com.android.cts.net.HostsideRestrictBackgroundNetworkTests Change-Id: I29d117a20905c065e50a21591a763fdadd8d2a7b
This commit is contained in:
@@ -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);
|
||||
@@ -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,
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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:
|
||||
@@ -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) {
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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="
|
||||
@@ -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) {
|
||||
@@ -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) {
|
||||
@@ -5562,7 +5564,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) {
|
||||
|
||||
Reference in New Issue
Block a user