Skip to content

Fix VPN app update disabling always on and leak blocking#382

Merged
thestinger merged 1 commit into
GrapheneOS:17from
liamsmith827:17_06-22_vpn-app-update-bug
Jun 22, 2026
Merged

Fix VPN app update disabling always on and leak blocking#382
thestinger merged 1 commit into
GrapheneOS:17from
liamsmith827:17_06-22_vpn-app-update-bug

Conversation

@liamsmith827

Copy link
Copy Markdown

When a VPN app is updated and a user with that app set as the always-on VPN is started but not unlocked, then that app is removed as the always-on VPN for that user which in turn also removes leak blocking.

To reproduce this, one can install a VPN, set it as always on, restart the phone and update the package using adb install. After this process, the app will no longer have always on set. Alternatively, install the same VPN app in multiple users, set it as always on in the second user, restart the second user and then update the app in the primary user.

The issue is that Vpn.startAlwaysOnVpn() verifies that the package contains a VpnService, and this check doesn't work properly in BFU (unless the VpnService is marked as directBootAware).

Closes: GrapheneOS/os-issue-tracker#8023

@thestinger thestinger merged commit 783cfba into GrapheneOS:17 Jun 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

VPN Always-on/Block connections reset to OFF after system update

2 participants