NetworkManager/src
Thomas Haller b9eb264efe device: add "dhcp-plugin" match spec for device
The need for this is the following:

"ipv4.dhcp-client-id" can be specified via global connection defaults.
In absence of any configuration in NetworkManager, the default depends
on the DHCP client plugin. In case of "dhclient", the default further
depends on /etc/dhcp.

For "internal" plugin, we may very well want to change the default
client-id to "mac" by universally installing a configuration
snippet

    [connection-use-mac-client-id]
    ipv4.dhcp-client-id=mac

However, if we the user happens to enable "dhclient" plugin, this also
forces the client-id and overrules configuration from /etc/dhcp. The real
problem is, that dhclient can be configured via means outside of NetworkManager,
so our defaults shall not overwrite defaults from /etc/dhcp.

With the new device spec, we can avoid this issue:

    [connection-dhcp-client-id]
    match-device=except:dhcp-plugin:dhclient
    ipv4.dhcp-client-id=mac

This will be part of the solution for rh#1640494. Note that merely
dropping a configuration snippet is not yet enough. More fixes for
DHCP will follow. Also, bug rh#1640494 may have alternative solutions
as well. The nice part of this new feature is that it is generally
useful for configuring connection defaults and not specifically for
the client-id issue.

Note that this match spec is per-device, although the plugin is selected
globally. That makes some sense, because in the future we may or may not
configure the DHCP plugin per-device or per address family.

