NetworkManager/src/core
Beniamino Galvani ac689ddd86 l3cfg: ensure the probing timeout is initialized on probe start
When handling event TIMEOUT, "acd_data->probing_timeout_msec" needs to
be always initialized before jumping to "handle_start_probing:";
otherwise, an assertion failure is triggered at:

  static void
  _l3_acd_data_timeout_schedule_probing_restart(AcdData *acd_data, gint64 now_msec)
  {
    ...
    nm_assert(acd_data->probing_timeout_msec > 0);

Even if the ACD data is already in state PROBE, that doesn't mean that
the timeout is already initialized because the PROBE state can also be
reached from a INSTANCE_RESET event; and depending on the previous
state "acd_data->probing_timeout_msec" could be uninitialized.

Fixes-test: @iptunnel_restart
Fixes: b8f9d7b5dd ('l3cfg: rework ACD handling in NML3Cfg to support handling conflicts')

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2023
(cherry picked from commit a09f9cc616)
(cherry picked from commit 4dde5aa787)
(cherry picked from commit 67b2a5f624)
2024-12-23 13:57:22 +01:00
..
devices ovs: fix assertion failure in netdev datapath mode 2024-12-23 13:50:50 +01:00
dhcp code format: run code format script 2024-06-28 11:14:22 +00:00
dns libnm: implement "{ipv4,ipv6}.dns-options" as direct STRV property 2023-11-23 17:19:10 +01:00
dnsmasq all: ensure signendess for arguments of NM_{MIN,MAX,CLAMP}() macros matches 2023-08-07 09:24:36 +02:00
ndisc ndisc: preserve router preferences 2024-12-23 13:46:47 +01:00
platform code format: run code format script 2024-06-28 11:14:22 +00:00
ppp ppp: fix plugin name for "rp-pppoe.so" with ppp 2.5 2023-06-14 14:27:25 +02:00
settings agent: print error message character in hex form if it's unprintable 2024-12-23 13:45:54 +01:00
supplicant code format: run code format script 2024-06-28 11:14:22 +00:00
tests dcb: fix test compilation 2024-05-15 12:11:57 +02:00
vpn vpn: allow IP configurations with routes and without addresses 2024-06-17 15:37:08 +02:00
main-utils.c core: Fix unextractable translation string 2023-12-18 15:53:16 +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/dbus: "RequestName" of NetworkManager D-Bus API later to fix race 2023-03-23 13:06:57 +01:00
meson.build HSR: add support to HSR/PRP interface 2023-12-05 08:05:56 +01:00
NetworkManagerUtils.c all: use the new NMSettingConnection port-type property 2024-01-23 08:21:16 +01:00
NetworkManagerUtils.h core: add nm_match_spec_device_data_init_from_platform() helper 2023-06-14 11:07:34 +02:00
nm-act-request.c core: propagate the user-requested reason for act-request disconnection 2023-10-27 18:02:50 +02:00
nm-act-request.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-active-connection.c activation: Allow changing controller of exposed active connection 2024-07-19 13:16:47 +02:00
nm-active-connection.h checkpoint: fix port reactivation when controller is deactivating 2024-06-01 17:18:58 +02:00
nm-audit-manager.c core: ignore unused result warning of audit_log_user_message() 2024-03-06 14:38:52 +01:00
nm-audit-manager.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-auth-manager.c all: fix deprecated function declaration without a prototype 2022-10-11 17:21:11 +02:00
nm-auth-manager.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-auth-utils.c core: avoid getpwuid() unless necessary in permission check 2023-11-14 10:35:12 +01:00
nm-auth-utils.h format: reformat source tree with clang-format 13.0 2021-11-29 09:31:09 +00:00
nm-bond-manager.c bond: don't configure "counter" on nft rules for slb-bonding/mlag 2023-05-10 19:03:40 +02:00
nm-bond-manager.h core: add NMBondManager to handle NTF rules for balance-slb (MLAG) 2022-10-04 12:37:41 +02: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 checkpoint: preserve in-memory state of connections 2024-05-23 13:46:24 +02:00
nm-checkpoint.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-config-data.c config: fix crash in assertion during NetworkManager --print-config 2024-06-21 20:40:32 +02:00
nm-config-data.h checkpoint: Allow rollback on internal global DNS 2024-03-20 19:35:42 +01:00
nm-config.c core: persist state of software generic devices across restarts 2024-02-21 11:49:20 +01:00
nm-config.h core: persist state of software generic devices across restarts 2024-02-21 11:49:20 +01:00
nm-connectivity.c all: use NM_MIN() instead of MIN() 2023-11-15 09:32:20 +01:00
nm-connectivity.h code format: run code format script 2024-06-28 11:14:22 +00:00
nm-core-utils.c code format: run code format script 2024-06-28 11:14:22 +00:00
nm-core-utils.h code format: run code format script 2024-06-28 11:14:22 +00:00
nm-dbus-manager.c all: use NM_MIN() instead of MIN() 2023-11-15 09:32:20 +01:00
nm-dbus-manager.h core/dbus: split RequestName D-Bus call out of initialization for NMDBusManager 2023-03-23 13:06:57 +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 all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-dbus-utils.c dbus: add helper macros for GDBusAnnotationInfo 2024-01-16 09:28:17 +01:00
nm-dbus-utils.h dbus: add helper macros for GDBusAnnotationInfo 2024-01-16 09:28:17 +01: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 libnm: move nm-errors.h include away from nm-connection.h 2022-11-13 23:36:37 +01:00
nm-dhcp-config.c all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-dhcp-config.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-dispatcher.c device: support creating generic devices via device-handler 2024-02-21 11:49:19 +01:00
nm-dispatcher.h dispatcher: read device-handler's stdout into a dictionary 2024-02-21 11:49:17 +01:00
nm-firewall-utils.c all: replace NMP_IFNAMSIZ with NM_IFNAMSIZ 2023-05-30 08:51:10 +02:00
nm-firewall-utils.h bond: don't configure "counter" on nft rules for slb-bonding/mlag 2023-05-10 19:03:40 +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 all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-hostname-manager.c hostname: combine implementations of read_hostname() for Gentoo and Slackware 2023-02-08 09:51:25 +01:00
nm-hostname-manager.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-ip-config.c core: mark deprecated D-Bus API as deprecated in Introspect() 2024-01-16 09:28:18 +01:00
nm-ip-config.h core: rate-limit updates to IP addresses/routes on D-Bus API 2023-11-30 15:41:43 +01:00
nm-keep-alive.c doc: replace all (allow-none) annotations by (optional) and/or (nullable) 2023-03-27 11:49:43 +02:00
nm-keep-alive.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-l3-config-data.c core: fix dhcp leases in l3cd cloning. 2024-12-23 13:51:48 +01:00
nm-l3-config-data.h core: add nm_l3_config_data_set_allow_routes_without_address() 2024-06-17 15:37:08 +02:00
nm-l3-ipv4ll.c all: use NM_HASH_SEED_16() macro 2023-11-14 14:15:42 +01:00
nm-l3-ipv4ll.h all: fix various "-Wcast-align=strict" warnings 2022-12-09 09:15:56 +01:00
nm-l3-ipv6ll.c core: improve logging of used IPv6 interface identifier 2023-05-19 12:51:58 +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 l3cfg: ensure the probing timeout is initialized on probe start 2024-12-23 13:57:22 +01:00
nm-l3cfg.h core/trivial: fix typo in code comment 2023-10-19 16:31:31 +02:00
nm-manager.c activation: Allow changing controller of exposed active connection 2024-07-19 13:16:47 +02:00
nm-manager.h checkpoint: Allow rollback on internal global DNS 2024-03-20 19:35:42 +01:00
nm-netns.c netns: schedule a commit when a single-hop route is merged 2023-12-04 17:00:13 +01:00
nm-netns.h core: remove unused tag-less API from nm_netns_watcher*() 2023-03-21 15:58:46 +01:00
nm-pacrunner-manager.c glib-aux: rename IP address related helpers from "nm-inet-utils.h" 2022-08-25 19:05:51 +02:00
nm-pacrunner-manager.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-policy.c policy: assert that the auto-activate list is empty on dispose 2024-12-23 13:46:32 +01:00
nm-policy.h core: expose and rename nm_policy_device_recheck_auto_activate_schedule() 2023-04-27 08:35:27 +02: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 platform: remove CSME related code 2023-09-25 11:46:24 +00:00
nm-rfkill-manager.h platform: remove CSME related code 2023-09-25 11:46:24 +00: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: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-sleep-monitor.c glib-aux: rename _nm_dbus_signal_connect{,_data}() to _nm_dbus_proxy_*() 2022-11-14 08:05:47 +01:00
nm-sleep-monitor.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-test-utils-core.h all: replace NMP_IFNAMSIZ with NM_IFNAMSIZ 2023-05-30 08:51:10 +02:00
nm-types.h code format: run code format script 2024-06-28 11:14:22 +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.