NetworkManager/src/core
Thomas Haller fb03159028
dhcp: fix "ipv6.dhcp-duid=lease" for dhclient DHCPv6 client
The "lease" mode is unusual, because it means to prefer the DUID
configuration from the DHCP plugin over the explicit configuration in
NetworkManager. It is only for the DHCPv6 DUID and not for the IPv4
client-id. It also is only special for the "dhclient" plugin, because
with the internal plugin, this always corresponds to a generated, stable
DUID.

Commit 58287cbcc0 ('core: rework IP configuration in NetworkManager
using layer 3 configuration') broke this. The commit refactored the code
to track the effective-client-id separately. Previously, the client-id which
was read from the dhclient lease, was overwriting NMDhcpClient.client_id. But
with the refactor, it broke because nm_dhcp_client_get_effective_client_id()
was never called.

Fix that.

Fixes: 58287cbcc0 ('core: rework IP configuration in NetworkManager using layer 3 configuration')
(cherry picked from commit bea72c3d6d)
2022-12-19 11:33:41 +01:00
..
devices veth: fix detection of existing interfaces in create_and_realize() 2022-12-19 11:17:23 +01:00
dhcp dhcp: fix "ipv6.dhcp-duid=lease" for dhclient DHCPv6 client 2022-12-19 11:33:41 +01:00
dns dns: sort the ip-data list when a new element is added 2022-10-14 10:46:31 +02:00
dnsmasq all: avoid using global string buffer for to-string methods 2022-04-08 15:59:49 +02:00
ndisc ndisc: fix iterating arrays in calc_pre_expiry_rs_msec() 2022-12-09 12:49:00 +01:00
platform mptcp: fix nmp_global_tracker_sync_mptcp_addrs() 2022-08-10 11:35:28 +02:00
ppp ppp,wwan: remove explicit initialization of DNS priority 2022-07-18 07:48:13 +02:00
settings ifcfg-rh: fix persisting all-default NMSettingEthtool with autoneg/wol flags 2022-11-10 13:49:30 +01:00
supplicant macsec: allow CKN shorter than 64 characters 2022-12-05 17:15:06 +01:00
tests all: reformat with clang-format (clang-tools-extra-14.0.0-1.fc36) and update gitlab-ci to f36 2022-07-06 11:06:53 +02:00
vpn core: increase l3cfg merge priority for VPN config 2022-02-01 19:22:02 +01:00
main-utils.c core: move nm_main_utils_get_nm_[ug]id() to "nm-core-utils.h" 2022-01-18 18:10:55 +01:00
main-utils.h core: move nm_main_utils_get_nm_[ug]id() to "nm-core-utils.h" 2022-01-18 18:10:55 +01:00
main.c core: support "nm.debug" kernel command line to enable verbose logging 2022-07-18 15:00:04 +02:00
meson.build dns/unbound: drop deprecated "unbound" DNS plugin 2022-04-15 09:04:30 +02:00
NetworkManagerUtils.c core: set routing rule protocol properly 2022-11-14 22:46:04 +01:00
NetworkManagerUtils.h core: increase NM_SHUTDOWN_TIMEOUT_MAX_MSEC to 5 sec to cover pppd 2022-02-24 09:38:53 +01:00
nm-act-request.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-act-request.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-active-connection.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-active-connection.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-audit-manager.c audit: handle error from audit_encode_nv_string() 2022-05-11 17:06:12 +02:00
nm-audit-manager.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-auth-manager.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-auth-manager.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-auth-utils.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-auth-utils.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-checkpoint-manager.c core: use nm_dbus_manager_lookup_object_with_type() 2022-03-13 12:02:08 +01:00
nm-checkpoint-manager.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-checkpoint.c settings-connection: add a "plugin" argument to Update2() 2022-03-28 13:29:28 +02:00
nm-checkpoint.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-config-data.c core/config: use NM_STR_HAS_PREFIX() instead of g_str_has_prefix() 2022-09-09 16:27:00 +02:00
nm-config-data.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-config.c core: support "nm.debug" kernel command line to enable verbose logging 2022-07-18 15:00:04 +02:00
nm-config.h core: support "nm.debug" kernel command line to enable verbose logging 2022-07-18 15:00:04 +02:00
nm-connectivity.c core: don't restrict DNS interface when performing connectivity check 2022-10-19 21:03:58 +02:00
nm-connectivity.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-core-utils.c core: check hardware address length in nm_utils_get_ipv6_interface_identifier() 2022-12-09 12:47:52 +01:00
nm-core-utils.h core: rename nm_utils_host_id_get_timestamp_ns() to "nsec" 2022-03-11 09:43:02 +01:00
nm-dbus-manager.c core: add nm_dbus_manager_lookup_object_with_type() helper 2022-03-13 12:02:07 +01:00
nm-dbus-manager.h core: add nm_dbus_manager_lookup_object_with_type() helper 2022-03-13 12:02:07 +01:00
nm-dbus-object.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dbus-object.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dbus-utils.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dbus-utils.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dcb.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-dcb.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-default-daemon.h build: move "shared/nm-{glib-aux,log-null,log-core}" to "src/libnm-{glib-aux,log-null,log-core}" 2021-02-24 12:48:20 +01:00
nm-dhcp-config.c core: add nm_dhcp_config_get_option_values() 2022-05-03 09:08:16 +02:00
nm-dhcp-config.h core: add nm_dhcp_config_get_option_values() 2022-05-03 09:08:16 +02:00
nm-dispatcher.c dispatcher: log duration of dispatcher call 2022-06-09 13:23:35 +02:00
nm-dispatcher.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-firewall-utils.c firewall: introduce helper function for add/flush/delete nft table command 2022-09-29 15:15:40 +02:00
nm-firewall-utils.h firewall: expose nm_firewall_nft_call() in header file 2022-09-29 13:51:57 +02:00
nm-firewalld-manager.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-firewalld-manager.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-hostname-manager.c core: fix unused variable in _write_hostname_on_idle_cb() 2022-05-30 18:46:40 +02:00
nm-hostname-manager.h core/hostname: avoid blocking calls in NMHostnameManager setting static hostname 2022-05-30 16:56:38 +02:00
nm-ip-config.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-ip-config.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-keep-alive.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-keep-alive.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-l3-config-data.c all: add NMMptcpFlags and connection.mptcp-flags property 2022-08-09 08:02:54 +02:00
nm-l3-config-data.h all: add NMMptcpFlags and connection.mptcp-flags property 2022-08-09 08:02:54 +02:00
nm-l3-ipv4ll.c platform: rename nmp_lookup_init_object() to nmp_lookup_init_object_by_ifindex() 2022-06-30 14:08:41 +02:00
nm-l3-ipv4ll.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-l3-ipv6ll.c platform: rename nmp_lookup_init_object() to nmp_lookup_init_object_by_ifindex() 2022-06-30 14:08:41 +02:00
nm-l3-ipv6ll.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-l3cfg.c core: fix setting IPv6 retrans timer 2022-11-03 20:54:12 +01:00
nm-l3cfg.h platform: rename NMPRouteManager to NMPGlobalTracker 2022-07-26 12:43:44 +02:00
nm-manager.c core: log when dynamic IP configuration is restarted and why 2022-08-25 23:24:46 +02:00
nm-manager.h core: add nm_manager_get_dns_manager() getter 2022-04-15 09:04:30 +02:00
nm-netns.c core: fix returning invalid pointer from nm_netns_l3cfg_get() 2022-12-16 15:25:02 +01:00
nm-netns.h platform: rename NMPRouteManager to NMPGlobalTracker 2022-07-26 12:43:44 +02:00
nm-pacrunner-manager.c core: use NM_SHUTDOWN_TIMEOUT_1500_MSEC 2022-02-24 09:38:53 +01:00
nm-pacrunner-manager.h core: rework IP configuration in NetworkManager using layer 3 configuration 2021-11-18 16:21:29 +01:00
nm-policy.c policy: track the autoconnect retries in devices for multi-connect 2022-10-17 16:28:19 +02:00
nm-policy.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-priv-helper-call.c nm-sudo: rename to nm-priv-helper 2022-01-11 21:46:55 +01:00
nm-priv-helper-call.h nm-sudo: rename to nm-priv-helper 2022-01-11 21:46:55 +01:00
nm-rfkill-manager.c core: export radio flags 2022-03-29 09:34:07 +02:00
nm-rfkill-manager.h core: export radio flags 2022-03-29 09:34:07 +02:00
nm-session-monitor.c all: prefer nm wrappers to automatically attach GSource to default context 2022-03-13 11:59:42 +01:00
nm-session-monitor.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-sleep-monitor.c format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-sleep-monitor.h all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
nm-test-utils-core.h all: avoid using global string buffer for to-string methods 2022-04-08 15:59:49 +02:00
nm-types.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
org.freedesktop.NetworkManager.conf all: move "src/" directory to "src/core/" 2021-02-08 09:56:41 +01:00
README.l3cfg.md core: rework IP configuration in NetworkManager using layer 3 configuration 2021-11-18 16:21:29 +01:00
README.md all: add some README.md files describing the purpose of our sources 2021-08-19 17:51:11 +02:00
README.next.ip-config.md core: rework IP configuration in NetworkManager using layer 3 configuration 2021-11-18 16:21:29 +01:00

core

The source code of the NetworkManager daemon.

NetworkManager is a daemon that provides a D-Bus API and a file-based API for configuring the network on a Linux host.

This is the daemon source code.