about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2023-03-09 19:06:14 +0100
committerMichael Biebl <biebl@debian.org>2023-03-09 19:06:14 +0100
commitdfaaf221cfee4ffcc507d793dae051d402646679 (patch)
treec218fc9b1ef10cfa7d2acf0ce401b6d97db2401f
parentb22a7b55d0bc5a7999dccaeacdde745f5ace9d66 (diff)
New upstream version 1.42.4 upstream/1.42.4
-rw-r--r--NEWS9
-rwxr-xr-xconfigure26
-rw-r--r--configure.ac2
-rw-r--r--docs/api/html/NetworkManager-wait-online.service.html2
-rw-r--r--docs/api/html/NetworkManager.conf.html17
-rw-r--r--docs/api/html/index.html2
-rw-r--r--docs/api/html/nm-settings-nmcli.html4
-rw-r--r--docs/api/version.xml2
-rw-r--r--docs/libnm/html/NMVpnEditor.html2
-rw-r--r--docs/libnm/html/index.html2
-rw-r--r--docs/libnm/html/libnm-nm-version-macros.html2
-rw-r--r--docs/libnm/html/usage.html2
-rw-r--r--docs/libnm/version.xml2
-rw-r--r--man/NetworkManager-dispatcher.84
-rw-r--r--man/NetworkManager-wait-online.service.86
-rw-r--r--man/NetworkManager-wait-online.service.xml2
-rw-r--r--man/NetworkManager.86
-rw-r--r--man/NetworkManager.conf.510
-rw-r--r--man/NetworkManager.conf.xml17
-rw-r--r--man/nm-cloud-setup.86
-rw-r--r--man/nm-initrd-generator.86
-rw-r--r--man/nm-online.16
-rw-r--r--man/nm-openvswitch.76
-rw-r--r--man/nm-settings-dbus.56
-rw-r--r--man/nm-settings-dbus.xml2
-rw-r--r--man/nm-settings-ifcfg-rh.56
-rw-r--r--man/nm-settings-ifcfg-rh.xml2
-rw-r--r--man/nm-settings-keyfile.56
-rw-r--r--man/nm-settings-keyfile.xml2
-rw-r--r--man/nm-settings-nmcli.510
-rw-r--r--man/nm-settings-nmcli.xml6
-rw-r--r--man/nmcli-examples.76
-rw-r--r--man/nmcli.16
-rw-r--r--man/nmtui.16
-rw-r--r--meson.build2
-rw-r--r--po/NetworkManager.pot4
-rw-r--r--src/core/devices/nm-device-ip-tunnel.c4
-rw-r--r--src/core/dns/nm-dns-dnsmasq.c3
-rw-r--r--src/core/nm-config-data.c24
-rw-r--r--src/core/nm-ip-config.c2
-rw-r--r--src/core/platform/tests/test-common.c8
-rw-r--r--src/core/settings/nm-settings.c8
-rw-r--r--src/libnm-core-impl/nm-setting-ip4-config.c2
-rw-r--r--src/libnm-core-impl/nm-setting-ip6-config.c2
-rw-r--r--src/libnm-core-public/nm-version-macros.h2
-rw-r--r--src/libnm-platform/nm-linux-platform.c37
-rw-r--r--src/libnm-platform/nm-platform.c2
-rw-r--r--src/libnm-platform/nmp-global-tracker.c2
48 files changed, 171 insertions, 132 deletions
diff --git a/NEWS b/NEWS
index d0fa4be6..92268885 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,13 @@
 ===============================================
+NetworkManager-1.42.4
+Overview of changes since NetworkManager-1.42.2
+===============================================
+
+* Fix a possible crash when [global-dns] is used and improve the
+  documentation.
+* Documentation improvements.
+
+===============================================
 NetworkManager-1.42.2
 Overview of changes since NetworkManager-1.42.0
 ===============================================
diff --git a/configure b/configure
index b7bb15bf..93531e9c 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for NetworkManager 1.42.2.
+# Generated by GNU Autoconf 2.71 for NetworkManager 1.42.4.
 #
 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager>.
 #
@@ -622,8 +622,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='NetworkManager'
 PACKAGE_TARNAME='NetworkManager'
