Merge "Clear UIDs when sharing NetworkCapabilties for ConnectivityDiagnostics."
This commit is contained in:
@@ -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<>();
|
||||
|
||||
Reference in New Issue
Block a user