NetworkManager/src/core
Beniamino Galvani fb4de0013a
core: fix crash when reloading global dns configuration
When reloading the configuration and there is a global DNS
configuration without domains, NM crashes in global_dns_equal()
because `old->domains` and `new->domains` are both NULL. Fix that.

  Thread 1 "NetworkManager" received signal SIGTRAP, Trace/breakpoint trap.
  0  g_logv (log_domain=0x7fe81a2110be "GLib", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=<optimized out>) at ../glib/gmessages.c:1433
  1  g_log (log_domain=<optimized out>, log_level=<optimized out>, format=<optimized out>) at ../glib/gmessages.c:1471
  2  g_hash_table_size (hash_table=<optimized out>) at ../glib/ghash.c:2183
  3  g_hash_table_size (hash_table=<optimized out>) at ../glib/ghash.c:2181
  4  global_dns_equal (new=0xecc540, old=0xe618e0) at ../src/core/nm-config-data.c:1466
  5  nm_config_data_diff (old_data=old_data@entry=0xe60020, new_data=new_data@entry=0xe606a0) at ../src/core/nm-config-data.c:1946
  6  _set_config_data (self=0xe45810, new_data=0xe606a0, reload_flags=NM_CONFIG_CHANGE_CAUSE_SIGHUP) at ../src/core/nm-config.c:2923
  7  nm_config_reload (self=0xe45810, reload_flags=NM_CONFIG_CHANGE_CAUSE_SIGHUP, emit_warnings=emit_warnings@entry=1) at ../src/core/nm-config.c:2875
  8  nm_main_config_reload (signal=<optimized out>) at ../src/core/main.c:141
  9  sighup_handler (user_data=<optimized out>) at ../src/core/main-utils.c:26
  10 g_main_dispatch (context=0xe619e0) at ../glib/gmain.c:3444
  11 g_main_context_dispatch (context=0xe619e0) at ../glib/gmain.c:4162
  12 g_main_context_iterate.constprop.0 (context=0xe619e0, block=1, dispatch=1, self=<optimized out>) at ../glib/gmain.c:4238
  13 g_main_loop_run (loop=0xe5e310) at ../glib/gmain.c:4438
  14 main (argc=<optimized out>, argv=<optimized out>) at ../src/core/main.c:515

Fixes: 1f0d1d78d2 ('dns-manager: always apply options from [global-dns]')
(cherry picked from commit ba4a9ea79a)
2023-03-09 07:13:31 +01:00
..
devices device: fix copy/paste error in nm-device-ip-tunnel.c 2023-02-27 13:42:55 +01:00
dhcp dhcp: add the DHCPv6 IAID to the lease information 2023-02-21 09:30:54 +01:00
dns dnsmasq: process both global and per-device configuration 2023-03-03 14:56:02 +01:00
dnsmasq all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
ndisc ndisc: Accept routes from on-link prefixes form ra 2023-01-23 18:02:27 +01:00
platform platform/tests: re-enable and fix "/route/test_cache_consistency_routes" tests 2023-02-01 22:45:57 +01:00
ppp all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
settings settings: preserve existing connection flags on update 2023-03-02 11:24:19 +01:00
supplicant all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
tests l3cfg/tests: temporarily disable failing tests "/l3cfg/$N" 2023-02-01 10:50:13 +01:00
vpn dbus: deprecate the NMActiveConnection Master property 2023-02-21 13:56:16 -05:00
main-utils.c main: use helper function to write pid file in nm_main_utils_write_pidfile() 2022-10-25 13:12:49 +02: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 support loopback interface 2022-11-23 20:51:22 +01:00
NetworkManagerUtils.c platform,core: better handle onlink flag for ECMP routes 2023-02-07 14:26:45 +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 all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-active-connection.c dbus: deprecate the NMActiveConnection Master property 2023-02-21 13:56:16 -05:00
nm-active-connection.h dbus: deprecate the NMActiveConnection Master property 2023-02-21 13:56:16 -05: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 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 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-bond-manager.c core: add NMBondManager to handle NTF rules for balance-slb (MLAG) 2022-10-04 12:37:41 +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: move a log message a little lower 2022-09-30 23:21:14 +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 core: fix crash when reloading global dns configuration 2023-03-09 07:13:31 +01:00
nm-config-data.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-config.c config: fix a reversed conditional 2023-01-26 09:20:18 +01:00
nm-config.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-connectivity.c curl: use CURLOPT_PROTOCOLS_STR instead of deprecated CURLOPT_PROTOCOLS 2023-01-18 20:21:52 +01:00
nm-connectivity.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-core-utils.c core: print stderr from nm-daemon-helper 2023-02-21 13:55:30 +01:00
nm-core-utils.h core: fix enum argument in prototype of nm_utils_kill_process_sync(), etc. 2023-01-18 19:38:54 +01:00
nm-dbus-manager.c all: fix various "-Wcast-align=strict" warnings 2022-12-09 09:15:56 +01:00
nm-dbus-manager.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +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 all: fix various "-Wcast-align=strict" warnings 2022-12-09 09:15:56 +01: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 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 dispatcher: fix constructing the IPv4 nameserver variable 2023-02-20 09:39:19 +01:00
nm-dispatcher.h nm-dispatcher: dispatch on reapply 2023-02-08 20:51:07 +01:00
nm-firewall-utils.c firewall: pass "--wait 2" to iptables to wait for concurrent invocations 2023-01-16 10:19:39 +01:00
nm-firewall-utils.h firewall: add mlag firewall utils for multi chassis link aggregation (MLAG) for bonding-slb 2022-10-04 12:37:41 +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 10:52:44 +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: rename and move nm_ip_config_dns_hash() 2023-02-07 13:46:14 +01:00
nm-ip-config.h core: rename and move nm_ip_config_dns_hash() 2023-02-07 13:46:14 +01: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 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: suppress onlink flag for IPv4 routes without gateway 2023-02-07 14:26:46 +01:00
nm-l3-config-data.h dns: consider the dns-type and the priority when hashing DNS configs 2023-02-07 13:46:15 +01:00
nm-l3-ipv4ll.c glib-aux: rename IP address related helpers from "nm-inet-utils.h" 2022-08-25 19:05:51 +02:00
nm-l3-ipv4ll.h all: fix various "-Wcast-align=strict" warnings 2022-12-09 09:15:56 +01:00
nm-l3-ipv6ll.c all: add src/nm-compat-headers for patching included system headers 2022-09-23 11:43:33 +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 netns: fix configuring onlink routes for ECMP routes 2023-02-01 11:04:09 +01:00
nm-l3cfg.h nm-netns: track ECMP routes 2022-12-23 16:47:29 +01:00
nm-manager.c Use NM_MANAGER_ERROR_MISSING_PLUGIN when plugin not found 2022-12-15 20:44:28 +08:00
nm-manager.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01:00
nm-netns.c platform,core: better handle onlink flag for ECMP routes 2023-02-07 14:26:45 +01:00
nm-netns.h netns: fix configuring onlink routes for ECMP routes 2023-02-01 11:04:09 +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 device: improve logging for hostname-from-dns events 2023-02-21 13:55:29 +01:00
nm-policy.h all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +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 all: use _NM_G_TYPE_CHECK_INSTANCE_CAST() for internal uses 2022-12-16 10:55:03 +01: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 platform: drop inline cmp() wrappers around "full" versions 2022-11-21 17:56:48 +01: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.