Merge ~slyon/network-manager:test-nm1.42-lo into network-manager:ubuntu/master

Proposed by Lukas Märdian
Status: Merged
Approved by: Sebastien Bacher
Approved revision: 85571dbc520133f3c160c8a2be67a93e3b8e3c85
Merged at revision: 85571dbc520133f3c160c8a2be67a93e3b8e3c85
Proposed branch: ~slyon/network-manager:test-nm1.42-lo
Merge into: network-manager:ubuntu/master
Diff against target: 1174 lines (+218/-144)
51 files modified
NEWS (+9/-0)
configure (+13/-13)
configure.ac (+1/-1)
debian/changelog (+29/-0)
debian/org.freedesktop.NetworkManager.rules (+5/-5)
debian/tests/nm.py (+13/-7)
docs/api/html/NetworkManager-wait-online.service.html (+1/-1)
docs/api/html/NetworkManager.conf.html (+11/-6)
docs/api/html/index.html (+1/-1)
docs/api/html/nm-settings-nmcli.html (+2/-2)
docs/api/version.xml (+1/-1)
docs/libnm/html/NMVpnEditor.html (+1/-1)
docs/libnm/html/index.html (+1/-1)
docs/libnm/html/libnm-nm-version-macros.html (+1/-1)
docs/libnm/html/usage.html (+1/-1)
docs/libnm/version.xml (+1/-1)
man/NetworkManager-dispatcher.8 (+2/-2)
man/NetworkManager-wait-online.service.8 (+3/-3)
man/NetworkManager-wait-online.service.xml (+1/-1)
man/NetworkManager.8 (+3/-3)
man/NetworkManager.conf.5 (+5/-5)
man/NetworkManager.conf.xml (+11/-6)
man/nm-cloud-setup.8 (+3/-3)
man/nm-initrd-generator.8 (+3/-3)
man/nm-online.1 (+3/-3)
man/nm-openvswitch.7 (+3/-3)
man/nm-settings-dbus.5 (+3/-3)
man/nm-settings-dbus.xml (+1/-1)
man/nm-settings-ifcfg-rh.5 (+3/-3)
man/nm-settings-ifcfg-rh.xml (+1/-1)
man/nm-settings-keyfile.5 (+3/-3)
man/nm-settings-keyfile.xml (+1/-1)
man/nm-settings-nmcli.5 (+5/-5)
man/nm-settings-nmcli.xml (+3/-3)
man/nmcli-examples.7 (+3/-3)
man/nmcli.1 (+3/-3)
man/nmtui.1 (+3/-3)
meson.build (+1/-1)
po/NetworkManager.pot (+2/-2)
src/core/devices/nm-device-ip-tunnel.c (+2/-2)
src/core/dns/nm-dns-dnsmasq.c (+2/-1)
src/core/nm-config-data.c (+13/-11)
src/core/nm-ip-config.c (+1/-1)
src/core/platform/tests/test-common.c (+6/-2)
src/core/settings/nm-settings.c (+6/-2)
src/libnm-core-impl/nm-setting-ip4-config.c (+1/-1)
src/libnm-core-impl/nm-setting-ip6-config.c (+1/-1)
src/libnm-core-public/nm-version-macros.h (+1/-1)
src/libnm-platform/nm-linux-platform.c (+23/-14)
src/libnm-platform/nm-platform.c (+1/-1)
src/libnm-platform/nmp-global-tracker.c (+1/-1)
Reviewer Review Type Date Requested Status
Sebastien Bacher Approve
Jeremy Bícha Pending
Review via email: mp+439829@code.launchpad.net

Description of the change

Passes the nm.py autopkgtest for me:

$autopkgtest -B . --apt-pocket=proposed=src:network-manager --test-name=nm.py -s -- qemu /data/autopkgtest-lunar-amd64.img
[...]
----------------------------------------------------------------------
Ran 19 tests in 162.649s

OK (expected failures=2)
autopkgtest [15:22:07]: test nm.py: -----------------------]
autopkgtest [15:22:07]: test nm.py: - - - - - - - - - - results - - - - - - - - - -
nm.py PASS
autopkgtest [15:22:08]: @@@@@@@@@@@@@@@@@@@@ summary
nm.py PASS
qemu-system-x86_64: terminating on signal 15 from pid 187419 (/usr/bin/python3)

To post a comment you must log in.
Revision history for this message
Lukas Märdian (slyon) wrote :
Revision history for this message
Sebastien Bacher (seb128) wrote :

