NetworkManager/src
Thomas Haller 395665902b
dns: don't apply DNS configuration for external connections
External connections are devices that are configured outside of
NetworkManager. Such devices should be mostly ignored and not
be interfered with.

Note that we tend to create external connection profiles for
such devices. That happens for example if you use wg-quick to
manage a WireGuard interface outside of NetworkManager. But it
really happens for any interface.

This generated profile has no DNS configuration. Unless we use
the systemd-resolved backend, they thus don't contribute to the DNS
settings (which is fine).

However, with systemd-resolved, NetworkManager would also reset
the DNS configuration of those external interfaces. That is clearly
wrong. NetworkManager should only care about the interfaces that it
actively manages and leave others alone.

How to reproduce: use systemd-resolved and configure an interface outside
of NetworkManager. Note that `nmcli device` shows the state as
"connected (externally)". Note that `resolvectl` shows the DNS configuration
on that external interface. Do something in NetworkManager to trigger
a DNS update (e.g. SIGHUB or reactivate a profile). Note in `resolvectl`
that the external interface's DNS configuration was wiped.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/563#note_673283
2020-11-17 18:49:58 +01:00
..
devices policy: use the hostname setting 2020-11-16 16:43:40 +01:00
dhcp all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
dns dns: minor cleanup in update_dns() to use gsize for size 2020-11-17 16:55:15 +01:00
dnsmasq all: drop unnecessary cast for return value of g_object_new() 2020-11-12 16:03:09 +01:00
initrd libnm/bond: remove validation from nm_setting_bond_add_option() and explicitly validate 2020-10-19 23:18:43 +02:00
ndisc all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
platform bridge: set MTU at link creation time 2020-11-02 17:23:16 +01:00
ppp ppp: drop unnecessary cast for return value of g_object_new() (manually) 2020-11-12 16:08:17 +01:00
settings all: add hostname setting 2020-11-16 16:43:39 +01:00
supplicant wifi: set the BridgeIfname supplicant property when needed 2020-10-13 08:59:10 +02:00
systemd systemd: merge branch systemd into master 2020-10-08 10:42:27 +02:00
tests l3cfg: fix typo in test 2020-10-23 18:30:33 +02:00
vpn all: drop unnecessary cast for return value of g_object_new() 2020-11-12 16:03:09 +01:00
main-utils.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
main-utils.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
main.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
meson.build l3cfg: add support for IPv4 link local addresses (ipv4ll) to NML3Cfg 2020-10-23 17:11:57 +02:00
NetworkManagerUtils.c core: cleanup IPv4/IPv6 checks using NM_IS_IPv4() 2020-10-30 16:52:59 +01:00
NetworkManagerUtils.h core: add nm_utils_share_rules_add_all_rules() for constructing iptables rules 2020-10-27 17:40:19 +01:00
nm-act-request.c all: drop unnecessary cast for return value of g_object_new() 2020-11-12 16:03:09 +01:00
nm-act-request.h core: refactor tracking of shared-rules to use NMUtilsShareRules 2020-10-27 17:40:19 +01:00
nm-active-connection.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-active-connection.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-audit-manager.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-audit-manager.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-auth-manager.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-auth-manager.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-auth-utils.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-auth-utils.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-checkpoint-manager.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-checkpoint-manager.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-checkpoint.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-checkpoint.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-config-data.c all/trivial: rename _nm_utils_strv_equal()/_nm_utils_strv_cmp_n() to have no leading underscore 2020-10-12 22:18:26 +02:00
nm-config-data.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-config.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-config.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-connectivity.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-connectivity.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-core-utils.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-core-utils.h core: cleanup IPv4/IPv6 checks using NM_IS_IPv4() 2020-10-30 16:52:59 +01:00
nm-dbus-manager.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dbus-manager.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dbus-object.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dbus-object.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dbus-utils.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dbus-utils.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dcb.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dcb.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dhcp-config.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dhcp-config.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-dispatcher.c core/dispatcher: merge dump[46]_ip_to_props() for IPv4/IPv6 2020-10-30 11:58:46 +01:00
nm-dispatcher.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-firewall-manager.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-firewall-manager.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-hostname-manager.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-hostname-manager.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-iface-helper.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-ip-config.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-ip-config.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-ip4-config.c all: drop unnecessary cast for return value of g_object_new() 2020-11-12 16:03:09 +01:00
nm-ip4-config.h core: add nm_ip_config_get_first_address() 2020-11-16 16:43:39 +01:00
nm-ip6-config.c all: drop unnecessary cast for return value of g_object_new() 2020-11-12 16:03:09 +01:00
nm-ip6-config.h core: add never-default field to NMIP{4,6}Config 2020-10-09 10:29:00 +02:00
nm-keep-alive.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-keep-alive.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-l3-config-data.c core: cleanup IPv4/IPv6 checks using NM_IS_IPv4() 2020-10-30 16:52:59 +01:00
nm-l3-config-data.h core: cleanup IPv4/IPv6 checks using NM_IS_IPv4() 2020-10-30 16:52:59 +01:00
nm-l3-ipv4ll.c l3cfg: let NML3Cfg return a singleton NML3IPv4LL instance 2020-10-27 17:04:20 +01:00
nm-l3-ipv4ll.h l3cfg: add nm_l3_ipv4ll_is_timed_out() for letting IPv4LL reach a failed state 2020-10-27 17:04:20 +01:00
nm-l3cfg.c core: cleanup IPv4/IPv6 checks using NM_IS_IPv4() 2020-10-30 16:52:59 +01:00
nm-l3cfg.h l3cfg: let NML3Cfg return a singleton NML3IPv4LL instance 2020-10-27 17:04:20 +01:00
nm-logging.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-logging.h shared,all: introduce and use LOGD_IPX()/LOGD_DHCPX() macros 2020-10-30 12:38:31 +01:00
nm-manager.c core: reverse the order of active connections in the manager 2020-11-16 16:43:39 +01:00
nm-manager.h core: reverse the order of active connections in the manager 2020-11-16 16:43:39 +01:00
nm-netns.c core: use nm_clear_pointer() instead of g_clear_pointer() 2020-10-28 13:59:22 +01:00
nm-netns.h l3cfg: add nm_netns_get_l3cfg() accessor 2020-10-23 17:11:54 +02:00
nm-pacrunner-manager.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-pacrunner-manager.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-policy.c dns: don't apply DNS configuration for external connections 2020-11-17 18:49:58 +01:00
nm-policy.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-proxy-config.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-proxy-config.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-rfkill-manager.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-rfkill-manager.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-session-monitor.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-session-monitor.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-sleep-monitor.c all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-sleep-monitor.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-test-utils-core.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
nm-types.h all: unify comment style for SPDX-License-Identifier tag 2020-09-29 16:50:53 +02:00
org.freedesktop.NetworkManager.conf dbus: pretty format "org.freedesktop.NetworkManager.conf" 2020-04-15 19:17:00 +02:00