Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 27e9fdd5 authored by Martijn Coenen's avatar Martijn Coenen
Browse files

Add in sandbox UIDs when configuring VPN.

SDK sandboxes that belong to an application should follow the same VPN
configuration that their corresponding app does.

Bug: 225317905
Test: atest VpnTest
Change-Id: I634f47a013fa2e42908d963fcd0634778298fee5
Merged-In: I634f47a013fa2e42908d963fcd0634778298fee5
parent 96770f25
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -1533,11 +1533,17 @@ public class Vpn {
    }

    // Note: Return type guarantees results are deduped and sorted, which callers require.
    // This method also adds the SDK sandbox UIDs corresponding to the applications by default,
    // since apps are generally not aware of them, yet they should follow the VPN configuration
    // of the app they belong to.
    private SortedSet<Integer> getAppsUids(List<String> packageNames, int userId) {
        SortedSet<Integer> uids = new TreeSet<>();
        for (String app : packageNames) {
            int uid = getAppUid(app, userId);
            if (uid != -1) uids.add(uid);
            if (Process.isApplicationUid(uid)) {
                uids.add(Process.toSdkSandboxUid(uid));
            }
        }
        return uids;
    }