Thanks!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1diff --git a/NEWS b/NEWS
2index d0fa4be..9226888 100644
3--- a/NEWS
4+++ b/NEWS
5@@ -1,4 +1,13 @@
6 ===============================================
7+NetworkManager-1.42.4
8+Overview of changes since NetworkManager-1.42.2
9+===============================================
10+
11+* Fix a possible crash when [global-dns] is used and improve the
12+ documentation.
13+* Documentation improvements.
14+
15+===============================================
16 NetworkManager-1.42.2
17 Overview of changes since NetworkManager-1.42.0
18 ===============================================
19diff --git a/configure b/configure
20index b7bb15b..93531e9 100755
21--- a/configure
22+++ b/configure
23@@ -1,6 +1,6 @@
24 #! /bin/sh
25 # Guess values for system-dependent variables and create Makefiles.
26-# Generated by GNU Autoconf 2.71 for NetworkManager 1.42.2.
27+# Generated by GNU Autoconf 2.71 for NetworkManager 1.42.4.
28 #
29 # Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager>.
30 #
31@@ -622,8 +622,8 @@ MAKEFLAGS=
32 # Identity of this package.
33 PACKAGE_NAME='NetworkManager'
34 PACKAGE_TARNAME='NetworkManager'
35-PACKAGE_VERSION='1.42.2'
36-PACKAGE_STRING='NetworkManager 1.42.2'
37+PACKAGE_VERSION='1.42.4'
38+PACKAGE_STRING='NetworkManager 1.42.4'
39 PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager'
40 PACKAGE_URL=''
41
42@@ -1744,7 +1744,7 @@ if test "$ac_init_help" = "long"; then
43 # Omit some internal or obsolete options to make the list less imposing.
44 # This message is too long to be a string in the A/UX 3.1 sh.
45 cat <<_ACEOF
46-\`configure' configures NetworkManager 1.42.2 to adapt to many kinds of systems.
47+\`configure' configures NetworkManager 1.42.4 to adapt to many kinds of systems.
48
49 Usage: $0 [OPTION]... [VAR=VALUE]...
50
51@@ -1816,7 +1816,7 @@ fi
52
53 if test -n "$ac_init_help"; then
54 case $ac_init_help in
55- short | recursive ) echo "Configuration of NetworkManager 1.42.2:";;
56+ short | recursive ) echo "Configuration of NetworkManager 1.42.4:";;
57 esac
58 cat <<\_ACEOF
59
60@@ -2171,7 +2171,7 @@ fi
61 test -n "$ac_init_help" && exit $ac_status
62 if $ac_init_version; then
63 cat <<\_ACEOF
64-NetworkManager configure 1.42.2
65+NetworkManager configure 1.42.4
66 generated by GNU Autoconf 2.71
67
68 Copyright (C) 2021 Free Software Foundation, Inc.
69@@ -2892,7 +2892,7 @@ cat >config.log <<_ACEOF
70 This file contains any messages produced by compilers while
71 running configure, to aid debugging if configure makes a mistake.
72
73-It was created by NetworkManager $as_me 1.42.2, which was
74+It was created by NetworkManager $as_me 1.42.4, which was
75 generated by GNU Autoconf 2.71. Invocation command line was
76
77 $ $0$ac_configure_args_raw
78@@ -4388,7 +4388,7 @@ fi
79
80 # Define the identity of the package.
81 PACKAGE='NetworkManager'
82- VERSION='1.42.2'
83+ VERSION='1.42.4'
84
85
86 printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
87@@ -19328,8 +19328,8 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
88
89 NM_MAJOR_VERSION=1
90 NM_MINOR_VERSION=42
91-NM_MICRO_VERSION=2
92-NM_VERSION=1.42.2
93+NM_MICRO_VERSION=4
94+NM_VERSION=1.42.4
95
96
97
98@@ -19337,7 +19337,7 @@ NM_VERSION=1.42.2
99
100
101
102-NM_GIT_SHA=58928a3188f54f4f09f9945b3737d0c996e3643f
103+NM_GIT_SHA=a17d50be63958da590a46ba84032265d78636106
104
105 if test """" != "no-config-h" ; then
106
107@@ -32795,7 +32795,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
108 # report actual input values of CONFIG_FILES etc. instead of their
109 # values after options handling.
110 ac_log="
111-This file was extended by NetworkManager $as_me 1.42.2, which was
112+This file was extended by NetworkManager $as_me 1.42.4, which was
113 generated by GNU Autoconf 2.71. Invocation command line was
114
115 CONFIG_FILES = $CONFIG_FILES
116@@ -32863,7 +32863,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
117 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
118 ac_cs_config='$ac_cs_config_escaped'
119 ac_cs_version="\\
120-NetworkManager config.status 1.42.2
121+NetworkManager config.status 1.42.4
122 configured by $0, generated by GNU Autoconf 2.71,
123 with options \\"\$ac_cs_config\\"
124
125diff --git a/configure.ac b/configure.ac
126index b0cf78d..3292621 100644
127--- a/configure.ac
128+++ b/configure.ac
129@@ -8,7 +8,7 @@ dnl "shared/nm-version-macros.h.in"
130 dnl - update number in meson.build
131 m4_define([nm_major_version], [1])
132 m4_define([nm_minor_version], [42])
133-m4_define([nm_micro_version], [2])
134+m4_define([nm_micro_version], [4])
135 m4_define([nm_version],
136 [nm_major_version.nm_minor_version.nm_micro_version])
137
138diff --git a/debian/changelog b/debian/changelog
139index 4f130d6..f362bb1 100644
140--- a/debian/changelog
141+++ b/debian/changelog
142@@ -1,3 +1,32 @@
143+network-manager (1.42.4-1ubuntu2) lunar; urgency=medium
144+
145+ * d/t/nm.py: Fix autopkgtests with NM-1.42's 'lo' connection (LP: #2009543)
146+
147+ -- Lukas Märdian <slyon@ubuntu.com> Tue, 28 Mar 2023 15:13:56 +0200
148+
149+network-manager (1.42.4-1ubuntu1) lunar; urgency=medium
150+
151+ * Resynchronize on Debian to the current stable version
152+
153+ -- Sebastien Bacher <seb128@ubuntu.com> Thu, 23 Mar 2023 21:31:09 +0100
154+
155+network-manager (1.42.4-1) unstable; urgency=medium
156+
157+ * New upstream version 1.42.4
158+ * Rebase patches
159+ * Use execute_before instead of override for dh_install
160+
161+ -- Michael Biebl <biebl@debian.org> Thu, 09 Mar 2023 19:42:33 +0100
162+
163+network-manager (1.42.2-2) unstable; urgency=medium
164+
165+ * dnsmasq: process both global and per-device configuration.
166+ Cherry-pick upstream patch to fix a regression introduced in 1.42 when
167+ using the dnsmasq DNS backend and a global DNS configuration.
168+ (Closes: #1031891)
169+
170+ -- Michael Biebl <biebl@debian.org> Fri, 03 Mar 2023 17:57:30 +0100
171+
172 network-manager (1.42.2-1ubuntu1) lunar; urgency=medium
173
174 * Resynchronize on Debian, remaining changes:
175diff --git a/debian/org.freedesktop.NetworkManager.rules b/debian/org.freedesktop.NetworkManager.rules
176index 83b0576..9e2b20d 100644
177--- a/debian/org.freedesktop.NetworkManager.rules
178+++ b/debian/org.freedesktop.NetworkManager.rules
179@@ -1,7 +1,7 @@
180 polkit.addRule(function(action, subject) {
181- if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" &&
182- subject.local && subject.active &&
183- (subject.isInGroup ("sudo") || subject.isInGroup ("netdev"))) {
184- return polkit.Result.YES;
185- }
186+ if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" &&
187+ subject.local && subject.active &&
188+ (subject.isInGroup ("sudo") || subject.isInGroup ("netdev"))) {
189+ return polkit.Result.YES;
190+ }
191 });
192diff --git a/debian/tests/nm.py b/debian/tests/nm.py
193index 32b6bad..47345db 100755
194--- a/debian/tests/nm.py
195+++ b/debian/tests/nm.py
196@@ -47,6 +47,12 @@ os.dup2(sys.stdout.fileno(), sys.stderr.fileno())
197 class NetworkManagerTest(network_test_base.NetworkTestBase):
198 """Provide common functionality for NM tests"""
199
200+ def filtered_active_connections(self) -> list:
201+ # Ignore the 'lo' connection, active since NM 1.42:
202+ # https://networkmanager.dev/blog/networkmanager-1-42/#managing-the-loopback-interface
203+ active_connections = [c for c in self.nmclient.get_active_connections() if c.get_id() != 'lo']
204+ return active_connections
205+
206 def start_nm(self, wait_iface=None, auto_connect=True):
207 """Start NetworkManager and initialize client object
208
209@@ -635,7 +641,7 @@ wpa_passphrase=12345678
210 # self.assertEqual(ap.get_flags(), )
211
212 # should not auto-connect
213- self.assertEqual(self.nmclient.get_active_connections(), [])
214+ self.assertEqual(self.filtered_active_connections(), [])
215
216 # connect to that AP
217 (conn, active_conn) = self.connect_to_ap(ap, secret, ipv6_mode, ip6_privacy)
218@@ -643,7 +649,7 @@ wpa_passphrase=12345678
219 # check NMActiveConnection object
220 self.assertIn(
221 active_conn.get_uuid(),
222- [c.get_uuid() for c in self.nmclient.get_active_connections()],
223+ [c.get_uuid() for c in self.filtered_active_connections()],
224 )
225 self.assertEqual(
226 [d.get_udi() for d in active_conn.get_devices()], [self.nmdev_w.get_udi()]
227@@ -762,11 +768,11 @@ Logs are in '%s'. When done, exit the shell.
228 if auto_connect:
229 # ethernet should auto-connect quickly without an existing defined connection
230 self.assertEventually(
231- lambda: len(self.nmclient.get_active_connections()) > 0,
232+ lambda: len(self.filtered_active_connections()) > 0,
233 "timed out waiting for active connections",
234 timeout=100,
235 )
236- active_conn = self.nmclient.get_active_connections()[0]
237+ active_conn = self.filtered_active_connections()[0]
238 else:
239 # auto-connection was disabled, set up manual connection
240 partial_conn = NM.SimpleConnection.new()
241@@ -829,7 +835,7 @@ Logs are in '%s'. When done, exit the shell.
242 # check NMActiveConnection object
243 self.assertIn(
244 active_conn.get_uuid(),
245- [c.get_uuid() for c in self.nmclient.get_active_connections()],
246+ [c.get_uuid() for c in self.filtered_active_connections()],
247 )
248 self.assertEqual(
249 [d.get_udi() for d in active_conn.get_devices()], [self.nmdev_e.get_udi()]
250@@ -873,9 +879,9 @@ class Hotplug(NetworkManagerTest):
251 self.start_nm()
252 self.setup_eth(None)
253 self.assertEventually(
254- lambda: len(self.nmclient.get_active_connections()) > 0, timeout=300
255+ lambda: len(self.filtered_active_connections()) > 0, timeout=300
256 )
257- active_conn = self.nmclient.get_active_connections()[0]
258+ active_conn = self.filtered_active_connections()[0]
259
260 self.assertEventually(
261 lambda: active_conn.get_state() == NM.ActiveConnectionState.ACTIVATED,
262diff --git a/docs/api/html/NetworkManager-wait-online.service.html b/docs/api/html/NetworkManager-wait-online.service.html
263index c951c7b..71b80e3 100644
264--- a/docs/api/html/NetworkManager-wait-online.service.html
265+++ b/docs/api/html/NetworkManager-wait-online.service.html
266@@ -115,7 +115,7 @@
267 </p></li>
268 <li class="listitem"><p>
269 With Ethernet devices, NetworkManager waits for the carrier until the value in
270- <code class="literal">[device*].carrier-timeout</code> is reached. This is because some
271+ <code class="literal">[device*].carrier-wait-timeout</code> is reached. This is because some
272 devices take a long time to detect the carrier. Consequently, booting with cable
273 unplugged, unnecessarily delays <code class="literal">NetworkManager-wait-online.service</code>.
274 </p></li>
275diff --git a/docs/api/html/NetworkManager.conf.html b/docs/api/html/NetworkManager.conf.html
276index 0523fb5..30d5660 100644
277--- a/docs/api/html/NetworkManager.conf.html
278+++ b/docs/api/html/NetworkManager.conf.html
279@@ -1432,8 +1432,8 @@ managed=1
280 <div class="refsect1">
281 <a name="id-1.2.3.14"></a><h2>
282 <code class="literal">global-dns</code> section</h2>
283-<p>This section specifies global DNS settings that override
284- connection-specific configuration.</p>
285+<p>This section specifies DNS settings that are applied
286+ globally, in addition to connection-specific ones.</p>
287 <p>
288 </p>
289 <div class="variablelist"><table border="0" class="variablelist">
290@@ -1465,10 +1465,15 @@ managed=1
291 <p>Sections with a name starting with the "global-dns-domain-"
292 prefix allow to define global DNS configuration for specific
293 domains. The part of section name after "global-dns-domain-"
294- specifies the domain name a section applies to. More specific
295- domains have the precedence over less specific ones and the
296- default domain is represented by the wildcard "*". A default
297- domain section is mandatory.
298+ specifies the domain name a section applies to (for example, a
299+ section could be named "global-dns-domain-foobar.com"). More
300+ specific domains have the precedence over less specific ones and
301+ the default domain is represented by the wildcard "*".
302+
303+ To be valid, global DNS domains must include a section for the
304+ default domain "*". When the global DNS domains are valid, the
305+ name servers and domains defined globally override the ones from
306+ active connections.
307 </p>
308 <p>
309 </p>
310diff --git a/docs/api/html/index.html b/docs/api/html/index.html
311index 24562d5..b881510 100644
312--- a/docs/api/html/index.html
313+++ b/docs/api/html/index.html
314@@ -16,7 +16,7 @@
315 <div>
316 <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>
317 <div><p class="releaseinfo">
318- for NetworkManager 1.42.2
319+ for NetworkManager 1.42.4
320
321 The latest version of this documentation can be found on-line at
322 <a class="ulink" href="https://networkmanager.dev/docs/api/latest/" target="_top">https://networkmanager.dev/docs/api/latest/</a>.
323diff --git a/docs/api/html/nm-settings-nmcli.html b/docs/api/html/nm-settings-nmcli.html
324index 1a4f449..69b5183 100644
325--- a/docs/api/html/nm-settings-nmcli.html
326+++ b/docs/api/html/nm-settings-nmcli.html
327@@ -2315,7 +2315,7 @@
328 <li class="listitem"><p><code class="literal">"table"</code> - an unsigned 32 bit integer. The default depends on ipv4.route-table.</p></li>
329 <li class="listitem"><p><code class="literal">"tos"</code> - an unsigned 8 bit integer. IPv4 only.</p></li>
330 <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>,
331- <code class="literal">unavailable</code>, <code class="literal">prohibit</code>, <code class="literal">throw</code>.
332+ <code class="literal">unreachable</code>, <code class="literal">prohibit</code>, <code class="literal">throw</code>.
333 The default is <code class="literal">unicast</code>.</p></li>
334 <li class="listitem">
335 <p><code class="literal">"weight"</code> - an unsigned 32 bit integer
336@@ -2661,7 +2661,7 @@ Example: <code class="literal">priority 5 from 192.167.4.0/24 table 45</code>
337 <li class="listitem"><p><code class="literal">"src"</code> - an IPv6 address.</p></li>
338 <li class="listitem"><p><code class="literal">"table"</code> - an unsigned 32 bit integer. The default depends on ipv6.route-table.</p></li>
339 <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>,
340- <code class="literal">unavailable</code>, <code class="literal">prohibit</code>, <code class="literal">throw</code>.
341+ <code class="literal">unreachable</code>, <code class="literal">prohibit</code>, <code class="literal">throw</code>.
342 The default is <code class="literal">unicast</code>.</p></li>
343 <li class="listitem"><p><code class="literal">"window"</code> - an unsigned 32 bit integer.</p></li>
344 </ul></div>
345diff --git a/docs/api/version.xml b/docs/api/version.xml
346index 2259c77..6f7c8cd 100644
347--- a/docs/api/version.xml
348+++ b/docs/api/version.xml
349@@ -1 +1 @@
350-1.42.2
351+1.42.4
352diff --git a/docs/libnm/html/NMVpnEditor.html b/docs/libnm/html/NMVpnEditor.html
353index ce6d9da..d49edda 100644
354--- a/docs/libnm/html/NMVpnEditor.html
355+++ b/docs/libnm/html/NMVpnEditor.html
356@@ -138,7 +138,7 @@ nm_vpn_editor_update_connection (<em class="parameter"><code><a class="link" hre
357 <tbody>
358 <tr>
359 <td class="struct_member_name"><p><em class="structfield"><code><a name="NMVpnEditorInterface.get-widget"></a>get_widget</code></em> ()</p></td>
360-<td class="struct_member_description"><p>return the <span class="type">GtkWidget</span> for the VPN editor's UI</p></td>
361+<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>
362 <td class="struct_member_annotations"> </td>
363 </tr>
364 <tr>
365diff --git a/docs/libnm/html/index.html b/docs/libnm/html/index.html
366index d99e142..7821f35 100644
367--- a/docs/libnm/html/index.html
368+++ b/docs/libnm/html/index.html
369@@ -15,7 +15,7 @@
370 <div>
371 <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>
372 <div><p class="releaseinfo">
373- for libnm 1.42.2
374+ for libnm 1.42.4
375
376 The latest version of this documentation can be found on-line at
377 <a class="ulink" href="https://networkmanager.dev/docs/libnm/latest/" target="_top">https://networkmanager.dev/docs/libnm/latest/</a>.
378diff --git a/docs/libnm/html/libnm-nm-version-macros.html b/docs/libnm/html/libnm-nm-version-macros.html
379index 6c37cbe..0639b68 100644
380--- a/docs/libnm/html/libnm-nm-version-macros.html
381+++ b/docs/libnm/html/libnm-nm-version-macros.html
382@@ -261,7 +261,7 @@ is compiled against.</p>
383 <hr>
384 <div class="refsect2">
385 <a name="NM-MICRO-VERSION:CAPS"></a><h3>NM_MICRO_VERSION</h3>
386-<pre class="programlisting">#define NM_MICRO_VERSION (2)
387+<pre class="programlisting">#define NM_MICRO_VERSION (4)
388 </pre>
389 <p>Evaluates to the micro version number of NetworkManager which this source
390 compiled against.</p>
391diff --git a/docs/libnm/html/usage.html b/docs/libnm/html/usage.html
392index 0e0c31e..96c2147 100644
393--- a/docs/libnm/html/usage.html
394+++ b/docs/libnm/html/usage.html
395@@ -96,7 +96,7 @@
396 </p>
397 <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>
398 <code class="prompt">$ </code><strong class="userinput"><code>./hello-nm</code></strong>
399- NetworkManager version: 1.42.2
400+ NetworkManager version: 1.42.4
401
402 <code class="prompt">$ </code></pre>
403 <p>
404diff --git a/docs/libnm/version.xml b/docs/libnm/version.xml
405index 2259c77..6f7c8cd 100644
406--- a/docs/libnm/version.xml
407+++ b/docs/libnm/version.xml
408@@ -1 +1 @@
409-1.42.2
410+1.42.4
411diff --git a/man/NetworkManager-dispatcher.8 b/man/NetworkManager-dispatcher.8
412index e9ebad7..f56114c 100644
413--- a/man/NetworkManager-dispatcher.8
414+++ b/man/NetworkManager-dispatcher.8
415@@ -2,9 +2,9 @@
416 .\" Title: NetworkManager-dispatcher
417 .\" Author:
418 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
419-.\" Date: 02/23/2023
420+.\" Date: 03/09/2023
421 .\" Manual: Network management daemons
422-.\" Source: NetworkManager-dispatcher 1.42.2
423+.\" Source: NetworkManager-dispatcher 1.42.4
424 .\" Language: English
425 .\"
426 .TH "NETWORKMANAGER\-DISPATCHER" "8" "" "NetworkManager\-dispatcher 1\&" "Network management daemons"
427diff --git a/man/NetworkManager-wait-online.service.8 b/man/NetworkManager-wait-online.service.8
428index e004779..d1ca0eb 100644
429--- a/man/NetworkManager-wait-online.service.8
430+++ b/man/NetworkManager-wait-online.service.8
431@@ -2,9 +2,9 @@
432 .\" Title: NetworkManager-wait-online.service
433 .\" Author:
434 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
435-.\" Date: 02/23/2023
436+.\" Date: 03/09/2023
437 .\" Manual: Network management daemons
438-.\" Source: NetworkManager-wait-online.service 1.42.2
439+.\" Source: NetworkManager-wait-online.service 1.42.4
440 .\" Language: English
441 .\"
442 .TH "NETWORKMANAGER\-WAIT\-ONLINE\&" "8" "" "NetworkManager\-wait\-online\&" "Network management daemons"
443@@ -173,7 +173,7 @@ With Wi\-Fi devices, NetworkManager needs to wait for the first scan result to k
444 .IP \(bu 2.3
445 .\}
446 With Ethernet devices, NetworkManager waits for the carrier until the value in
447-[device*]\&.carrier\-timeout
448+[device*]\&.carrier\-wait\-timeout
449 is reached\&. This is because some devices take a long time to detect the carrier\&. Consequently, booting with cable unplugged, unnecessarily delays
450 NetworkManager\-wait\-online\&.service\&.
451 .RE
452diff --git a/man/NetworkManager-wait-online.service.xml b/man/NetworkManager-wait-online.service.xml
453index 464fe43..46068ea 100644
454--- a/man/NetworkManager-wait-online.service.xml
455+++ b/man/NetworkManager-wait-online.service.xml
456@@ -137,7 +137,7 @@
457 <listitem>
458 <para>
459 With Ethernet devices, NetworkManager waits for the carrier until the value in
460- <literal>[device*].carrier-timeout</literal> is reached. This is because some
461+ <literal>[device*].carrier-wait-timeout</literal> is reached. This is because some
462 devices take a long time to detect the carrier. Consequently, booting with cable
463 unplugged, unnecessarily delays <literal>NetworkManager-wait-online.service</literal>.
464 </para>
465diff --git a/man/NetworkManager.8 b/man/NetworkManager.8
466index 4177acd..14eda22 100644
467--- a/man/NetworkManager.8
468+++ b/man/NetworkManager.8
469@@ -2,12 +2,12 @@
470 .\" Title: NetworkManager
471 .\" Author:
472 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
473-.\" Date: 02/23/2023
474+.\" Date: 03/09/2023
475 .\" Manual: Network management daemons
476-.\" Source: NetworkManager 1.42.2
477+.\" Source: NetworkManager 1.42.4
478 .\" Language: English
479 .\"
480-.TH "NETWORKMANAGER" "8" "" "NetworkManager 1\&.42\&.2" "Network management daemons"
481+.TH "NETWORKMANAGER" "8" "" "NetworkManager 1\&.42\&.4" "Network management daemons"
482 .\" -----------------------------------------------------------------
483 .\" * Define some portability stuff
484 .\" -----------------------------------------------------------------
485diff --git a/man/NetworkManager.conf.5 b/man/NetworkManager.conf.5
486index 7622aa6..5cdb15f 100644
487--- a/man/NetworkManager.conf.5
488+++ b/man/NetworkManager.conf.5
489@@ -2,12 +2,12 @@
490 .\" Title: NetworkManager.conf
491 .\" Author:
492 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
493-.\" Date: 02/23/2023
494+.\" Date: 03/09/2023
495 .\" Manual: Configuration
496-.\" Source: NetworkManager 1.42.2
497+.\" Source: NetworkManager 1.42.4
498 .\" Language: English
499 .\"
500-.TH "NETWORKMANAGER\&.CONF" "5" "" "NetworkManager 1\&.42\&.2" "Configuration"
501+.TH "NETWORKMANAGER\&.CONF" "5" "" "NetworkManager 1\&.42\&.4" "Configuration"
502 .\" -----------------------------------------------------------------
503 .\" * Define some portability stuff
504 .\" -----------------------------------------------------------------
505@@ -1282,7 +1282,7 @@ If set, controls what body content NetworkManager checks for when requesting the
506 .RE
507 .SH "GLOBAL\-DNS SECTION"
508 .PP
509-This section specifies global DNS settings that override connection\-specific configuration\&.
510+This section specifies DNS settings that are applied globally, in addition to connection\-specific ones\&.
511 .PP
512 .PP
513 \fIsearches\fR
514@@ -1296,7 +1296,7 @@ A list of options to be passed to the hostname resolver\&.
515 .RE
516 .SH "GLOBAL\-DNS\-DOMAIN SECTIONS"
517 .PP
518-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\&.
519+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\&.
520 .PP
521 .PP
522 \fIservers\fR
523diff --git a/man/NetworkManager.conf.xml b/man/NetworkManager.conf.xml
524index 2c1fc85..0dcf805 100644
525--- a/man/NetworkManager.conf.xml
526+++ b/man/NetworkManager.conf.xml
527@@ -1453,8 +1453,8 @@ managed=1
528
529 <refsect1>
530 <title><literal>global-dns</literal> section</title>
531- <para>This section specifies global DNS settings that override
532- connection-specific configuration.</para>
533+ <para>This section specifies DNS settings that are applied
534+ globally, in addition to connection-specific ones.</para>
535 <para>
536 <variablelist>
537 <varlistentry>
538@@ -1482,10 +1482,15 @@ managed=1
539 <para>Sections with a name starting with the "global-dns-domain-"
540 prefix allow to define global DNS configuration for specific
541 domains. The part of section name after "global-dns-domain-"
542- specifies the domain name a section applies to. More specific
543- domains have the precedence over less specific ones and the
544- default domain is represented by the wildcard "*". A default
545- domain section is mandatory.
546+ specifies the domain name a section applies to (for example, a
547+ section could be named "global-dns-domain-foobar.com"). More
548+ specific domains have the precedence over less specific ones and
549+ the default domain is represented by the wildcard "*".
550+
551+ To be valid, global DNS domains must include a section for the
552+ default domain "*". When the global DNS domains are valid, the
553+ name servers and domains defined globally override the ones from
554+ active connections.
555 </para>
556 <para>
557 <variablelist>
558diff --git a/man/nm-cloud-setup.8 b/man/nm-cloud-setup.8
559index 0a53cd1..9b851e3 100644
560--- a/man/nm-cloud-setup.8
561+++ b/man/nm-cloud-setup.8
562@@ -2,12 +2,12 @@
563 .\" Title: nm-cloud-setup
564 .\" Author:
565 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
566-.\" Date: 02/23/2023
567+.\" Date: 03/09/2023
568 .\" Manual: Automatic Network Configuration in Cloud with NetworkManager
569-.\" Source: NetworkManager 1.42.2
570+.\" Source: NetworkManager 1.42.4
571 .\" Language: English
572 .\"
573-.TH "NM\-CLOUD\-SETUP" "8" "" "NetworkManager 1\&.42\&.2" "Automatic Network Configuratio"
574+.TH "NM\-CLOUD\-SETUP" "8" "" "NetworkManager 1\&.42\&.4" "Automatic Network Configuratio"
575 .\" -----------------------------------------------------------------
576 .\" * Define some portability stuff
577 .\" -----------------------------------------------------------------
578diff --git a/man/nm-initrd-generator.8 b/man/nm-initrd-generator.8
579index 9737be8..c9fc341 100644
580--- a/man/nm-initrd-generator.8
581+++ b/man/nm-initrd-generator.8
582@@ -2,12 +2,12 @@
583 .\" Title: nm-initrd-generator
584 .\" Author:
585 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
586-.\" Date: 02/23/2023
587+.\" Date: 03/09/2023
588 .\" Manual: System Administration
589-.\" Source: NetworkManager 1.42.2
590+.\" Source: NetworkManager 1.42.4
591 .\" Language: English
592 .\"
593-.TH "NM\-INITRD\-GENERATOR" "8" "" "NetworkManager 1\&.42\&.2" "System Administration"
594+.TH "NM\-INITRD\-GENERATOR" "8" "" "NetworkManager 1\&.42\&.4" "System Administration"
595 .\" -----------------------------------------------------------------
596 .\" * Define some portability stuff
597 .\" -----------------------------------------------------------------
598diff --git a/man/nm-online.1 b/man/nm-online.1
599index 3d17619..4676c95 100644
600--- a/man/nm-online.1
601+++ b/man/nm-online.1
602@@ -2,12 +2,12 @@
603 .\" Title: nm-online
604 .\" Author:
605 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
606-.\" Date: 02/23/2023
607+.\" Date: 03/09/2023
608 .\" Manual: General Commands Manual
609-.\" Source: NetworkManager 1.42.2
610+.\" Source: NetworkManager 1.42.4
611 .\" Language: English
612 .\"
613-.TH "NM\-ONLINE" "1" "" "NetworkManager 1\&.42\&.2" "General Commands Manual"
614+.TH "NM\-ONLINE" "1" "" "NetworkManager 1\&.42\&.4" "General Commands Manual"
615 .\" -----------------------------------------------------------------
616 .\" * Define some portability stuff
617 .\" -----------------------------------------------------------------
618diff --git a/man/nm-openvswitch.7 b/man/nm-openvswitch.7
619index 56f2825..2a1edda 100644
620--- a/man/nm-openvswitch.7
621+++ b/man/nm-openvswitch.7
622@@ -2,12 +2,12 @@
623 .\" Title: nm-openvswitch
624 .\" Author:
625 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
626-.\" Date: 02/23/2023
627+.\" Date: 03/09/2023
628 .\" Manual: Open vSwitch support overview
629-.\" Source: NetworkManager 1.42.2
630+.\" Source: NetworkManager 1.42.4
631 .\" Language: English
632 .\"
633-.TH "NM\-OPENVSWITCH" "7" "" "NetworkManager 1\&.42\&.2" "Open vSwitch support overview"
634+.TH "NM\-OPENVSWITCH" "7" "" "NetworkManager 1\&.42\&.4" "Open vSwitch support overview"
635 .\" -----------------------------------------------------------------
636 .\" * Define some portability stuff
637 .\" -----------------------------------------------------------------
638diff --git a/man/nm-settings-dbus.5 b/man/nm-settings-dbus.5
639index eec8780..48b070b 100644
640--- a/man/nm-settings-dbus.5
641+++ b/man/nm-settings-dbus.5
642@@ -2,12 +2,12 @@
643 .\" Title: nm-settings-dbus
644 .\" Author:
645 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
646-.\" Date: 02/23/2023
647+.\" Date: 03/09/2023
648 .\" Manual: Configuration
649-.\" Source: NetworkManager 1.42.2
650+.\" Source: NetworkManager 1.42.4
651 .\" Language: English
652 .\"
653-.TH "NM\-SETTINGS\-DBUS" "5" "" "NetworkManager 1\&.42\&.2" "Configuration"
654+.TH "NM\-SETTINGS\-DBUS" "5" "" "NetworkManager 1\&.42\&.4" "Configuration"
655 .\" -----------------------------------------------------------------
656 .\" * Define some portability stuff
657 .\" -----------------------------------------------------------------
658diff --git a/man/nm-settings-dbus.xml b/man/nm-settings-dbus.xml
659index a179f9c..85a0ccc 100644
660--- a/man/nm-settings-dbus.xml
661+++ b/man/nm-settings-dbus.xml
662@@ -1,6 +1,6 @@
663 <?xml version="1.0"?>
664 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
665-<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>
666+<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>
667 NetworkManager is based on a concept of connection profiles, sometimes referred to as
668 connections only. These connection profiles contain a network configuration. When
669 NetworkManager activates a connection profile on a network device the configuration will
670diff --git a/man/nm-settings-ifcfg-rh.5 b/man/nm-settings-ifcfg-rh.5
671index 061a64c..e96e1e3 100644
672--- a/man/nm-settings-ifcfg-rh.5
673+++ b/man/nm-settings-ifcfg-rh.5
674@@ -2,12 +2,12 @@
675 .\" Title: nm-settings-ifcfg-rh
676 .\" Author:
677 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
678-.\" Date: 02/23/2023
679+.\" Date: 03/09/2023
680 .\" Manual: Configuration
681-.\" Source: NetworkManager 1.42.2
682+.\" Source: NetworkManager 1.42.4
683 .\" Language: English
684 .\"
685-.TH "NM\-SETTINGS\-IFCFG\-RH" "5" "" "NetworkManager 1\&.42\&.2" "Configuration"
686+.TH "NM\-SETTINGS\-IFCFG\-RH" "5" "" "NetworkManager 1\&.42\&.4" "Configuration"
687 .\" -----------------------------------------------------------------
688 .\" * Define some portability stuff
689 .\" -----------------------------------------------------------------
690diff --git a/man/nm-settings-ifcfg-rh.xml b/man/nm-settings-ifcfg-rh.xml
691index 1303ed1..37a46ab 100644
692--- a/man/nm-settings-ifcfg-rh.xml
693+++ b/man/nm-settings-ifcfg-rh.xml
694@@ -1,6 +1,6 @@
695 <?xml version="1.0"?>
696 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
697-<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>
698+<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>
699 NetworkManager is based on the concept of connection profiles that contain
700 network configuration (see <citerefentry><refentrytitle>nm-settings</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details). The profiles can be
701 stored in various formats. NetworkManager uses plugins for reading and writing
702diff --git a/man/nm-settings-keyfile.5 b/man/nm-settings-keyfile.5
703index a550a9c..fc30ddb 100644
704--- a/man/nm-settings-keyfile.5
705+++ b/man/nm-settings-keyfile.5
706@@ -2,12 +2,12 @@
707 .\" Title: nm-settings-keyfile
708 .\" Author:
709 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
710-.\" Date: 02/23/2023
711+.\" Date: 03/09/2023
712 .\" Manual: Configuration
713-.\" Source: NetworkManager 1.42.2
714+.\" Source: NetworkManager 1.42.4
715 .\" Language: English
716 .\"
717-.TH "NM\-SETTINGS\-KEYFILE" "5" "" "NetworkManager 1\&.42\&.2" "Configuration"
718+.TH "NM\-SETTINGS\-KEYFILE" "5" "" "NetworkManager 1\&.42\&.4" "Configuration"
719 .\" -----------------------------------------------------------------
720 .\" * Define some portability stuff
721 .\" -----------------------------------------------------------------
722diff --git a/man/nm-settings-keyfile.xml b/man/nm-settings-keyfile.xml
723index a04af68..07e45da 100644
724--- a/man/nm-settings-keyfile.xml
725+++ b/man/nm-settings-keyfile.xml
726@@ -1,6 +1,6 @@
727 <?xml version="1.0"?>
728 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
729-<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>
730+<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>
731 NetworkManager is based on the concept of connection profiles that contain
732 network configuration (see <citerefentry><refentrytitle>nm-settings</refentrytitle><manvolnum>5</manvolnum></citerefentry> for details). The profiles can be
733 stored in various formats. NetworkManager uses plugins for reading and writing
734diff --git a/man/nm-settings-nmcli.5 b/man/nm-settings-nmcli.5
735index 5f92f80..c14b6a5 100644
736--- a/man/nm-settings-nmcli.5
737+++ b/man/nm-settings-nmcli.5
738@@ -2,12 +2,12 @@
739 .\" Title: nm-settings-nmcli
740 .\" Author:
741 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
742-.\" Date: 02/23/2023
743+.\" Date: 03/09/2023
744 .\" Manual: Configuration
745-.\" Source: NetworkManager 1.42.2
746+.\" Source: NetworkManager 1.42.4
747 .\" Language: English
748 .\"
749-.TH "NM\-SETTINGS\-NMCLI" "5" "" "NetworkManager 1\&.42\&.2" "Configuration"
750+.TH "NM\-SETTINGS\-NMCLI" "5" "" "NetworkManager 1\&.42\&.4" "Configuration"
751 .\" -----------------------------------------------------------------
752 .\" * Define some portability stuff
753 .\" -----------------------------------------------------------------
754@@ -2275,7 +2275,7 @@ Various attributes are supported:
755 unicast,
756 local,
757 blackhole,
758-unavailable,
759+unreachable,
760 prohibit,
761 throw\&. The default is
762 unicast\&.
763@@ -2830,7 +2830,7 @@ Various attributes are supported:
764 unicast,
765 local,
766 blackhole,
767-unavailable,
768+unreachable,
769 prohibit,
770 throw\&. The default is
771 unicast\&.
772diff --git a/man/nm-settings-nmcli.xml b/man/nm-settings-nmcli.xml
773index 1d8207a..6154468 100644
774--- a/man/nm-settings-nmcli.xml
775+++ b/man/nm-settings-nmcli.xml
776@@ -1,6 +1,6 @@
777 <?xml version="1.0"?>
778 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
779-<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>
780+<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>
781 NetworkManager is based on a concept of connection profiles, sometimes referred to as
782 connections only. These connection profiles contain a network configuration. When
783 NetworkManager activates a connection profile on a network device the configuration will
784@@ -356,7 +356,7 @@
785 </listitem>
786 <listitem>
787 <para><literal>"type"</literal> - one of <literal>unicast</literal>, <literal>local</literal>, <literal>blackhole</literal>,
788- <literal>unavailable</literal>, <literal>prohibit</literal>, <literal>throw</literal>.
789+ <literal>unreachable</literal>, <literal>prohibit</literal>, <literal>throw</literal>.
790 The default is <literal>unicast</literal>.</para>
791 </listitem>
792 <listitem>
793@@ -476,7 +476,7 @@ Example: <literal>priority 5 from 192.167.4.0/24 table 45</literal>
794 </listitem>
795 <listitem>
796 <para><literal>"type"</literal> - one of <literal>unicast</literal>, <literal>local</literal>, <literal>blackhole</literal>,
797- <literal>unavailable</literal>, <literal>prohibit</literal>, <literal>throw</literal>.
798+ <literal>unreachable</literal>, <literal>prohibit</literal>, <literal>throw</literal>.
799 The default is <literal>unicast</literal>.</para>
800 </listitem>
801 <listitem>
802diff --git a/man/nmcli-examples.7 b/man/nmcli-examples.7
803index 3d0ada9..055716b 100644
804--- a/man/nmcli-examples.7
805+++ b/man/nmcli-examples.7
806@@ -2,12 +2,12 @@
807 .\" Title: nmcli-examples
808 .\" Author:
809 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
810-.\" Date: 02/23/2023
811+.\" Date: 03/09/2023
812 .\" Manual: Examples
813-.\" Source: NetworkManager 1.42.2
814+.\" Source: NetworkManager 1.42.4
815 .\" Language: English
816 .\"
817-.TH "NMCLI\-EXAMPLES" "7" "" "NetworkManager 1\&.42\&.2" "Examples"
818+.TH "NMCLI\-EXAMPLES" "7" "" "NetworkManager 1\&.42\&.4" "Examples"
819 .\" -----------------------------------------------------------------
820 .\" * Define some portability stuff
821 .\" -----------------------------------------------------------------
822diff --git a/man/nmcli.1 b/man/nmcli.1
823index bcc2200..374593c 100644
824--- a/man/nmcli.1
825+++ b/man/nmcli.1
826@@ -2,12 +2,12 @@
827 .\" Title: nmcli
828 .\" Author:
829 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
830-.\" Date: 02/23/2023
831+.\" Date: 03/09/2023
832 .\" Manual: General Commands Manual
833-.\" Source: NetworkManager 1.42.2
834+.\" Source: NetworkManager 1.42.4
835 .\" Language: English
836 .\"
837-.TH "NMCLI" "1" "" "NetworkManager 1\&.42\&.2" "General Commands Manual"
838+.TH "NMCLI" "1" "" "NetworkManager 1\&.42\&.4" "General Commands Manual"
839 .\" -----------------------------------------------------------------
840 .\" * Define some portability stuff
841 .\" -----------------------------------------------------------------
842diff --git a/man/nmtui.1 b/man/nmtui.1
843index efeaead..ebf235f 100644
844--- a/man/nmtui.1
845+++ b/man/nmtui.1
846@@ -2,12 +2,12 @@
847 .\" Title: nmtui
848 .\" Author:
849 .\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
850-.\" Date: 02/23/2023
851+.\" Date: 03/09/2023
852 .\" Manual: General Commands Manual
853-.\" Source: NetworkManager 1.42.2
854+.\" Source: NetworkManager 1.42.4
855 .\" Language: English
856 .\"
857-.TH "NMTUI" "1" "" "NetworkManager 1\&.42\&.2" "General Commands Manual"
858+.TH "NMTUI" "1" "" "NetworkManager 1\&.42\&.4" "General Commands Manual"
859 .\" -----------------------------------------------------------------
860 .\" * Define some portability stuff
861 .\" -----------------------------------------------------------------
862diff --git a/meson.build b/meson.build
863index 6813e52..4651739 100644
864--- a/meson.build
865+++ b/meson.build
866@@ -6,7 +6,7 @@ project(
867 # - add corresponding NM_VERSION_x_y_z macros in
868 # "src/libnm-core-public/nm-version-macros.h.in"
869 # - update number in configure.ac
870- version: '1.42.2',
871+ version: '1.42.4',
872 license: 'GPL2+',
873 default_options: [
874 'buildtype=debugoptimized',
875diff --git a/po/NetworkManager.pot b/po/NetworkManager.pot
876index be89941..f9ac8f0 100644
877--- a/po/NetworkManager.pot
878+++ b/po/NetworkManager.pot
879@@ -6,10 +6,10 @@
880 #, fuzzy
881 msgid ""
882 msgstr ""
883-"Project-Id-Version: NetworkManager 1.42.2\n"
884+"Project-Id-Version: NetworkManager 1.42.4\n"
885 "Report-Msgid-Bugs-To: https://gitlab.freedesktop.org/NetworkManager/"
886 "NetworkManager/issues\n"
887-"POT-Creation-Date: 2023-02-23 10:42+0100\n"
888+"POT-Creation-Date: 2023-03-09 09:02+0100\n"
889 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
890 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
891 "Language-Team: LANGUAGE <LL@li.org>\n"
892diff --git a/src/core/devices/nm-device-ip-tunnel.c b/src/core/devices/nm-device-ip-tunnel.c
893index 5e5ba63..a5760bf 100644
894--- a/src/core/devices/nm-device-ip-tunnel.c
895+++ b/src/core/devices/nm-device-ip-tunnel.c
896@@ -296,7 +296,7 @@ clear:
897 if (lnk->ikey)
898 input_key = g_strdup_printf("%u", lnk->ikey);
899 if (lnk->okey)
900- input_key = g_strdup_printf("%u", lnk->okey);
901+ output_key = g_strdup_printf("%u", lnk->okey);
902 } else if (priv->mode == NM_IP_TUNNEL_MODE_VTI6) {
903 const NMPlatformLnkVti6 *lnk;
904
905@@ -313,7 +313,7 @@ clear:
906 if (lnk->ikey)
907 input_key = g_strdup_printf("%u", lnk->ikey);
908 if (lnk->okey)
909- input_key = g_strdup_printf("%u", lnk->okey);
910+ output_key = g_strdup_printf("%u", lnk->okey);
911 } else
912 g_return_if_reached();
913
914diff --git a/src/core/dns/nm-dns-dnsmasq.c b/src/core/dns/nm-dns-dnsmasq.c
915index 8ae1bb9..05aeff4 100644
916--- a/src/core/dns/nm-dns-dnsmasq.c
917+++ b/src/core/dns/nm-dns-dnsmasq.c
918@@ -922,7 +922,8 @@ create_update_args(NMDnsDnsmasq *self,
919
920 if (global_config)
921 add_global_config(self, &servers, global_config);
922- else {
923+
924+ if (!global_config || !nm_global_dns_config_lookup_domain(global_config, "*")) {
925 c_list_for_each_entry (ip_data, ip_data_lst_head, ip_data_lst)
926 add_ip_config(self, &servers, ip_data);
927 }
928diff --git a/src/core/nm-config-data.c b/src/core/nm-config-data.c
929index c6ab998..ff44bc4 100644
930--- a/src/core/nm-config-data.c
931+++ b/src/core/nm-config-data.c
932@@ -1463,21 +1463,23 @@ global_dns_equal(NMGlobalDnsConfig *old, NMGlobalDnsConfig *new)
933 if ((!old->domains || !new->domains) && old->domains != new->domains)
934 return FALSE;
935
936- if (g_hash_table_size(old->domains) != g_hash_table_size(new->domains))
937+ if (nm_g_hash_table_size(old->domains) != nm_g_hash_table_size(new->domains))
938 return FALSE;
939
940- g_hash_table_iter_init(&iter, old->domains);
941- while (g_hash_table_iter_next(&iter, &key, &value_old)) {
942- value_new = g_hash_table_lookup(new->domains, key);
943- if (!value_new)
944- return FALSE;
945+ if (old->domains) {
946+ g_hash_table_iter_init(&iter, old->domains);
947+ while (g_hash_table_iter_next(&iter, &key, &value_old)) {
948+ value_new = g_hash_table_lookup(new->domains, key);
949+ if (!value_new)
950+ return FALSE;
951
952- domain_old = value_old;
953- domain_new = value_new;
954+ domain_old = value_old;
955+ domain_new = value_new;
956
957- if (!nm_strv_equal(domain_old->options, domain_new->options)
958- || !nm_strv_equal(domain_old->servers, domain_new->servers))
959- return FALSE;
960+ if (!nm_strv_equal(domain_old->options, domain_new->options)
961+ || !nm_strv_equal(domain_old->servers, domain_new->servers))
962+ return FALSE;
963+ }
964 }
965
966 return TRUE;
967diff --git a/src/core/nm-ip-config.c b/src/core/nm-ip-config.c
968index f87840c..bec67d9 100644
969--- a/src/core/nm-ip-config.c
970+++ b/src/core/nm-ip-config.c
971@@ -368,7 +368,7 @@ get_property_ip4(GObject *object, guint prop_id, GValue *value, GParamSpec *pspe
972 continue;
973
974 if (prop_id == PROP_IP4_NAMESERVERS)
975- g_variant_builder_add(&builder, "u", &a);
976+ g_variant_builder_add(&builder, "u", a);
977 else {
978 GVariantBuilder nested_builder;
979
980diff --git a/src/core/platform/tests/test-common.c b/src/core/platform/tests/test-common.c
981index a37982f..571fedf 100644
982--- a/src/core/platform/tests/test-common.c
983+++ b/src/core/platform/tests/test-common.c
984@@ -1891,9 +1891,13 @@ nmtstp_ip4_address_add(NMPlatform *platform,
985 external_command,
986 TRUE,
987 ifindex,
988- (NMIPAddr *) &address,
989+ &((NMIPAddr){
990+ .addr4 = address,
991+ }),
992 plen,
993- (NMIPAddr *) &peer_address,
994+ &((NMIPAddr){
995+ .addr4 = peer_address,
996+ }),
997 lifetime,
998 preferred,
999 flags,
1000diff --git a/src/core/settings/nm-settings.c b/src/core/settings/nm-settings.c
1001index 63476c3..9995b49 100644
1002--- a/src/core/settings/nm-settings.c
1003+++ b/src/core/settings/nm-settings.c
1004@@ -2009,6 +2009,7 @@ nm_settings_update_connection(NMSettings *self,
1005 const char *uuid;
1006 gboolean tombstone_in_memory = FALSE;
1007 gboolean tombstone_on_disk = FALSE;
1008+ NMSettingsConnectionIntFlags new_flags;
1009
1010 g_return_val_if_fail(NM_IS_SETTINGS(self), FALSE);
1011 g_return_val_if_fail(NM_IS_SETTINGS_CONNECTION(sett_conn), FALSE);
1012@@ -2228,13 +2229,16 @@ nm_settings_update_connection(NMSettings *self,
1013 }
1014 }
1015
1016+ new_flags = nm_settings_connection_get_flags(sett_conn);
1017+ new_flags = NM_FLAGS_ASSIGN_MASK(new_flags, sett_mask, sett_flags);
1018+
1019 if (!update_storage) {
1020 success = _add_connection_to_first_plugin(self,
1021 plugin_name,
1022 sett_conn_entry,
1023 connection,
1024 new_in_memory,
1025- sett_flags,
1026+ new_flags,
1027 new_shadowed_storage_filename,
1028 new_shadowed_owned,
1029 &new_storage,
1030@@ -2245,7 +2249,7 @@ nm_settings_update_connection(NMSettings *self,
1031 success = _update_connection_to_plugin(self,
1032 update_storage,
1033 connection,
1034- sett_flags,
1035+ new_flags,
1036 update_reason,
1037 new_shadowed_storage_filename,
1038 new_shadowed_owned,
1039diff --git a/src/libnm-core-impl/nm-setting-ip4-config.c b/src/libnm-core-impl/nm-setting-ip4-config.c
1040index 83727ea..7819c2e 100644
1041--- a/src/libnm-core-impl/nm-setting-ip4-config.c
1042+++ b/src/libnm-core-impl/nm-setting-ip4-config.c
1043@@ -1152,7 +1152,7 @@ nm_setting_ip4_config_class_init(NMSettingIP4ConfigClass *klass)
1044 * </listitem>
1045 * <listitem>
1046 * <para><literal>"type"</literal> - one of <literal>unicast</literal>, <literal>local</literal>, <literal>blackhole</literal>,
1047- * <literal>unavailable</literal>, <literal>prohibit</literal>, <literal>throw</literal>.
1048+ * <literal>unreachable</literal>, <literal>prohibit</literal>, <literal>throw</literal>.
1049 * The default is <literal>unicast</literal>.</para>
1050 * </listitem>
1051 * <listitem>
1052diff --git a/src/libnm-core-impl/nm-setting-ip6-config.c b/src/libnm-core-impl/nm-setting-ip6-config.c
1053index 54f0967..573211b 100644
1054--- a/src/libnm-core-impl/nm-setting-ip6-config.c
1055+++ b/src/libnm-core-impl/nm-setting-ip6-config.c
1056@@ -1138,7 +1138,7 @@ nm_setting_ip6_config_class_init(NMSettingIP6ConfigClass *klass)
1057 * </listitem>
1058 * <listitem>
1059 * <para><literal>"type"</literal> - one of <literal>unicast</literal>, <literal>local</literal>, <literal>blackhole</literal>,
1060- * <literal>unavailable</literal>, <literal>prohibit</literal>, <literal>throw</literal>.
1061+ * <literal>unreachable</literal>, <literal>prohibit</literal>, <literal>throw</literal>.
1062 * The default is <literal>unicast</literal>.</para>
1063 * </listitem>
1064 * <listitem>
1065diff --git a/src/libnm-core-public/nm-version-macros.h b/src/libnm-core-public/nm-version-macros.h
1066index 18ad7cf..159d3bd 100644
1067--- a/src/libnm-core-public/nm-version-macros.h
1068+++ b/src/libnm-core-public/nm-version-macros.h
1069@@ -30,7 +30,7 @@
1070 * Evaluates to the micro version number of NetworkManager which this source
1071 * compiled against.
1072 */
1073-#define NM_MICRO_VERSION (2)
1074+#define NM_MICRO_VERSION (4)
1075
1076 /**
1077 * NM_CHECK_VERSION:
1078diff --git a/src/libnm-platform/nm-linux-platform.c b/src/libnm-platform/nm-linux-platform.c
1079index d4ab36f..30ad127 100644
1080--- a/src/libnm-platform/nm-linux-platform.c
1081+++ b/src/libnm-platform/nm-linux-platform.c
1082@@ -9213,15 +9213,27 @@ get_ext_data(NMPlatform *platform, int ifindex)
1083 return obj->_link.ext_data;
1084 }
1085
1086+#define get_ext_data_check(platform, ifindex, is_check) \
1087+ ({ \
1088+ GObject *_obj = get_ext_data((platform), (ifindex)); \
1089+ \
1090+ _obj &&is_check(_obj) ? ((gpointer) _obj) : NULL; \
1091+ })
1092+
1093 /*****************************************************************************/
1094
1095-#define WIFI_GET_WIFI_DATA_NETNS(wifi_data, platform, ifindex, retval) \
1096- nm_auto_pop_netns NMPNetns *netns = NULL; \
1097- NMWifiUtils *wifi_data; \
1098- if (!nm_platform_netns_push(platform, &netns)) \
1099- return retval; \
1100- wifi_data = NM_WIFI_UTILS(get_ext_data(platform, ifindex)); \
1101- if (!wifi_data) \
1102+#define WIFI_GET_WIFI_DATA(wifi_data, platform, ifindex, retval) \
1103+ NMWifiUtils *wifi_data = get_ext_data_check(platform, ifindex, NM_IS_WIFI_UTILS); \
1104+ if (!wifi_data) \
1105+ return retval;
1106+
1107+#define WIFI_GET_WIFI_DATA_NETNS(wifi_data, platform, ifindex, retval) \
1108+ nm_auto_pop_netns NMPNetns *netns = NULL; \
1109+ NMWifiUtils *wifi_data; \
1110+ if (!nm_platform_netns_push(platform, &netns)) \
1111+ return retval; \
1112+ wifi_data = get_ext_data_check(platform, ifindex, NM_IS_WIFI_UTILS); \
1113+ if (!wifi_data) \
1114 return retval;
1115
1116 static gboolean
1117@@ -9390,9 +9402,9 @@ mesh_set_ssid(NMPlatform *platform, int ifindex, const guint8 *ssid, gsize len)
1118
1119 /*****************************************************************************/
1120
1121-#define WPAN_GET_WPAN_DATA(wpan_data, platform, ifindex, retval) \
1122- NMWpanUtils *wpan_data = NM_WPAN_UTILS(get_ext_data(platform, ifindex)); \
1123- if (!wpan_data) \
1124+#define WPAN_GET_WPAN_DATA(wpan_data, platform, ifindex, retval) \
1125+ NMWpanUtils *wpan_data = get_ext_data_check(platform, ifindex, NM_IS_WPAN_UTILS); \
1126+ if (!wpan_data) \
1127 return retval;
1128
1129 static guint16
1130@@ -9444,10 +9456,7 @@ link_get_wake_on_lan(NMPlatform *platform, int ifindex)
1131 if (type == NM_LINK_TYPE_ETHERNET)
1132 return nmp_utils_ethtool_get_wake_on_lan(ifindex);
1133 else if (type == NM_LINK_TYPE_WIFI) {
1134- NMWifiUtils *wifi_data = NM_WIFI_UTILS(get_ext_data(platform, ifindex));
1135-
1136- if (!wifi_data)
1137- return FALSE;
1138+ WIFI_GET_WIFI_DATA(wifi_data, platform, ifindex, FALSE);
1139
1140 return !NM_IN_SET(nm_wifi_utils_get_wake_on_wlan(wifi_data),
1141 _NM_SETTING_WIRELESS_WAKE_ON_WLAN_NONE,
1142diff --git a/src/libnm-platform/nm-platform.c b/src/libnm-platform/nm-platform.c
1143index c80d964..2e9e940 100644
1144--- a/src/libnm-platform/nm-platform.c
1145+++ b/src/libnm-platform/nm-platform.c
1146@@ -7951,6 +7951,7 @@ int
1147 nm_platform_lnk_bond_cmp(const NMPlatformLnkBond *a, const NMPlatformLnkBond *b)
1148 {
1149 NM_CMP_SELF(a, b);
1150+ NM_CMP_FIELD(a, b, arp_ip_targets_num);
1151 NM_CMP_FIELD_MEMCMP_LEN(a,
1152 b,
1153 arp_ip_target,
1154@@ -7972,7 +7973,6 @@ nm_platform_lnk_bond_cmp(const NMPlatformLnkBond *a, const NMPlatformLnkBond *b)
1155 NM_CMP_FIELD_MEMCMP(a, b, ad_actor_system);
1156 NM_CMP_FIELD(a, b, ad_select);
1157 NM_CMP_FIELD(a, b, all_ports_active);
1158- NM_CMP_FIELD(a, b, arp_ip_targets_num);
1159 NM_CMP_FIELD(a, b, fail_over_mac);
1160 NM_CMP_FIELD(a, b, lacp_rate);
1161 NM_CMP_FIELD(a, b, num_grat_arp);
1162diff --git a/src/libnm-platform/nmp-global-tracker.c b/src/libnm-platform/nmp-global-tracker.c
1163index 122ba0e..3fd31e4 100644
1164--- a/src/libnm-platform/nmp-global-tracker.c
1165+++ b/src/libnm-platform/nmp-global-tracker.c
1166@@ -26,7 +26,7 @@
1167 * view. That is mainly, because such objects are themselves tied to an ifindex.
1168 *
1169 * However, for certain objects that's not the case. For example, policy routing
1170- * rules, certain route types (blackhole, unavailable, prohibit, throw) and MPTCP
1171+ * rules, certain route types (blackhole, unreachable, prohibit, throw) and MPTCP
1172 * endpoints require a holistic view of the system. That is, because rules and
1173 * these route types have no ifindex. For MPTCP endpoints, they have an ifindex,
1174 * however we can only configure a small number of them at a time, so we need a

Subscribers

People subscribed via source and target branches

to all changes: