- for libnm 1.42.2
+ for libnm 1.42.4
The latest version of this documentation can be found on-line at
https://networkmanager.dev/docs/libnm/latest/.
diff --git a/docs/libnm/html/libnm-nm-version-macros.html b/docs/libnm/html/libnm-nm-version-macros.html
index 6c37cbed..0639b68a 100644
--- a/docs/libnm/html/libnm-nm-version-macros.html
+++ b/docs/libnm/html/libnm-nm-version-macros.html
@@ -261,7 +261,7 @@ is compiled against.
NM_MICRO_VERSION
-
#define NM_MICRO_VERSION (2)
+#define NM_MICRO_VERSION (4)
Evaluates to the micro version number of NetworkManager which this source
compiled against.
diff --git a/docs/libnm/html/usage.html b/docs/libnm/html/usage.html
index 0e0c31ec..96c21470 100644
--- a/docs/libnm/html/usage.html
+++ b/docs/libnm/html/usage.html
@@ -96,7 +96,7 @@
$ cc $(pkg-config --libs --cflags libnm) -o hello-nm hello-nm.c
$ ./hello-nm
- NetworkManager version: 1.42.2
+ NetworkManager version: 1.42.4
$
diff --git a/docs/libnm/version.xml b/docs/libnm/version.xml
index 2259c77c..6f7c8cda 100644
--- a/docs/libnm/version.xml
+++ b/docs/libnm/version.xml
@@ -1 +1 @@
-1.42.2
+1.42.4
diff --git a/man/NetworkManager-dispatcher.8 b/man/NetworkManager-dispatcher.8
index e9ebad79..f56114c2 100644
--- a/man/NetworkManager-dispatcher.8
+++ b/man/NetworkManager-dispatcher.8
@@ -2,9 +2,9 @@
.\" Title: NetworkManager-dispatcher
.\" Author:
.\" Generator: DocBook XSL Stylesheets vsnapshot
-.\" Date: 02/23/2023
+.\" Date: 03/09/2023
.\" Manual: Network management daemons
-.\" Source: NetworkManager-dispatcher 1.42.2
+.\" Source: NetworkManager-dispatcher 1.42.4
.\" Language: English
.\"
.TH "NETWORKMANAGER\-DISPATCHER" "8" "" "NetworkManager\-dispatcher 1\&" "Network management daemons"
diff --git a/man/NetworkManager-wait-online.service.8 b/man/NetworkManager-wait-online.service.8
index e004779c..d1ca0eb6 100644
--- a/man/NetworkManager-wait-online.service.8
+++ b/man/NetworkManager-wait-online.service.8
@@ -2,9 +2,9 @@
.\" Title: NetworkManager-wait-online.service
.\" Author:
.\" Generator: DocBook XSL Stylesheets vsnapshot
-.\" Date: 02/23/2023
+.\" Date: 03/09/2023
.\" Manual: Network management daemons
-.\" Source: NetworkManager-wait-online.service 1.42.2
+.\" Source: NetworkManager-wait-online.service 1.42.4
.\" Language: English
.\"
.TH "NETWORKMANAGER\-WAIT\-ONLINE\&" "8" "" "NetworkManager\-wait\-online\&" "Network management daemons"
@@ -173,7 +173,7 @@ With Wi\-Fi devices, NetworkManager needs to wait for the first scan result to k
.IP \(bu 2.3
.\}
With Ethernet devices, NetworkManager waits for the carrier until the value in
-[device*]\&.carrier\-timeout
+[device*]\&.carrier\-wait\-timeout
is reached\&. This is because some devices take a long time to detect the carrier\&. Consequently, booting with cable unplugged, unnecessarily delays
NetworkManager\-wait\-online\&.service\&.
.RE
diff --git a/man/NetworkManager-wait-online.service.xml b/man/NetworkManager-wait-online.service.xml
index 464fe430..46068ea5 100644
--- a/man/NetworkManager-wait-online.service.xml
+++ b/man/NetworkManager-wait-online.service.xml
@@ -137,7 +137,7 @@
With Ethernet devices, NetworkManager waits for the carrier until the value in
- [device*].carrier-timeout is reached. This is because some
+ [device*].carrier-wait-timeout is reached. This is because some
devices take a long time to detect the carrier. Consequently, booting with cable
unplugged, unnecessarily delays NetworkManager-wait-online.service.
diff --git a/man/NetworkManager.8 b/man/NetworkManager.8
index 4177acda..14eda221 100644
--- a/man/NetworkManager.8
+++ b/man/NetworkManager.8
@@ -2,12 +2,12 @@
.\" Title: NetworkManager
.\" Author:
.\" Generator: DocBook XSL Stylesheets vsnapshot
-.\" Date: 02/23/2023
+.\" Date: 03/09/2023
.\" Manual: Network management daemons
-.\" Source: NetworkManager 1.42.2
+.\" Source: NetworkManager 1.42.4
.\" Language: English
.\"
-.TH "NETWORKMANAGER" "8" "" "NetworkManager 1\&.42\&.2" "Network management daemons"
+.TH "NETWORKMANAGER" "8" "" "NetworkManager 1\&.42\&.4" "Network management daemons"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/NetworkManager.conf.5 b/man/NetworkManager.conf.5
index 7622aa69..5cdb15ff 100644
--- a/man/NetworkManager.conf.5
+++ b/man/NetworkManager.conf.5
@@ -2,12 +2,12 @@
.\" Title: NetworkManager.conf
.\" Author:
.\" Generator: DocBook XSL Stylesheets vsnapshot
-.\" Date: 02/23/2023
+.\" Date: 03/09/2023
.\" Manual: Configuration
-.\" Source: NetworkManager 1.42.2
+.\" Source: NetworkManager 1.42.4
.\" Language: English
.\"
-.TH "NETWORKMANAGER\&.CONF" "5" "" "NetworkManager 1\&.42\&.2" "Configuration"
+.TH "NETWORKMANAGER\&.CONF" "5" "" "NetworkManager 1\&.42\&.4" "Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -1282,7 +1282,7 @@ If set, controls what body content NetworkManager checks for when requesting the
.RE
.SH "GLOBAL\-DNS SECTION"
.PP
-This section specifies global DNS settings that override connection\-specific configuration\&.
+This section specifies DNS settings that are applied globally, in addition to connection\-specific ones\&.
.PP
.PP
\fIsearches\fR
@@ -1296,7 +1296,7 @@ A list of options to be passed to the hostname resolver\&.
.RE
.SH "GLOBAL\-DNS\-DOMAIN SECTIONS"
.PP
-Sections with a name starting with the "global\-dns\-domain\-" prefix allow to define global DNS configuration for specific domains\&. The part of section name after "global\-dns\-domain\-" specifies the domain name a section applies to\&. More specific domains have the precedence over less specific ones and the default domain is represented by the wildcard "*"\&. A default domain section is mandatory\&.
+Sections with a name starting with the "global\-dns\-domain\-" prefix allow to define global DNS configuration for specific domains\&. The part of section name after "global\-dns\-domain\-" specifies the domain name a section applies to (for example, a section could be named "global\-dns\-domain\-foobar\&.com")\&. More specific domains have the precedence over less specific ones and the default domain is represented by the wildcard "*"\&. To be valid, global DNS domains must include a section for the default domain "*"\&. When the global DNS domains are valid, the name servers and domains defined globally override the ones from active connections\&.
.PP
.PP
\fIservers\fR
diff --git a/man/NetworkManager.conf.xml b/man/NetworkManager.conf.xml
index 2c1fc852..0dcf805d 100644
--- a/man/NetworkManager.conf.xml
+++ b/man/NetworkManager.conf.xml
@@ -1453,8 +1453,8 @@ managed=1
global-dns section
- This section specifies global DNS settings that override
- connection-specific configuration.
+ This section specifies DNS settings that are applied
+ globally, in addition to connection-specific ones.
@@ -1482,10 +1482,15 @@ managed=1
Sections with a name starting with the "global-dns-domain-"
prefix allow to define global DNS configuration for specific
domains. The part of section name after "global-dns-domain-"
- specifies the domain name a section applies to. More specific
- domains have the precedence over less specific ones and the
- default domain is represented by the wildcard "*". A default
- domain section is mandatory.
+ specifies the domain name a section applies to (for example, a
+ section could be named "global-dns-domain-foobar.com"). More
+ specific domains have the precedence over less specific ones and
+ the default domain is represented by the wildcard "*".
+
+ To be valid, global DNS domains must include a section for the
+ default domain "*". When the global DNS domains are valid, the
+ name servers and domains defined globally override the ones from
+ active connections.
diff --git a/man/nm-cloud-setup.8 b/man/nm-cloud-setup.8
index 0a53cd18..9b851e33 100644
--- a/man/nm-cloud-setup.8
+++ b/man/nm-cloud-setup.8
@@ -2,12 +2,12 @@
.\" Title: nm-cloud-setup
.\" Author:
.\" Generator: DocBook XSL Stylesheets vsnapshot
-.\" Date: 02/23/2023
+.\" Date: 03/09/2023
.\" Manual: Automatic Network Configuration in Cloud with NetworkManager
-.\" Source: NetworkManager 1.42.2
+.\" Source: NetworkManager 1.42.4
.\" Language: English
.\"
-.TH "NM\-CLOUD\-SETUP" "8" "" "NetworkManager 1\&.42\&.2" "Automatic Network Configuratio"
+.TH "NM\-CLOUD\-SETUP" "8" "" "NetworkManager 1\&.42\&.4" "Automatic Network Configuratio"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/nm-initrd-generator.8 b/man/nm-initrd-generator.8
index 9737be86..c9fc3411 100644
--- a/man/nm-initrd-generator.8
+++ b/man/nm-initrd-generator.8
@@ -2,12 +2,12 @@
.\" Title: nm-initrd-generator
.\" Author:
.\" Generator: DocBook XSL Stylesheets vsnapshot
-.\" Date: 02/23/2023
+.\" Date: 03/09/2023
.\" Manual: System Administration
-.\" Source: NetworkManager 1.42.2
+.\" Source: NetworkManager 1.42.4
.\" Language: English
.\"
-.TH "NM\-INITRD\-GENERATOR" "8" "" "NetworkManager 1\&.42\&.2" "System Administration"
+.TH "NM\-INITRD\-GENERATOR" "8" "" "NetworkManager 1\&.42\&.4" "System Administration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/nm-online.1 b/man/nm-online.1
index 3d17619c..4676c956 100644
--- a/man/nm-online.1
+++ b/man/nm-online.1
@@ -2,12 +2,12 @@
.\" Title: nm-online
.\" Author:
.\" Generator: DocBook XSL Stylesheets vsnapshot
-.\" Date: 02/23/2023
+.\" Date: 03/09/2023
.\" Manual: General Commands Manual
-.\" Source: NetworkManager 1.42.2
+.\" Source: NetworkManager 1.42.4
.\" Language: English
.\"
-.TH "NM\-ONLINE" "1" "" "NetworkManager 1\&.42\&.2" "General Commands Manual"
+.TH "NM\-ONLINE" "1" "" "NetworkManager 1\&.42\&.4" "General Commands Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/nm-openvswitch.7 b/man/nm-openvswitch.7
index 56f28254..2a1eddaa 100644
--- a/man/nm-openvswitch.7
+++ b/man/nm-openvswitch.7
@@ -2,12 +2,12 @@
.\" Title: nm-openvswitch
.\" Author:
.\" Generator: DocBook XSL Stylesheets vsnapshot
-.\" Date: 02/23/2023
+.\" Date: 03/09/2023
.\" Manual: Open vSwitch support overview
-.\" Source: NetworkManager 1.42.2
+.\" Source: NetworkManager 1.42.4
.\" Language: English
.\"
-.TH "NM\-OPENVSWITCH" "7" "" "NetworkManager 1\&.42\&.2" "Open vSwitch support overview"
+.TH "NM\-OPENVSWITCH" "7" "" "NetworkManager 1\&.42\&.4" "Open vSwitch support overview"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/nm-settings-dbus.5 b/man/nm-settings-dbus.5
index eec87801..48b070ba 100644
--- a/man/nm-settings-dbus.5
+++ b/man/nm-settings-dbus.5
@@ -2,12 +2,12 @@
.\" Title: nm-settings-dbus
.\" Author:
.\" Generator: DocBook XSL Stylesheets vsnapshot
-.\" Date: 02/23/2023
+.\" Date: 03/09/2023
.\" Manual: Configuration
-.\" Source: NetworkManager 1.42.2
+.\" Source: NetworkManager 1.42.4
.\" Language: English
.\"
-.TH "NM\-SETTINGS\-DBUS" "5" "" "NetworkManager 1\&.42\&.2" "Configuration"
+.TH "NM\-SETTINGS\-DBUS" "5" "" "NetworkManager 1\&.42\&.4" "Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/nm-settings-dbus.xml b/man/nm-settings-dbus.xml
index a179f9c9..85a0ccc5 100644
--- a/man/nm-settings-dbus.xml
+++ b/man/nm-settings-dbus.xml
@@ -1,6 +1,6 @@
-nm-settings-dbusNetworkManager developersnm-settings-dbus5NetworkManagerConfiguration1.42.2nm-settings-dbusDescription of settings and properties of NetworkManager connection profiles on the D-Bus APIDescription
+nm-settings-dbusNetworkManager developersnm-settings-dbus5NetworkManagerConfiguration1.42.4nm-settings-dbusDescription of settings and properties of NetworkManager connection profiles on the D-Bus APIDescription
NetworkManager is based on a concept of connection profiles, sometimes referred to as
connections only. These connection profiles contain a network configuration. When
NetworkManager activates a connection profile on a network device the configuration will
diff --git a/man/nm-settings-ifcfg-rh.5 b/man/nm-settings-ifcfg-rh.5
index 061a64c7..e96e1e3f 100644
--- a/man/nm-settings-ifcfg-rh.5
+++ b/man/nm-settings-ifcfg-rh.5
@@ -2,12 +2,12 @@
.\" Title: nm-settings-ifcfg-rh
.\" Author:
.\" Generator: DocBook XSL Stylesheets vsnapshot
-.\" Date: 02/23/2023
+.\" Date: 03/09/2023
.\" Manual: Configuration
-.\" Source: NetworkManager 1.42.2
+.\" Source: NetworkManager 1.42.4
.\" Language: English
.\"
-.TH "NM\-SETTINGS\-IFCFG\-RH" "5" "" "NetworkManager 1\&.42\&.2" "Configuration"
+.TH "NM\-SETTINGS\-IFCFG\-RH" "5" "" "NetworkManager 1\&.42\&.4" "Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/nm-settings-ifcfg-rh.xml b/man/nm-settings-ifcfg-rh.xml
index 1303ed17..37a46ab3 100644
--- a/man/nm-settings-ifcfg-rh.xml
+++ b/man/nm-settings-ifcfg-rh.xml
@@ -1,6 +1,6 @@
-nm-settings-ifcfg-rhNetworkManager developersnm-settings-ifcfg-rh5NetworkManagerConfiguration1.42.2nm-settings-ifcfg-rhDescription of ifcfg-rh settings pluginDescription
+nm-settings-ifcfg-rhNetworkManager developersnm-settings-ifcfg-rh5NetworkManagerConfiguration1.42.4nm-settings-ifcfg-rhDescription of ifcfg-rh settings pluginDescription
NetworkManager is based on the concept of connection profiles that contain
network configuration (see nm-settings5 for details). The profiles can be
stored in various formats. NetworkManager uses plugins for reading and writing
diff --git a/man/nm-settings-keyfile.5 b/man/nm-settings-keyfile.5
index a550a9cb..fc30ddb8 100644
--- a/man/nm-settings-keyfile.5
+++ b/man/nm-settings-keyfile.5
@@ -2,12 +2,12 @@
.\" Title: nm-settings-keyfile
.\" Author:
.\" Generator: DocBook XSL Stylesheets vsnapshot
-.\" Date: 02/23/2023
+.\" Date: 03/09/2023
.\" Manual: Configuration
-.\" Source: NetworkManager 1.42.2
+.\" Source: NetworkManager 1.42.4
.\" Language: English
.\"
-.TH "NM\-SETTINGS\-KEYFILE" "5" "" "NetworkManager 1\&.42\&.2" "Configuration"
+.TH "NM\-SETTINGS\-KEYFILE" "5" "" "NetworkManager 1\&.42\&.4" "Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/nm-settings-keyfile.xml b/man/nm-settings-keyfile.xml
index a04af684..07e45da2 100644
--- a/man/nm-settings-keyfile.xml
+++ b/man/nm-settings-keyfile.xml
@@ -1,6 +1,6 @@
-nm-settings-keyfileNetworkManager developersnm-settings-keyfile5NetworkManagerConfiguration1.42.2nm-settings-keyfileDescription of keyfile settings pluginDescription
+nm-settings-keyfileNetworkManager developersnm-settings-keyfile5NetworkManagerConfiguration1.42.4nm-settings-keyfileDescription of keyfile settings pluginDescription
NetworkManager is based on the concept of connection profiles that contain
network configuration (see nm-settings5 for details). The profiles can be
stored in various formats. NetworkManager uses plugins for reading and writing
diff --git a/man/nm-settings-nmcli.5 b/man/nm-settings-nmcli.5
index 5f92f801..c14b6a52 100644
--- a/man/nm-settings-nmcli.5
+++ b/man/nm-settings-nmcli.5
@@ -2,12 +2,12 @@
.\" Title: nm-settings-nmcli
.\" Author:
.\" Generator: DocBook XSL Stylesheets vsnapshot
-.\" Date: 02/23/2023
+.\" Date: 03/09/2023
.\" Manual: Configuration
-.\" Source: NetworkManager 1.42.2
+.\" Source: NetworkManager 1.42.4
.\" Language: English
.\"
-.TH "NM\-SETTINGS\-NMCLI" "5" "" "NetworkManager 1\&.42\&.2" "Configuration"
+.TH "NM\-SETTINGS\-NMCLI" "5" "" "NetworkManager 1\&.42\&.4" "Configuration"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
@@ -2275,7 +2275,7 @@ Various attributes are supported:
unicast,
local,
blackhole,
-unavailable,
+unreachable,
prohibit,
throw\&. The default is
unicast\&.
@@ -2830,7 +2830,7 @@ Various attributes are supported:
unicast,
local,
blackhole,
-unavailable,
+unreachable,
prohibit,
throw\&. The default is
unicast\&.
diff --git a/man/nm-settings-nmcli.xml b/man/nm-settings-nmcli.xml
index 1d8207a0..6154468e 100644
--- a/man/nm-settings-nmcli.xml
+++ b/man/nm-settings-nmcli.xml
@@ -1,6 +1,6 @@
-nm-settings-nmcliNetworkManager developersnm-settings-nmcli5NetworkManagerConfiguration1.42.2nm-settings-nmcliDescription of settings and properties of NetworkManager connection profiles for nmcliDescription
+nm-settings-nmcliNetworkManager developersnm-settings-nmcli5NetworkManagerConfiguration1.42.4nm-settings-nmcliDescription of settings and properties of NetworkManager connection profiles for nmcliDescription
NetworkManager is based on a concept of connection profiles, sometimes referred to as
connections only. These connection profiles contain a network configuration. When
NetworkManager activates a connection profile on a network device the configuration will
@@ -356,7 +356,7 @@
"type" - one of unicast, local, blackhole,
- unavailable, prohibit, throw.
+ unreachable, prohibit, throw.
The default is unicast.
@@ -476,7 +476,7 @@ Example: priority 5 from 192.167.4.0/24 table 45
"type" - one of unicast, local, blackhole,
- unavailable, prohibit, throw.
+ unreachable, prohibit, throw.
The default is unicast.
diff --git a/man/nmcli-examples.7 b/man/nmcli-examples.7
index 3d0ada94..055716bd 100644
--- a/man/nmcli-examples.7
+++ b/man/nmcli-examples.7
@@ -2,12 +2,12 @@
.\" Title: nmcli-examples
.\" Author:
.\" Generator: DocBook XSL Stylesheets vsnapshot
-.\" Date: 02/23/2023
+.\" Date: 03/09/2023
.\" Manual: Examples
-.\" Source: NetworkManager 1.42.2
+.\" Source: NetworkManager 1.42.4
.\" Language: English
.\"
-.TH "NMCLI\-EXAMPLES" "7" "" "NetworkManager 1\&.42\&.2" "Examples"
+.TH "NMCLI\-EXAMPLES" "7" "" "NetworkManager 1\&.42\&.4" "Examples"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/nmcli.1 b/man/nmcli.1
index bcc22003..374593ce 100644
--- a/man/nmcli.1
+++ b/man/nmcli.1
@@ -2,12 +2,12 @@
.\" Title: nmcli
.\" Author:
.\" Generator: DocBook XSL Stylesheets vsnapshot
-.\" Date: 02/23/2023
+.\" Date: 03/09/2023
.\" Manual: General Commands Manual
-.\" Source: NetworkManager 1.42.2
+.\" Source: NetworkManager 1.42.4
.\" Language: English
.\"
-.TH "NMCLI" "1" "" "NetworkManager 1\&.42\&.2" "General Commands Manual"
+.TH "NMCLI" "1" "" "NetworkManager 1\&.42\&.4" "General Commands Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/man/nmtui.1 b/man/nmtui.1
index efeaead3..ebf235f6 100644
--- a/man/nmtui.1
+++ b/man/nmtui.1
@@ -2,12 +2,12 @@
.\" Title: nmtui
.\" Author:
.\" Generator: DocBook XSL Stylesheets vsnapshot
-.\" Date: 02/23/2023
+.\" Date: 03/09/2023
.\" Manual: General Commands Manual
-.\" Source: NetworkManager 1.42.2
+.\" Source: NetworkManager 1.42.4
.\" Language: English
.\"
-.TH "NMTUI" "1" "" "NetworkManager 1\&.42\&.2" "General Commands Manual"
+.TH "NMTUI" "1" "" "NetworkManager 1\&.42\&.4" "General Commands Manual"
.\" -----------------------------------------------------------------
.\" * Define some portability stuff
.\" -----------------------------------------------------------------
diff --git a/meson.build b/meson.build
index 6813e52a..4651739a 100644
--- a/meson.build
+++ b/meson.build
@@ -6,7 +6,7 @@ project(
# - add corresponding NM_VERSION_x_y_z macros in
# "src/libnm-core-public/nm-version-macros.h.in"
# - update number in configure.ac
- version: '1.42.2',
+ version: '1.42.4',
license: 'GPL2+',
default_options: [
'buildtype=debugoptimized',
diff --git a/po/NetworkManager.pot b/po/NetworkManager.pot
index be899415..f9ac8f02 100644
--- a/po/NetworkManager.pot
+++ b/po/NetworkManager.pot
@@ -6,10 +6,10 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: NetworkManager 1.42.2\n"
+"Project-Id-Version: NetworkManager 1.42.4\n"
"Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
"NetworkManager/issues\n"
-"POT-Creation-Date: 2023-02-23 10:42+0100\n"
+"POT-Creation-Date: 2023-03-09 09:02+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
diff --git a/src/core/devices/nm-device-ip-tunnel.c b/src/core/devices/nm-device-ip-tunnel.c
index 5e5ba632..a5760bf4 100644
--- a/src/core/devices/nm-device-ip-tunnel.c
+++ b/src/core/devices/nm-device-ip-tunnel.c
@@ -296,7 +296,7 @@ clear:
if (lnk->ikey)
input_key = g_strdup_printf("%u", lnk->ikey);
if (lnk->okey)
- input_key = g_strdup_printf("%u", lnk->okey);
+ output_key = g_strdup_printf("%u", lnk->okey);
} else if (priv->mode == NM_IP_TUNNEL_MODE_VTI6) {
const NMPlatformLnkVti6 *lnk;
@@ -313,7 +313,7 @@ clear:
if (lnk->ikey)
input_key = g_strdup_printf("%u", lnk->ikey);
if (lnk->okey)
- input_key = g_strdup_printf("%u", lnk->okey);
+ output_key = g_strdup_printf("%u", lnk->okey);
} else
g_return_if_reached();
diff --git a/src/core/dns/nm-dns-dnsmasq.c b/src/core/dns/nm-dns-dnsmasq.c
index 8ae1bb96..05aeff49 100644
--- a/src/core/dns/nm-dns-dnsmasq.c
+++ b/src/core/dns/nm-dns-dnsmasq.c
@@ -922,7 +922,8 @@ create_update_args(NMDnsDnsmasq *self,
if (global_config)
add_global_config(self, &servers, global_config);
- else {
+
+ if (!global_config || !nm_global_dns_config_lookup_domain(global_config, "*")) {
c_list_for_each_entry (ip_data, ip_data_lst_head, ip_data_lst)
add_ip_config(self, &servers, ip_data);
}
diff --git a/src/core/nm-config-data.c b/src/core/nm-config-data.c
index c6ab998f..ff44bc46 100644
--- a/src/core/nm-config-data.c
+++ b/src/core/nm-config-data.c
@@ -1463,21 +1463,23 @@ global_dns_equal(NMGlobalDnsConfig *old, NMGlobalDnsConfig *new)
if ((!old->domains || !new->domains) && old->domains != new->domains)
return FALSE;
- if (g_hash_table_size(old->domains) != g_hash_table_size(new->domains))
+ if (nm_g_hash_table_size(old->domains) != nm_g_hash_table_size(new->domains))
return FALSE;
- g_hash_table_iter_init(&iter, old->domains);
- while (g_hash_table_iter_next(&iter, &key, &value_old)) {
- value_new = g_hash_table_lookup(new->domains, key);
- if (!value_new)
- return FALSE;
+ if (old->domains) {
+ g_hash_table_iter_init(&iter, old->domains);
+ while (g_hash_table_iter_next(&iter, &key, &value_old)) {
+ value_new = g_hash_table_lookup(new->domains, key);
+ if (!value_new)
+ return FALSE;
- domain_old = value_old;
- domain_new = value_new;
+ domain_old = value_old;
+ domain_new = value_new;
- if (!nm_strv_equal(domain_old->options, domain_new->options)
- || !nm_strv_equal(domain_old->servers, domain_new->servers))
- return FALSE;
+ if (!nm_strv_equal(domain_old->options, domain_new->options)
+ || !nm_strv_equal(domain_old->servers, domain_new->servers))
+ return FALSE;
+ }
}
return TRUE;
diff --git a/src/core/nm-ip-config.c b/src/core/nm-ip-config.c
index f87840cc..bec67d9a 100644
--- a/src/core/nm-ip-config.c
+++ b/src/core/nm-ip-config.c
@@ -368,7 +368,7 @@ get_property_ip4(GObject *object, guint prop_id, GValue *value, GParamSpec *pspe
continue;
if (prop_id == PROP_IP4_NAMESERVERS)
- g_variant_builder_add(&builder, "u", &a);
+ g_variant_builder_add(&builder, "u", a);
else {
GVariantBuilder nested_builder;
diff --git a/src/core/platform/tests/test-common.c b/src/core/platform/tests/test-common.c
index a37982fc..571fedfe 100644
--- a/src/core/platform/tests/test-common.c
+++ b/src/core/platform/tests/test-common.c
@@ -1891,9 +1891,13 @@ nmtstp_ip4_address_add(NMPlatform *platform,
external_command,
TRUE,
ifindex,
- (NMIPAddr *) &address,
+ &((NMIPAddr){
+ .addr4 = address,
+ }),
plen,
- (NMIPAddr *) &peer_address,
+ &((NMIPAddr){
+ .addr4 = peer_address,
+ }),
lifetime,
preferred,
flags,
diff --git a/src/core/settings/nm-settings.c b/src/core/settings/nm-settings.c
index 63476c3c..9995b490 100644
--- a/src/core/settings/nm-settings.c
+++ b/src/core/settings/nm-settings.c
@@ -2009,6 +2009,7 @@ nm_settings_update_connection(NMSettings *self,
const char *uuid;
gboolean tombstone_in_memory = FALSE;
gboolean tombstone_on_disk = FALSE;
+ NMSettingsConnectionIntFlags new_flags;
g_return_val_if_fail(NM_IS_SETTINGS(self), FALSE);
g_return_val_if_fail(NM_IS_SETTINGS_CONNECTION(sett_conn), FALSE);
@@ -2228,13 +2229,16 @@ nm_settings_update_connection(NMSettings *self,
}
}
+ new_flags = nm_settings_connection_get_flags(sett_conn);
+ new_flags = NM_FLAGS_ASSIGN_MASK(new_flags, sett_mask, sett_flags);
+
if (!update_storage) {
success = _add_connection_to_first_plugin(self,
plugin_name,
sett_conn_entry,
connection,
new_in_memory,
- sett_flags,
+ new_flags,
new_shadowed_storage_filename,
new_shadowed_owned,
&new_storage,
@@ -2245,7 +2249,7 @@ nm_settings_update_connection(NMSettings *self,
success = _update_connection_to_plugin(self,
update_storage,
connection,
- sett_flags,
+ new_flags,
update_reason,
new_shadowed_storage_filename,
new_shadowed_owned,
diff --git a/src/libnm-core-impl/nm-setting-ip4-config.c b/src/libnm-core-impl/nm-setting-ip4-config.c
index 83727ea3..7819c2e8 100644
--- a/src/libnm-core-impl/nm-setting-ip4-config.c
+++ b/src/libnm-core-impl/nm-setting-ip4-config.c
@@ -1152,7 +1152,7 @@ nm_setting_ip4_config_class_init(NMSettingIP4ConfigClass *klass)
*
*
* "type" - one of unicast, local, blackhole,
- * unavailable, prohibit, throw.
+ * unreachable, prohibit, throw.
* The default is unicast.
*
*
diff --git a/src/libnm-core-impl/nm-setting-ip6-config.c b/src/libnm-core-impl/nm-setting-ip6-config.c
index 54f0967c..573211b2 100644
--- a/src/libnm-core-impl/nm-setting-ip6-config.c
+++ b/src/libnm-core-impl/nm-setting-ip6-config.c
@@ -1138,7 +1138,7 @@ nm_setting_ip6_config_class_init(NMSettingIP6ConfigClass *klass)
*
*
* "type" - one of unicast, local, blackhole,
- * unavailable, prohibit, throw.
+ * unreachable, prohibit, throw.
* The default is unicast.
*
*
diff --git a/src/libnm-core-public/nm-version-macros.h b/src/libnm-core-public/nm-version-macros.h
index 18ad7cf6..159d3bd8 100644
--- a/src/libnm-core-public/nm-version-macros.h
+++ b/src/libnm-core-public/nm-version-macros.h
@@ -30,7 +30,7 @@
* Evaluates to the micro version number of NetworkManager which this source
* compiled against.
*/
-#define NM_MICRO_VERSION (2)
+#define NM_MICRO_VERSION (4)
/**
* NM_CHECK_VERSION:
diff --git a/src/libnm-platform/nm-linux-platform.c b/src/libnm-platform/nm-linux-platform.c
index d4ab36f9..30ad1275 100644
--- a/src/libnm-platform/nm-linux-platform.c
+++ b/src/libnm-platform/nm-linux-platform.c
@@ -9213,15 +9213,27 @@ get_ext_data(NMPlatform *platform, int ifindex)
return obj->_link.ext_data;
}
+#define get_ext_data_check(platform, ifindex, is_check) \
+ ({ \
+ GObject *_obj = get_ext_data((platform), (ifindex)); \
+ \
+ _obj &&is_check(_obj) ? ((gpointer) _obj) : NULL; \
+ })
+
/*****************************************************************************/
-#define WIFI_GET_WIFI_DATA_NETNS(wifi_data, platform, ifindex, retval) \
- nm_auto_pop_netns NMPNetns *netns = NULL; \
- NMWifiUtils *wifi_data; \
- if (!nm_platform_netns_push(platform, &netns)) \
- return retval; \
- wifi_data = NM_WIFI_UTILS(get_ext_data(platform, ifindex)); \
- if (!wifi_data) \
+#define WIFI_GET_WIFI_DATA(wifi_data, platform, ifindex, retval) \
+ NMWifiUtils *wifi_data = get_ext_data_check(platform, ifindex, NM_IS_WIFI_UTILS); \
+ if (!wifi_data) \
+ return retval;
+
+#define WIFI_GET_WIFI_DATA_NETNS(wifi_data, platform, ifindex, retval) \
+ nm_auto_pop_netns NMPNetns *netns = NULL; \
+ NMWifiUtils *wifi_data; \
+ if (!nm_platform_netns_push(platform, &netns)) \
+ return retval; \
+ wifi_data = get_ext_data_check(platform, ifindex, NM_IS_WIFI_UTILS); \
+ if (!wifi_data) \
return retval;
static gboolean
@@ -9390,9 +9402,9 @@ mesh_set_ssid(NMPlatform *platform, int ifindex, const guint8 *ssid, gsize len)
/*****************************************************************************/
-#define WPAN_GET_WPAN_DATA(wpan_data, platform, ifindex, retval) \
- NMWpanUtils *wpan_data = NM_WPAN_UTILS(get_ext_data(platform, ifindex)); \
- if (!wpan_data) \
+#define WPAN_GET_WPAN_DATA(wpan_data, platform, ifindex, retval) \
+ NMWpanUtils *wpan_data = get_ext_data_check(platform, ifindex, NM_IS_WPAN_UTILS); \
+ if (!wpan_data) \
return retval;
static guint16
@@ -9444,10 +9456,7 @@ link_get_wake_on_lan(NMPlatform *platform, int ifindex)
if (type == NM_LINK_TYPE_ETHERNET)
return nmp_utils_ethtool_get_wake_on_lan(ifindex);
else if (type == NM_LINK_TYPE_WIFI) {
- NMWifiUtils *wifi_data = NM_WIFI_UTILS(get_ext_data(platform, ifindex));
-
- if (!wifi_data)
- return FALSE;
+ WIFI_GET_WIFI_DATA(wifi_data, platform, ifindex, FALSE);
return !NM_IN_SET(nm_wifi_utils_get_wake_on_wlan(wifi_data),
_NM_SETTING_WIRELESS_WAKE_ON_WLAN_NONE,
diff --git a/src/libnm-platform/nm-platform.c b/src/libnm-platform/nm-platform.c
index c80d9648..2e9e940c 100644
--- a/src/libnm-platform/nm-platform.c
+++ b/src/libnm-platform/nm-platform.c
@@ -7951,6 +7951,7 @@ int
nm_platform_lnk_bond_cmp(const NMPlatformLnkBond *a, const NMPlatformLnkBond *b)
{
NM_CMP_SELF(a, b);
+ NM_CMP_FIELD(a, b, arp_ip_targets_num);
NM_CMP_FIELD_MEMCMP_LEN(a,
b,
arp_ip_target,
@@ -7972,7 +7973,6 @@ nm_platform_lnk_bond_cmp(const NMPlatformLnkBond *a, const NMPlatformLnkBond *b)
NM_CMP_FIELD_MEMCMP(a, b, ad_actor_system);
NM_CMP_FIELD(a, b, ad_select);
NM_CMP_FIELD(a, b, all_ports_active);
- NM_CMP_FIELD(a, b, arp_ip_targets_num);
NM_CMP_FIELD(a, b, fail_over_mac);
NM_CMP_FIELD(a, b, lacp_rate);
NM_CMP_FIELD(a, b, num_grat_arp);
diff --git a/src/libnm-platform/nmp-global-tracker.c b/src/libnm-platform/nmp-global-tracker.c
index 122ba0ea..3fd31e4e 100644
--- a/src/libnm-platform/nmp-global-tracker.c
+++ b/src/libnm-platform/nmp-global-tracker.c
@@ -26,7 +26,7 @@
* view. That is mainly, because such objects are themselves tied to an ifindex.
*
* However, for certain objects that's not the case. For example, policy routing
- * rules, certain route types (blackhole, unavailable, prohibit, throw) and MPTCP
+ * rules, certain route types (blackhole, unreachable, prohibit, throw) and MPTCP
* endpoints require a holistic view of the system. That is, because rules and
* these route types have no ifindex. For MPTCP endpoints, they have an ifindex,
* however we can only configure a small number of them at a time, so we need a
--
cgit 1.3.0-6-gf8a5