Bug 397572 - Add support for the Wireguard plugin
Summary: Add support for the Wireguard plugin
Alias: None
Product: plasma-nm
Classification: Plasma
Component: general (show other bugs)
Version: master
Platform: Other Linux
: NOR wishlist
Target Milestone: ---
Assignee: Jan Grulich
Depends on:
Reported: 2018-08-18 08:13 UTC by K900
Modified: 2018-11-07 20:32 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.15.0


Note You need to log in before you can comment on or make changes to this bug.
Description K900 2018-08-18 08:13:10 UTC
There's now a Wireguard plugin for NetworkManager itself at https://github.com/max-moser/network-manager-wireguard, and it works really well (in my experience), but the connection editor part isn't there on Plasma's side, and the applet seems to refuse to bring up the connection (while nmcli works fine). I'd be up for doing this myself if anyone can help me find my way around the codebase :)
Comment 1 Bruce Anderson 2018-08-25 06:33:05 UTC
I have a nearly completed version of this at https://github.com/Druco/plasma-nm-wireguard.  I have been using it for a couple of weeks in opensuse tumbleweed while I added some bells and whistles.

Currently the repository is only the new vpn/wireguard directory rather than a full clone of plasma-nm but I should be ready to do a clone, fold in the new code, and do a pull request in the next few days if the devs are interested in adding this.

Please let me know if there is interest for this and I will generate a pull request.
Comment 2 Jan Grulich 2018-08-25 08:40:49 UTC
Open please a review in phabricator and I'll take a look, thank you for your work.
Comment 3 Bruce Anderson 2018-08-26 06:39:49 UTC
I will open a review in phabricator as soon as I finish reading the documentation to figure out how to use it.
Comment 4 Christoph Feck 2018-09-13 20:15:33 UTC
Comment 5 Jan Grulich 2018-10-17 10:37:45 UTC
Git commit 71833088fb26be75ae88f13f970b814436b688ce by Jan Grulich, on behalf of Bruce Anderson.
Committed on 17/10/2018 at 10:37.
Pushed by grulich into branch 'master'.

Upgrade SimpleIpV4AddressValidator and SimpleIpV6AddressValidator

to optionally handle a CIDR or port suffix. Added capabilitiesimplemented via defaulted parameter to maintain compatibilitywith the previous version. Includes unit tests for the updated
code. Opened as a separate review per comment from Pino on review

Part of:
FIXED-IN: 5.14.0

Reviewers: jgrulich, pino

Subscribers: ngraham, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D15520

M  +2    -0    CMakeLists.txt
M  +1    -0    libs/editor/CMakeLists.txt
A  +108  -0    libs/editor/simpleiplistvalidator.cpp     [License: GPL]
C  +16   -13   libs/editor/simpleiplistvalidator.h [from: libs/editor/simpleipv4addressvalidator.h - 057% similarity]
M  +77   -7    libs/editor/simpleipv4addressvalidator.cpp
M  +6    -1    libs/editor/simpleipv4addressvalidator.h
M  +117  -15   libs/editor/simpleipv6addressvalidator.cpp
M  +6    -1    libs/editor/simpleipv6addressvalidator.h
A  +30   -0    tests/CMakeLists.txt
A  +136  -0    tests/simpleiplisttest.cpp     [License: GPL]
A  +152  -0    tests/simpleipv4test.cpp     [License: GPL]
A  +192  -0    tests/simpleipv6test.cpp     [License: GPL]

Comment 6 Jan Grulich 2018-11-07 08:53:12 UTC
Git commit 389a5e195bce4c2da3fef750c7cc18425c491e29 by Jan Grulich, on behalf of Bruce Anderson.
Committed on 07/11/2018 at 08:39.
Pushed by grulich into branch 'master'.

Add WireGuard capability.

FIXED-IN: 5.14.0

Reviewers: #plasma, jgrulich, pino

Reviewed By: jgrulich

Subscribers: acrouthamel, K900, pino, lbeltrame, ngraham, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D15093

M  +3    -1    libs/models/kcmidentitymodel.cpp
M  +1    -0    vpn/CMakeLists.txt
A  +31   -0    vpn/wireguard/CMakeLists.txt
A  +48   -0    vpn/wireguard/nm-wireguard-service.h     [License: GPL (v2+)]
A  +17   -0    vpn/wireguard/plasmanetworkmanagement_wireguardui.desktop
A  +381  -0    vpn/wireguard/wireguard.cpp     [License: GPL (v2/3)]
A  +44   -0    vpn/wireguard/wireguard.h     [License: GPL (v2/3)]
A  +199  -0    vpn/wireguard/wireguard.ui
A  +252  -0    vpn/wireguard/wireguardadvanced.ui
A  +264  -0    vpn/wireguard/wireguardadvancedwidget.cpp     [License: LGPL]
A  +59   -0    vpn/wireguard/wireguardadvancedwidget.h     [License: LGPL]
A  +56   -0    vpn/wireguard/wireguardauth.cpp     [License: GPL (v2/3)]
A  +43   -0    vpn/wireguard/wireguardauth.h     [License: GPL (v2/3)]
A  +31   -0    vpn/wireguard/wireguardauth.ui
A  +39   -0    vpn/wireguard/wireguardkeyvalidator.cpp     [License: GPL]
A  +38   -0    vpn/wireguard/wireguardkeyvalidator.h     [License: GPL]
A  +324  -0    vpn/wireguard/wireguardwidget.cpp     [License: GPL (v2/3)]
A  +60   -0    vpn/wireguard/wireguardwidget.h     [License: GPL (v2/3)]