-PACKAGE_VERSION='1.42.2'
-PACKAGE_STRING='NetworkManager 1.42.2'
+PACKAGE_VERSION='1.42.4'
+PACKAGE_STRING='NetworkManager 1.42.4'
 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager'
 PACKAGE_URL=''
 
@@ -1744,7 +1744,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures NetworkManager 1.42.2 to adapt to many kinds of systems.
+\`configure' configures NetworkManager 1.42.4 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1816,7 +1816,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of NetworkManager 1.42.2:";;
+     short | recursive ) echo "Configuration of NetworkManager 1.42.4:";;
    esac
   cat <<\_ACEOF
 
@@ -2171,7 +2171,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-NetworkManager configure 1.42.2
+NetworkManager configure 1.42.4
 generated by GNU Autoconf 2.71
 
 Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2892,7 +2892,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by NetworkManager $as_me 1.42.2, which was
+It was created by NetworkManager $as_me 1.42.4, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   $ $0$ac_configure_args_raw
@@ -4388,7 +4388,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='NetworkManager'
- VERSION='1.42.2'
+ VERSION='1.42.4'
 
 
 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -19328,8 +19328,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 NM_MAJOR_VERSION=1
 NM_MINOR_VERSION=42
-NM_MICRO_VERSION=2
-NM_VERSION=1.42.2
+NM_MICRO_VERSION=4
+NM_VERSION=1.42.4
 
 
 
@@ -19337,7 +19337,7 @@ NM_VERSION=1.42.2
 
 
 
-NM_GIT_SHA=58928a3188f54f4f09f9945b3737d0c996e3643f
+NM_GIT_SHA=a17d50be63958da590a46ba84032265d78636106
 
 if test """" != "no-config-h" ; then
 
@@ -32795,7 +32795,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by NetworkManager $as_me 1.42.2, which was
+This file was extended by NetworkManager $as_me 1.42.4, which was
 generated by GNU Autoconf 2.71.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -32863,7 +32863,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config='$ac_cs_config_escaped'
 ac_cs_version="\\
-NetworkManager config.status 1.42.2
+NetworkManager config.status 1.42.4
 configured by $0, generated by GNU Autoconf 2.71,
   with options \\"\$ac_cs_config\\"
 
diff --git a/configure.ac b/configure.ac
index b0cf78dc..32926215 100644
--- a/configure.ac
+++ b/configure.ac
@@ -8,7 +8,7 @@ dnl    "shared/nm-version-macros.h.in"
 dnl  - update number in meson.build
 m4_define([nm_major_version], [1])
 m4_define([nm_minor_version], [42])
-m4_define([nm_micro_version], [2])
+m4_define([nm_micro_version], [4])
 m4_define([nm_version],
           [nm_major_version.nm_minor_version.nm_micro_version])
 
diff --git a/docs/api/html/NetworkManager-wait-online.service.html b/docs/api/html/NetworkManager-wait-online.service.html
index c951c7b6..71b80e38 100644
--- a/docs/api/html/NetworkManager-wait-online.service.html
+++ b/docs/api/html/NetworkManager-wait-online.service.html
@@ -115,7 +115,7 @@
         </p></li>
 <li class="listitem"><p>
          With Ethernet devices, NetworkManager waits for the carrier until the value in
-	 <code class="literal">[device*].carrier-timeout</code> is reached. This is because some
+	 <code class="literal">[device*].carrier-wait-timeout</code> is reached. This is because some
 	 devices take a long time to detect the carrier. Consequently, booting with cable
 	 unplugged, unnecessarily delays <code class="literal">NetworkManager-wait-online.service</code>.
        </p></li>
diff --git a/docs/api/html/NetworkManager.conf.html b/docs/api/html/NetworkManager.conf.html
index 0523fb54..30d5660a 100644
--- a/docs/api/html/NetworkManager.conf.html
+++ b/docs/api/html/NetworkManager.conf.html
@@ -1432,8 +1432,8 @@ managed=1
 <div class="refsect1">
 <a name="id-1.2.3.14"></a><h2>
 <code class="literal">global-dns</code> section</h2>
-<p>This section specifies global DNS settings that override
-    connection-specific configuration.</p>
+<p>This section specifies DNS settings that are applied
+    globally, in addition to connection-specific ones.</p>
 <p>
       </p>
 <div class="variablelist"><table border="0" class="variablelist">
@@ -1465,10 +1465,15 @@ managed=1
 <p>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.
     </p>
 <p>
       </p>
diff --git a/docs/api/html/index.html b/docs/api/html/index.html
index 24562d5c..b8815102 100644
--- a/docs/api/html/index.html
+++ b/docs/api/html/index.html
@@ -16,7 +16,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">NetworkManager Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for NetworkManager 1.42.2
+      for NetworkManager 1.42.4
 
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="https://networkmanager.dev/docs/api/latest/" target="_top">https://networkmanager.dev/docs/api/latest/</a>.
diff --git a/docs/api/html/nm-settings-nmcli.html b/docs/api/html/nm-settings-nmcli.html
index 1a4f4495..69b51835 100644
--- a/docs/api/html/nm-settings-nmcli.html
+++ b/docs/api/html/nm-settings-nmcli.html
@@ -2315,7 +2315,7 @@
 <li class="listitem"><p><code class="literal">"table"</code> - an unsigned 32 bit integer. The default depends on ipv4.route-table.</p></li>
 <li class="listitem"><p><code class="literal">"tos"</code> - an unsigned 8 bit integer. IPv4 only.</p></li>
 <li class="listitem"><p><code class="literal">"type"</code> - one of <code class="literal">unicast</code>, <code class="literal">local</code>, <code class="literal">blackhole</code>,
-       <code class="literal">unavailable</code>, <code class="literal">prohibit</code>, <code class="literal">throw</code>.
+       <code class="literal">unreachable</code>, <code class="literal">prohibit</code>, <code class="literal">throw</code>.
        The default is <code class="literal">unicast</code>.</p></li>
 <li class="listitem">
 <p><code class="literal">"weight"</code> - an unsigned 32 bit integer
@@ -2661,7 +2661,7 @@ Example: <code class="literal">priority 5 from 192.167.4.0/24 table 45</code>
 <li class="listitem"><p><code class="literal">"src"</code> - an IPv6 address.</p></li>
 <li class="listitem"><p><code class="literal">"table"</code> - an unsigned 32 bit integer. The default depends on ipv6.route-table.</p></li>
 <li class="listitem"><p><code class="literal">"type"</code> - one of <code class="literal">unicast</code>, <code class="literal">local</code>, <code class="literal">blackhole</code>,
-       <code class="literal">unavailable</code>, <code class="literal">prohibit</code>, <code class="literal">throw</code>.
+       <code class="literal">unreachable</code>, <code class="literal">prohibit</code>, <code class="literal">throw</code>.
        The default is <code class="literal">unicast</code>.</p></li>
 <li class="listitem"><p><code class="literal">"window"</code> - an unsigned 32 bit integer.</p></li>
 </ul></div>
diff --git a/docs/api/version.xml b/docs/api/version.xml
index 2259c77c..6f7c8cda 100644
--- a/docs/api/version.xml
+++ b/docs/api/version.xml
@@ -1 +1 @@
-1.42.2
+1.42.4
diff --git a/docs/libnm/html/NMVpnEditor.html b/docs/libnm/html/NMVpnEditor.html
index ce6d9daf..d49edda0 100644
--- a/docs/libnm/html/NMVpnEditor.html
+++ b/docs/libnm/html/NMVpnEditor.html
@@ -138,7 +138,7 @@ nm_vpn_editor_update_connection (<em class="parameter"><code><a class="link" hre
 <tbody>
 <tr>
 <td class="struct_member_name"><p><em class="structfield"><code><a name="NMVpnEditorInterface.get-widget"></a>get_widget</code></em> ()</p></td>
-<td class="struct_member_description"><p>return the <span class="type">GtkWidget</span> for the VPN editor's UI</p></td>
+<td class="struct_member_description"><p>return the <a href="https://developer.gnome.org/gtk3/GtkWidget.html#GtkWidget-struct"><span class="type">GtkWidget</span></a> for the VPN editor's UI</p></td>
 <td class="struct_member_annotations"> </td>
 </tr>
 <tr>
diff --git a/docs/libnm/html/index.html b/docs/libnm/html/index.html
index d99e1423..7821f35f 100644
--- a/docs/libnm/html/index.html
+++ b/docs/libnm/html/index.html
@@ -15,7 +15,7 @@
 <div>
 <div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">libnm Reference Manual</p></th></tr></table></div>
 <div><p class="releaseinfo">
-      for libnm 1.42.2
+      for libnm 1.42.4
 
       The latest version of this documentation can be found on-line at
       <a class="ulink" href="https://networkmanager.dev/docs/libnm/latest/" target="_top">https://networkmanager.dev/docs/libnm/latest/</a>.
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.</p>
 <hr>
 <div class="refsect2">
 <a name="NM-MICRO-VERSION:CAPS"></a><h3>NM_MICRO_VERSION</h3>
-<pre class="programlisting">#define NM_MICRO_VERSION (2)
+<pre class="programlisting">#define NM_MICRO_VERSION (4)
 </pre>
 <p>Evaluates to the micro version number of NetworkManager which this source
 compiled against.</p>
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 @@
         </p>
 <pre class="screen"><code class="prompt">$ </code><strong class="userinput"><code>cc $(pkg-config --libs --cflags libnm) -o hello-nm hello-nm.c</code></strong>
   <code class="prompt">$ </code><strong class="userinput"><code>./hello-nm</code></strong>
-  NetworkManager version: 1.42.2
+  NetworkManager version: 1.42.4
 
   <code class="prompt">$ </code></pre>
 <p>
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 <http://docbook.sf.net/>
-.\"      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 <http://docbook.sf.net/>
-.\"      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 @@
       <listitem>
        <para>
          With Ethernet devices, NetworkManager waits for the carrier until the value in
-	 <literal>[device*].carrier-timeout</literal> is reached. This is because some
+	 <literal>[device*].carrier-wait-timeout</literal> is reached. This is because some
 	 devices take a long time to detect the carrier. Consequently, booting with cable
 	 unplugged, unnecessarily delays <literal>NetworkManager-wait-online.service</literal>.
        </para>
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 <http://docbook.sf.net/>
-.\"      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 <http://docbook.sf.net/>
-.\"      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
 
   <refsect1>
     <title><literal>global-dns</literal> section</title>
-    <para>This section specifies global DNS settings that override
-    connection-specific configuration.</para>
+    <para>This section specifies DNS settings that are applied
+    globally, in addition to connection-specific ones.</para>
     <para>
       <variablelist>
         <varlistentry>
@@ -1482,10 +1482,15 @@ managed=1
     <para>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.
     </para>
     <para>
       <variablelist>
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 <http://docbook.sf.net/>
-.\"      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 <http://docbook.sf.net/>
-.\"      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 <http://docbook.sf.net/>
-.\"      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 <http://docbook.sf.net/>
-.\"      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 <http://docbook.sf.net/>
-.\"      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 @@
 <?xml version="1.0"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id="nm-settings-dbus"><refentryinfo><title>nm-settings-dbus</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-dbus</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.42.2</refmiscinfo></refmeta><refnamediv><refname>nm-settings-dbus</refname><refpurpose>Description of settings and properties of NetworkManager connection profiles on the D-Bus API</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
+<refentry id="nm-settings-dbus"><refentryinfo><title>nm-settings-dbus</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-dbus</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.42.4</refmiscinfo></refmeta><refnamediv><refname>nm-settings-dbus</refname><refpurpose>Description of settings and properties of NetworkManager connection profiles on the D-Bus API</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
           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 <http://docbook.sf.net/>
-.\"      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 @@
 <?xml version="1.0"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id="nm-settings-ifcfg-rh"><refentryinfo><title>nm-settings-ifcfg-rh</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-ifcfg-rh</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.42.2</refmiscinfo></refmeta><refnamediv><refname>nm-settings-ifcfg-rh</refname><refpurpose>Description of <emphasis>ifcfg-rh</emphasis> settings plugin</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
+<refentry id="nm-settings-ifcfg-rh"><refentryinfo><title>nm-settings-ifcfg-rh</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-ifcfg-rh</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.42.4</refmiscinfo></refmeta><refnamediv><refname>nm-settings-ifcfg-rh</refname><refpurpose>Description of <emphasis>ifcfg-rh</emphasis> settings plugin</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
           NetworkManager is based on the concept of connection profiles that contain
           network configuration (see <citerefentry><refentrytitle>nm-settings</refentrytitle><manvolnum>5</manvolnum></citerefentry> 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 <http://docbook.sf.net/>
-.\"      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 @@
 <?xml version="1.0"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id="nm-settings-keyfile"><refentryinfo><title>nm-settings-keyfile</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-keyfile</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.42.2</refmiscinfo></refmeta><refnamediv><refname>nm-settings-keyfile</refname><refpurpose>Description of <emphasis>keyfile</emphasis> settings plugin</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
+<refentry id="nm-settings-keyfile"><refentryinfo><title>nm-settings-keyfile</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-keyfile</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.42.4</refmiscinfo></refmeta><refnamediv><refname>nm-settings-keyfile</refname><refpurpose>Description of <emphasis>keyfile</emphasis> settings plugin</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
           NetworkManager is based on the concept of connection profiles that contain
           network configuration (see <citerefentry><refentrytitle>nm-settings</refentrytitle><manvolnum>5</manvolnum></citerefentry> 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 <http://docbook.sf.net/>
-.\"      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 @@
 <?xml version="1.0"?>
 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
-<refentry id="nm-settings-nmcli"><refentryinfo><title>nm-settings-nmcli</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-nmcli</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.42.2</refmiscinfo></refmeta><refnamediv><refname>nm-settings-nmcli</refname><refpurpose>Description of settings and properties of NetworkManager connection profiles for nmcli</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
+<refentry id="nm-settings-nmcli"><refentryinfo><title>nm-settings-nmcli</title><author>NetworkManager developers</author></refentryinfo><refmeta><refentrytitle>nm-settings-nmcli</refentrytitle><manvolnum>5</manvolnum><refmiscinfo class="source">NetworkManager</refmiscinfo><refmiscinfo class="manual">Configuration</refmiscinfo><refmiscinfo class="version">1.42.4</refmiscinfo></refmeta><refnamediv><refname>nm-settings-nmcli</refname><refpurpose>Description of settings and properties of NetworkManager connection profiles for nmcli</refpurpose></refnamediv><refsect1 id="description"><title>Description</title><para>
           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 @@
    </listitem>
    <listitem>
      <para><literal>"type"</literal> - one of <literal>unicast</literal>, <literal>local</literal>, <literal>blackhole</literal>,
-       <literal>unavailable</literal>, <literal>prohibit</literal>, <literal>throw</literal>.
+       <literal>unreachable</literal>, <literal>prohibit</literal>, <literal>throw</literal>.
        The default is <literal>unicast</literal>.</para>
    </listitem>
    <listitem>
@@ -476,7 +476,7 @@ Example: <literal>priority 5 from 192.167.4.0/24 table 45</literal>
    </listitem>
    <listitem>
      <para><literal>"type"</literal> - one of <literal>unicast</literal>, <literal>local</literal>, <literal>blackhole</literal>,
-       <literal>unavailable</literal>, <literal>prohibit</literal>, <literal>throw</literal>.
+       <literal>unreachable</literal>, <literal>prohibit</literal>, <literal>throw</literal>.
        The default is <literal>unicast</literal>.</para>
    </listitem>
    <listitem>
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 <http://docbook.sf.net/>
-.\"      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 <http://docbook.sf.net/>
-.\"      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 <http://docbook.sf.net/>
-.\"      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 <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\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)
      *      </listitem>
      *      <listitem>
      *        <para><literal>"type"</literal> - one of <literal>unicast</literal>, <literal>local</literal>, <literal>blackhole</literal>,
-     *          <literal>unavailable</literal>, <literal>prohibit</literal>, <literal>throw</literal>.
+     *          <literal>unreachable</literal>, <literal>prohibit</literal>, <literal>throw</literal>.
      *          The default is <literal>unicast</literal>.</para>
      *      </listitem>
      *      <listitem>
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)
      *      </listitem>
      *      <listitem>
      *        <para><literal>"type"</literal> - one of <literal>unicast</literal>, <literal>local</literal>, <literal>blackhole</literal>,
-     *          <literal>unavailable</literal>, <literal>prohibit</literal>, <literal>throw</literal>.
+     *          <literal>unreachable</literal>, <literal>prohibit</literal>, <literal>throw</literal>.
      *          The default is <literal>unicast</literal>.</para>
      *      </listitem>
      *      <listitem>
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