Skip to content

feat: generic VPN support with rich enumeration and UUID-based activation#378

Merged
cachebag merged 13 commits intodevelopmentfrom
v2.x
Apr 25, 2026
Merged

feat: generic VPN support with rich enumeration and UUID-based activation#378
cachebag merged 13 commits intodevelopmentfrom
v2.x

Conversation

@cachebag
Copy link
Copy Markdown
Owner

VpnType becomes a data-carrying enum with first-class variants for OpenVPN, OpenConnect, strongSwan, PPTP, L2TP, and a Generic catch-all. The old simple tag is renamed to VpnKind (Plugin vs WireGuard). VpnConnection gains uuid, active, user_name, password_flags, service_type, and kind fields. Adds connect_vpn_by_uuid(), connect_vpn_by_id(), disconnect_vpn_by_uuid(), and active_vpn_connections(). Pure vpn_type_from_settings decoder with unit tests for each plugin type.

@cachebag cachebag self-assigned this Apr 25, 2026
@cachebag cachebag added feature New feature or request nmrs Changes to nmrs api-surface Public API design, re-exports, and semver-relevant changes vpn Changes to VPN surface dbus D-Bus types, signatures, or NM D-Bus API labels Apr 25, 2026
@cachebag cachebag merged commit f09f3c3 into development Apr 25, 2026
@cachebag cachebag deleted the v2.x branch April 25, 2026 04:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

api-surface Public API design, re-exports, and semver-relevant changes dbus D-Bus types, signatures, or NM D-Bus API feature New feature or request nmrs Changes to nmrs vpn Changes to VPN surface

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant