Bug 403546 - Redundant plasma-nm wireguard DNS entry in connection editor
Summary: Redundant plasma-nm wireguard DNS entry in connection editor
Status: RESOLVED FIXED
Alias: None
Product: plasma-nm
Classification: Plasma
Component: editor (show other bugs)
Version: master
Platform: openSUSE Linux
: NOR normal
Target Milestone: ---
Assignee: Jan Grulich
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-01-24 08:26 UTC by Luca Beltrame
Modified: 2019-02-13 07:10 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Luca Beltrame 2019-01-24 08:26:09 UTC
SUMMARY
The DNS field in the connection editor for WireGuard VPNs is redundant, because it exposes an implementation detail (from the wg-quick utility) and does not leverage the IPv* connection options from NetworkManager.
At the same time, it is completely non-functional for systems that don't use resolvconf. 
In short, it would probably need to be removed and NM's native handling used instead.

STEPS TO REPRODUCE
1. Create a WireGuard connection in a distribution that doesn't use resolvconf
2. Fill in the DNS field in the UI

OBSERVED RESULT
The VPN connection, once established, does not use the configured DNS, as expected due to the lack of resolvconf. 

Setting DNS via the NetworkManager IP options (i.e. changing from "Automatic" to "Automatic (addresses only)" and setting the DNS) does change the VPN's DNS correctly.

Linux/KDE Plasma: latest git master
(available in About System)
KDE Plasma Version: latest git master
KDE Frameworks Version: latest git master
Qt Version: 5.12
Comment 1 Jan Grulich 2019-02-13 07:10:09 UTC
Git commit 29b6d0ee59001200de390d4926ada432670ccab8 by Jan Grulich, on behalf of Bruce Anderson.
Committed on 13/02/2019 at 07:10.
Pushed by grulich into branch 'master'.

Remove redundant DNS field

Summary:

A DNS field was included on the VPN tab in the initial release to match the
interface of the underlying NetworkManager plugin. This change removes this field and instead
requires the user to use the standard DNS field on the IPv4 and/or IPv6 tabs to enter DNS
servers.
The import function was changed to insert any DNS servers specified in the incoming config
file into the new locations and the export function was changed to output DNS servers from
the IPv4 and IPv6 tabs if they are present but for compatibility with connections created
with the previous version or with the basic NetworkManager plugin, if the IPv4 and IPv6 tabs
do not contain DNS and an (undisplayed) entry on the VPN tab is present it will export from
there.  This allows a user to update a connection to the new format by simply exporting it,
deleting it, and re-importing it.

Reviewers: jgrulich

Reviewed By: jgrulich

Subscribers: ngraham, lbeltrame, plasma-devel

Tags: #plasma

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

M  +2    -1    libs/editor/connectioneditorbase.cpp
M  +63   -12   vpn/wireguard/wireguard.cpp
M  +0    -15   vpn/wireguard/wireguard.ui
M  +1    -22   vpn/wireguard/wireguardwidget.cpp
M  +0    -1    vpn/wireguard/wireguardwidget.h

https://commits.kde.org/plasma-nm/29b6d0ee59001200de390d4926ada432670ccab8