Merge "Add some debugs to diagnose test failure." into tm-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
9d8609fb48
@@ -77,6 +77,8 @@ public class NetworkPolicyLogger {
|
|||||||
private static final int EVENT_FIREWALL_CHAIN_ENABLED = 12;
|
private static final int EVENT_FIREWALL_CHAIN_ENABLED = 12;
|
||||||
private static final int EVENT_UPDATE_METERED_RESTRICTED_PKGS = 13;
|
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_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 mNetworkBlockedBuffer = new LogBuffer(MAX_NETWORK_BLOCKED_LOG_SIZE);
|
||||||
private final LogBuffer mUidStateChangeBuffer = new LogBuffer(MAX_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) {
|
void networkBlocked(int uid, @Nullable UidBlockedState uidBlockedState) {
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
if (LOGD || uid == mDebugUid) {
|
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) {
|
if (uidBlockedState == null) {
|
||||||
mNetworkBlockedBuffer.networkBlocked(uid, BLOCKED_REASON_NONE, ALLOWED_REASON_NONE,
|
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) {
|
void setDebugUid(int uid) {
|
||||||
mDebugUid = uid;
|
mDebugUid = uid;
|
||||||
}
|
}
|
||||||
@@ -320,6 +340,14 @@ public class NetworkPolicyLogger {
|
|||||||
return "Firewall chain " + getFirewallChainName(chain) + " state: " + enabled;
|
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) {
|
private static String getFirewallChainName(int chain) {
|
||||||
switch (chain) {
|
switch (chain) {
|
||||||
case FIREWALL_CHAIN_DOZABLE:
|
case FIREWALL_CHAIN_DOZABLE:
|
||||||
@@ -520,6 +548,28 @@ public class NetworkPolicyLogger {
|
|||||||
data.timeStamp = System.currentTimeMillis();
|
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) {
|
public void reverseDump(IndentingPrintWriter pw) {
|
||||||
final Data[] allData = toArray();
|
final Data[] allData = toArray();
|
||||||
for (int i = allData.length - 1; i >= 0; --i) {
|
for (int i = allData.length - 1; i >= 0; --i) {
|
||||||
@@ -567,6 +617,10 @@ public class NetworkPolicyLogger {
|
|||||||
return getUidFirewallRuleChangedLog(data.ifield1, data.ifield2, data.ifield3);
|
return getUidFirewallRuleChangedLog(data.ifield1, data.ifield2, data.ifield3);
|
||||||
case EVENT_FIREWALL_CHAIN_ENABLED:
|
case EVENT_FIREWALL_CHAIN_ENABLED:
|
||||||
return getFirewallChainEnabledLog(data.ifield1, data.bfield1);
|
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:
|
default:
|
||||||
return String.valueOf(data.type);
|
return String.valueOf(data.type);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4864,7 +4864,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
|||||||
+ ", isAllowed=" + isAllowed
|
+ ", isAllowed=" + isAllowed
|
||||||
+ ", isRestrictedByAdmin=" + isRestrictedByAdmin
|
+ ", isRestrictedByAdmin=" + isRestrictedByAdmin
|
||||||
+ ", oldBlockedState=" + previousUidBlockedState.toString()
|
+ ", oldBlockedState=" + previousUidBlockedState.toString()
|
||||||
+ ", newBlockedState="
|
+ ", newBlockedState=" + uidBlockedState.toString()
|
||||||
+ ", oldBlockedMeteredReasons=" + NetworkPolicyManager.blockedReasonsToString(
|
+ ", oldBlockedMeteredReasons=" + NetworkPolicyManager.blockedReasonsToString(
|
||||||
uidBlockedState.blockedReasons & BLOCKED_METERED_REASON_MASK)
|
uidBlockedState.blockedReasons & BLOCKED_METERED_REASON_MASK)
|
||||||
+ ", oldBlockedMeteredEffectiveReasons="
|
+ ", oldBlockedMeteredEffectiveReasons="
|
||||||
@@ -5420,6 +5420,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
|||||||
if (LOGV) Slog.v(TAG, "setMeteredNetworkDenylist " + uid + ": " + enable);
|
if (LOGV) Slog.v(TAG, "setMeteredNetworkDenylist " + uid + ": " + enable);
|
||||||
try {
|
try {
|
||||||
mNetworkManager.setUidOnMeteredNetworkDenylist(uid, enable);
|
mNetworkManager.setUidOnMeteredNetworkDenylist(uid, enable);
|
||||||
|
mLogger.meteredAllowlistChanged(uid, enable);
|
||||||
} catch (IllegalStateException e) {
|
} catch (IllegalStateException e) {
|
||||||
Log.wtf(TAG, "problem setting denylist (" + enable + ") rules for " + uid, e);
|
Log.wtf(TAG, "problem setting denylist (" + enable + ") rules for " + uid, e);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
@@ -5431,6 +5432,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
|||||||
if (LOGV) Slog.v(TAG, "setMeteredNetworkAllowlist " + uid + ": " + enable);
|
if (LOGV) Slog.v(TAG, "setMeteredNetworkAllowlist " + uid + ": " + enable);
|
||||||
try {
|
try {
|
||||||
mNetworkManager.setUidOnMeteredNetworkAllowlist(uid, enable);
|
mNetworkManager.setUidOnMeteredNetworkAllowlist(uid, enable);
|
||||||
|
mLogger.meteredDenylistChanged(uid, enable);
|
||||||
} catch (IllegalStateException e) {
|
} catch (IllegalStateException e) {
|
||||||
Log.wtf(TAG, "problem setting allowlist (" + enable + ") rules for " + uid, e);
|
Log.wtf(TAG, "problem setting allowlist (" + enable + ") rules for " + uid, e);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
@@ -5563,7 +5565,9 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub {
|
|||||||
.setFirewallUidRule(FIREWALL_CHAIN_LOW_POWER_STANDBY, uid,
|
.setFirewallUidRule(FIREWALL_CHAIN_LOW_POWER_STANDBY, uid,
|
||||||
FIREWALL_RULE_DEFAULT);
|
FIREWALL_RULE_DEFAULT);
|
||||||
mNetworkManager.setUidOnMeteredNetworkAllowlist(uid, false);
|
mNetworkManager.setUidOnMeteredNetworkAllowlist(uid, false);
|
||||||
|
mLogger.meteredAllowlistChanged(uid, false);
|
||||||
mNetworkManager.setUidOnMeteredNetworkDenylist(uid, false);
|
mNetworkManager.setUidOnMeteredNetworkDenylist(uid, false);
|
||||||
|
mLogger.meteredDenylistChanged(uid, false);
|
||||||
} catch (IllegalStateException e) {
|
} catch (IllegalStateException e) {
|
||||||
Log.wtf(TAG, "problem resetting firewall uid rules for " + uid, e);
|
Log.wtf(TAG, "problem resetting firewall uid rules for " + uid, e);
|
||||||
} catch (RemoteException e) {
|
} catch (RemoteException e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user