Merge "Clear UIDs when sharing NetworkCapabilties for ConnectivityDiagnostics."

This commit is contained in:
Cody Kesting
2020-03-09 15:12:51 +00:00
committed by Gerrit Code Review
2 changed files with 29 additions and 7 deletions

View File

@@ -7828,12 +7828,15 @@ public class ConnectivityService extends IConnectivityManager.Stub
private void handleNetworkTestedWithExtras(
@NonNull ConnectivityReportEvent reportEvent, @NonNull PersistableBundle extras) {
final NetworkAgentInfo nai = reportEvent.mNai;
final NetworkCapabilities networkCapabilities =
new NetworkCapabilities(nai.networkCapabilities);
clearNetworkCapabilitiesUids(networkCapabilities);
final ConnectivityReport report =
new ConnectivityReport(
reportEvent.mNai.network,
reportEvent.mTimestampMillis,
nai.linkProperties,
nai.networkCapabilities,
networkCapabilities,
extras);
final List<IConnectivityDiagnosticsCallback> results =
getMatchingPermissionedCallbacks(nai);
@@ -7849,13 +7852,16 @@ public class ConnectivityService extends IConnectivityManager.Stub
private void handleDataStallSuspected(
@NonNull NetworkAgentInfo nai, long timestampMillis, int detectionMethod,
@NonNull PersistableBundle extras) {
final NetworkCapabilities networkCapabilities =
new NetworkCapabilities(nai.networkCapabilities);
clearNetworkCapabilitiesUids(networkCapabilities);
final DataStallReport report =
new DataStallReport(
nai.network,
timestampMillis,
detectionMethod,
nai.linkProperties,
nai.networkCapabilities,
networkCapabilities,
extras);
final List<IConnectivityDiagnosticsCallback> results =
getMatchingPermissionedCallbacks(nai);
@@ -7881,6 +7887,12 @@ public class ConnectivityService extends IConnectivityManager.Stub
}
}
private void clearNetworkCapabilitiesUids(@NonNull NetworkCapabilities nc) {
nc.setUids(null);
nc.setAdministratorUids(Collections.EMPTY_LIST);
nc.setOwnerUid(Process.INVALID_UID);
}
private List<IConnectivityDiagnosticsCallback> getMatchingPermissionedCallbacks(
@NonNull NetworkAgentInfo nai) {
final List<IConnectivityDiagnosticsCallback> results = new ArrayList<>();