https://bugzilla.redhat.com/show_bug.cgi?id=1640494
2018-11-01 11:17:12 +01:00
..
devices device: add "dhcp-plugin" match spec for device 2018-11-01 11:17:12 +01:00
dhcp device: add "dhcp-plugin" match spec for device 2018-11-01 11:17:12 +01:00
dns all: remove \n endings from log calls 2018-10-12 14:34:58 +02:00
dnsmasq all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
initrd initrd: use keyfile util for creating filename 2018-10-23 10:37:33 +02:00
ndisc ndisc: mark a keep-alive variable unused 2018-10-22 18:23:46 +02:00
platform core/trivial: fix whitespace 2018-10-22 14:03:11 +02:00
ppp ppp: check ppp status against correct type 2018-10-22 10:53:16 +02:00
settings settings/ifupdown: fix block_name typo in initialize() 2018-10-23 22:58:44 +02:00
supplicant supplicant: fix setting macsec ckn 2018-10-01 10:20:04 +02:00
systemd systemd: merge branch systemd into master 2018-10-28 09:31:31 +01:00
tests device: add "dhcp-plugin" match spec for device 2018-11-01 11:17:12 +01:00
vpn vpn: disconnect signal handlers from proxy in NMVpnConnection::dispose() 2018-09-14 15:24:31 +02:00
main-utils.c all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
main-utils.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
main.c dbus: don't even bother connecting in configure-and-quit mode 2018-09-18 17:40:47 +02:00
meson.build meson: Fix platform tests 2018-10-22 13:19:15 +02:00
NetworkManagerUtils.c device: add "dhcp-plugin" match spec for device 2018-11-01 11:17:12 +01:00
NetworkManagerUtils.h device: add "dhcp-plugin" match spec for device 2018-11-01 11:17:12 +01:00
nm-act-request.c shared: drop duplicate c-list.h header 2018-04-18 15:22:14 +02:00
nm-act-request.h core: specify an activation reason for active connections 2018-04-08 09:40:14 +02:00
nm-active-connection.c settings: use delegation instead of inheritance for NMSettingsConnection and NMConnection 2018-08-28 22:27:55 +02:00
nm-active-connection.h core: rework passing user-data to nm_active_connection_authorize() 2018-04-24 09:03:39 +02:00
nm-audit-manager.c all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-audit-manager.h checkpoint: allow resetting the rollback timeout via D-Bus 2018-04-04 14:02:13 +02:00
nm-auth-manager.c auth-manager: use the correct function to deallocate a GError 2018-05-02 14:55:01 +02:00
nm-auth-manager.h auth-manager: add helper function nm_auth_call_result_eval() 2018-04-13 09:09:46 +02:00
nm-auth-subject.c all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
nm-auth-subject.h all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-auth-utils.c docs: misc. typos pt2 2018-09-17 11:26:13 +02:00
nm-auth-utils.h core: add nm_auth_is_subject_in_acl_set_error() helper 2018-04-18 07:55:15 +02:00
nm-checkpoint-manager.c settings: use delegation instead of inheritance for NMSettingsConnection and NMConnection 2018-08-28 22:27:55 +02:00
nm-checkpoint-manager.h checkpoint: allow resetting the rollback timeout via D-Bus 2018-04-04 14:02:13 +02:00
nm-checkpoint.c settings: use delegation instead of inheritance for NMSettingsConnection and NMConnection 2018-08-28 22:27:55 +02:00
nm-checkpoint.h checkpoint: allow resetting the rollback timeout via D-Bus 2018-04-04 14:02:13 +02:00
nm-config-data.c device: add "dhcp-plugin" match spec for device 2018-11-01 11:17:12 +01:00
nm-config-data.h device: add "dhcp-plugin" match spec for device 2018-11-01 11:17:12 +01:00
nm-config.c all: remove \n endings from log calls 2018-10-12 14:34:58 +02:00
nm-config.h config: add --configure-and-quit=initrd mode 2018-09-18 17:40:47 +02:00
nm-connectivity.c connectivity: fix crash when the uri gets cleared from configuration 2018-10-01 09:46:14 +02:00
nm-connectivity.h connectivity: allow limiting the connectivity check to a specified AF 2018-09-24 15:17:02 +02:00
nm-core-utils.c device: add "dhcp-plugin" match spec for device 2018-11-01 11:17:12 +01:00
nm-core-utils.h device: add "dhcp-plugin" match spec for device 2018-11-01 11:17:12 +01:00
nm-dbus-manager.c dbus: don't even bother connecting in configure-and-quit mode 2018-09-18 17:40:47 +02:00
nm-dbus-manager.h settings: use delegation instead of inheritance for NMSettingsConnection and NMConnection 2018-08-28 22:27:55 +02:00
nm-dbus-object.c core/dbus: stop NMDBusManager and reject future method calls 2018-04-24 10:25:26 +02:00
nm-dbus-object.h core/dbus: stop NMDBusManager and reject future method calls 2018-04-24 10:25:26 +02:00
nm-dbus-utils.c core: don't explicitly set D-Bus path properties to "/" 2018-04-18 07:55:15 +02:00
nm-dbus-utils.h core/dbus: stop NMDBusManager and reject future method calls 2018-04-24 10:25:26 +02:00
nm-dcb.c all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
nm-dcb.h all: cleanup includes in header files 2016-08-17 19:51:17 +02:00
nm-dhcp4-config.c core: sort DHCP options that are exported on D-Bus 2018-04-23 15:43:39 +02:00
nm-dhcp4-config.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-dhcp6-config.c core: sort DHCP options that are exported on D-Bus 2018-04-23 15:43:39 +02:00
nm-dhcp6-config.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-dispatcher.c all: use the elvis operator wherever possible 2018-05-10 14:36:58 +02:00
nm-dispatcher.h all: remove consecutive empty lines 2018-04-30 16:24:52 +02:00
nm-firewall-manager.c all: use the elvis operator wherever possible 2018-05-10 14:36:58 +02:00
nm-firewall-manager.h firewall: merge "started" signal and "available" property 2017-04-21 09:09:01 +02:00
nm-hostname-manager.c hostname: drop define IFCFG_DIR which is only used once 2018-07-17 17:46:01 +02:00
nm-hostname-manager.h hostname: cache hostname-manager's hostname property 2017-05-12 17:29:33 +02:00
nm-iface-helper.c config: add --configure-and-quit=initrd mode 2018-09-18 17:40:47 +02:00
nm-ip4-config.c ip-config: add @intersect_routes argument to intersect functions 2018-09-26 11:49:37 +02:00
nm-ip4-config.h ip-config: add @intersect_routes argument to intersect functions 2018-09-26 11:49:37 +02:00
nm-ip6-config.c ip-config: add @intersect_routes argument to intersect functions 2018-09-26 11:49:37 +02:00
nm-ip6-config.h ip-config: add @intersect_routes argument to intersect functions 2018-09-26 11:49:37 +02:00
nm-logging.c logging: make nm-logging.c independent of other core components 2018-10-18 12:16:55 +02:00
nm-logging.h logging: make nm-logging.c independent of other core components 2018-10-18 12:16:55 +02:00
nm-manager.c core: ignore unmanaged devices for explicit activation request depending on multi-connect 2018-10-17 15:22:56 +02:00
nm-manager.h core: extend nm_manager_get_activatable_connections() for autoconnect and multi-connect 2018-08-08 11:24:29 +02:00
nm-netns.c all: get rid of a handful of unused-but-set variables 2017-12-18 13:29:32 +01:00
nm-netns.h core: rework handling of default-routes and drop NMDefaultRouteManager 2017-09-08 11:11:21 +02:00
nm-pacrunner-manager.c docs: misc. typos pt2 2018-09-17 11:26:13 +02:00
nm-pacrunner-manager.h proxy: introduce call-id for clearing pacmanager configuration 2017-04-23 18:12:09 +02:00
nm-policy.c docs: misc. typos pt2 2018-09-17 11:26:13 +02:00
nm-policy.h policy: track best active connections rather than best devices 2018-07-09 14:56:59 +02:00
nm-proxy-config.c proxy: reorder parts in nm-proxy-config.c and nm-pacrunner-manager.c 2016-10-04 11:58:32 +02:00
nm-proxy-config.h proxy: remove unnecessary APIs 2016-10-04 11:44:44 +02:00
nm-rfkill-manager.c all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
nm-rfkill-manager.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-session-monitor.c all: avoid g_memdup() 2018-09-07 11:24:17 +02:00
nm-session-monitor.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-sleep-monitor.c all: don't use gchar/gshort/gint/glong but C types 2018-07-11 12:02:06 +02:00
nm-sleep-monitor.h core: refactor private data in "src" 2016-10-04 09:50:56 +02:00
nm-test-utils-core.h all: avoid g_memdup() 2018-09-07 11:24:17 +02:00
nm-types.h acd: make NMAcdManager no GObject 2018-09-27 17:36:42 +02:00
org.freedesktop.NetworkManager.conf all: replace "it's" with "its" where needed 2018-04-18 14:14:07 +02:00