To add a new BraveVpnService implementation based on Architecture 2.0, which must co-exist with Architecture 1.0 for quite a while, we need to split service's interface and implementation. All the external components will keep accessing VPN service via the BraveVpnService interface, but the implementation mostly goes into BraveVpnServiceImpl. This change revisits the approach how Brave VPN is enabled in GN. New flags are introduced: enable_brave_vpn_v1 and enable_brave_vpn_v2. Currently, only V1 architecture is implemented, hence, the GN flag enable_brave_vpn_v1 is enabled by default, and enable_brave_vpn_v2 is disabled by default. enable_brave_vpn becomes a dependent flag: it is enabled when either enable_brave_vpn_v1, or enable_brave_vpn_v2, or both are enabled. Implements part of https://github.com/brave/brave-browser/issues/54597
Name: boringtun URL: https://github.com/cloudflare/boringtun/ Version: 0.7.0 Revision: cdf3b24558441ff4dc62bf5992484c5457a36760 Update Mechanism: Manual License: BSD 3-Clause License Security Critical: yes Shipped: yes CPEPrefix: unknown Description: BoringTun is a Rust userspace implementation of the WireGuard protocol, maintained by Cloudflare. Brave uses it as the WireGuard tunnel engine for Brave VPN on desktop platforms. Local Modifications: No modifications.