Bug 397572

Summary: Add support for the Wireguard plugin
Product: [Plasma] plasma-nm Reporter: K900 <me>
Component: generalAssignee: Jan Grulich <jgrulich>
Severity: wishlist CC: banderson19com, jgrulich, nate
Priority: NOR    
Version: master   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 5.15.0
Sentry Crash Report:

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)]