Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package NetworkManager for openSUSE:Factory 
checked in at 2026-06-23 17:36:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/NetworkManager (Old)
 and      /work/SRC/openSUSE:Factory/.NetworkManager.new.1956 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "NetworkManager"

Tue Jun 23 17:36:01 2026 rev:292 rq:1360991 version:1.56.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/NetworkManager/NetworkManager.changes    
2026-02-11 18:48:46.353188481 +0100
+++ /work/SRC/openSUSE:Factory/.NetworkManager.new.1956/NetworkManager.changes  
2026-06-23 17:36:31.193188583 +0200
@@ -1,0 +2,74 @@
+Tue Jun 16 15:05:50 UTC 2026 - Bjørn Lie <[email protected]>
+
+- Drop initrd specific services, following debians workaround.
+
+-------------------------------------------------------------------
+Sun May 17 10:04:43 UTC 2026 - Bjørn Lie <[email protected]>
+
+- Update to version 1.56.1:
+  + Add support for GENEVE interface.
+  + Allow persisting the managed state across reboots from nmcli
+    and the D-Bus API.
+  + Allow changing the device's administrative state in the kernel
+    at the same  time as a change to the managed state from nmcli
+    and the D-Bus API.
+
+-------------------------------------------------------------------
+Mon Apr 27 11:05:34 UTC 2026 - Jan Fooken <[email protected]>
+
+- Backport upstream fix for bsc#1246627 to enable and respect the
+  connection.auth-retry option for WPA-PSK secured connections:
+  * Add patch 2308.patch from
+    
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2308
+
+-------------------------------------------------------------------
+Mon Mar 23 10:32:46 UTC 2026 - Dominique Leuenberger <[email protected]>
+
+- Migrate to xz compression and manual service run
+
+-------------------------------------------------------------------
+Wed Mar  4 17:04:55 UTC 2026 - Bjørn Lie <[email protected]>
+
+- Update to version 1.56.0:
+  + Unify the versioning to use everywhere the scheme with the -rcX
+    or -dev suffixes when appropriate. This affects, for example,
+    the URL and filename of the release tarball and the version
+    reported by nmcli and the daemon. As an exception, the C API
+    will continue to use the 90+ scheme for RC versions.
+  + nmcli now supports viewing and managing WireGuard peers.
+  + Support reapplying the "sriov.vfs" property as long as
+    "sriov.total-vfs" is not changed.
+  + Support reapplying "bond-port.vlans".
+  + Accept hostnames longer than 64 characters from DNS lookup.
+  + Make that global-dns configuration overwrites DNS searches and
+    options from connections, instead of merging all together.
+  + Add support for a new rd.net.dhcp.client-id option in
+    nm-initrd-generator.
+  + Add gsm device-uid setting to restrict the devices the
+    connection applies to.
+  + Support configuring the HSR protocol version via the
+    "hsr.protocol-version" property.
+  + Fix a bug that makes broadband connections auto-connect getting
+    blocked if the connection tries to reconnect when modem status
+    is "disconnecting" / "disconnected".
+  + Treat modem connection not having an operator code available as
+    a recoverable error.
+  + Add support for configuring systemd-resolved's DNSSEC option
+    per-connection via the "connection.dnssec" connection property.
+  + Support configuring the HSR interlink port via the
+    "hsr.interlink" property.
+  + Fix some connection properties not being applied to vpn
+    connections (connection.mdns, connection.llmnr,
+    connection.dns-over-tls, connection.mptcp-flags,
+    ipv6.ip6-privacy)
+  + Update n-acd to always compile with eBPF enabled, as support
+    for eBPF is now detected at run time.
+  + Add new MPTCP 'laminar' endpoint type, and set it by default
+    alongside the 'subflow' one.
+  + For private connections (the ones that specify a user in the
+    "connection.permissions" property), verify that the user can
+    access the 802.1X certificates and keys set in the connection.
+  + Introduce a libnm function that can be used by VPN plugins to
+    check user permissions on certificate and keys.
+
+-------------------------------------------------------------------
@@ -6,0 +81,47 @@
+Mon Dec 29 11:50:20 UTC 2025 - Dominique Leuenberger <[email protected]>
+
+- Update to version 1.56 RC2:
+  + For private connections (the ones that specify a user in the
+    "connection.permissions" property), verify that the user can
+    access the 802.1X certificates and keys set in the connection
+  + Introduce a libnm function that can be used by VPN plugins to
+    check user permissions on certificate and keys.
+  + Add new MPTCP 'laminar' endpoint type, and set it by default
+    alongside the 'subflow' one.
+
+-------------------------------------------------------------------
+Mon Dec 29 11:45:19 UTC 2025 - Bjørn Lie <[email protected]>
+
+- Update to version 1.56 RC1:
+  + nmcli now supports viewing and managing WireGuard peers.
+  + Support reapplying the "sriov.vfs" property as long as
+    "sriov.total-vfs" is not changed.
+  + Support reapplying "bond-port.vlans".
+  + Accept hostnames longer than 64 characters from DNS lookup.
+  + Make that global-dns configuration overwrites DNS searches and
+    options from connections, instead of merging all together.
+  + Add support for a new rd.net.dhcp.client-id option in
+    nm-initrd-generator.
+  + Add gsm device-uid setting to restrict the devices the
+    connection applies to.
+  + Support configuring the HSR protocol version via the
+    "hsr.protocol-version" property.
+  + Fix a bug that makes broadband connections auto-connect getting
+    blocked if the connection tries to reconnect when modem status
+    is "disconnecting" / "disconnected".
+  + Treat modem connection not having an operator code available
+    as a recoverable error.
+  + Add support for configuring systemd-resolved's DNSSEC option
+    per-connection via the "connection.dnssec" connection property.
+  + Support configuring the HSR interlink port via the
+    "hsr.interlink" property.
+  + Fix some connection properties not being applied to vpn
+    connections (connection.mdns, connection.llmnr,
+    connection.dns-over-tls, connection.mptcp-flags,
+    ipv6.ip6-privacy)
+  + Update n-acd to always compile with eBPF enabled, as support
+    for eBPF is now detected at run time.
+- Drop 2298.patch: Fixed/applied upstream.
+- Rebase patches with quilt.
+
+-------------------------------------------------------------------
@@ -38,0 +160,16 @@
+
+-------------------------------------------------------------------
+Sat Sep 27 12:02:41 UTC 2025 - Dominique Leuenberger <[email protected]>
+
+- Update to version 1.55.4:
+  + Support reapplying the "sriov.vfs" property as long as
+    "sriov.total-vfs" is not changed.
+
+-------------------------------------------------------------------
+Sat Sep 27 11:47:28 UTC 2025 - Dominique Leuenberger <[email protected]>
+
+- Update to version 1.55.3:
+  + This is a snapshot of NetworkManager development. The API is
+    subject to change and not guaranteed to be compatible with
+    the later release.
+  + nmcli now supports viewing and managing WireGuard peers.

Old:
----
  2298.patch
  NetworkManager-1.54.3.obscpio

New:
----
  2308.patch
  NetworkManager-1.56.1.tar.xz
  _scmsync.obsinfo
  build.specials.obscpio

----------(Old B)----------
  Old:    for eBPF is now detected at run time.
- Drop 2298.patch: Fixed/applied upstream.
- Rebase patches with quilt.
----------(Old E)----------

----------(New B)----------
  New:  connection.auth-retry option for WPA-PSK secured connections:
  * Add patch 2308.patch from
    
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2308
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ NetworkManager.spec ++++++
--- /var/tmp/diff_new_pack.YOwpIL/_old  2026-06-23 17:36:37.013391388 +0200
+++ /var/tmp/diff_new_pack.YOwpIL/_new  2026-06-23 17:36:37.033392085 +0200
@@ -64,13 +64,13 @@
 %endif
 
 Name:           NetworkManager
-Version:        1.54.3
+Version:        1.56.1
 Release:        0
 Summary:        Standard Linux network configuration tool suite
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later
 Group:          Productivity/Networking/System
 URL:            https://networkmanager.dev/
-Source0:        %{name}-%{version}.tar.zst
+Source0:        %{name}-%{version}.tar.xz
 Source1:        nfs
 Source2:        NetworkManager.conf
 Source3:        baselibs.conf
@@ -98,10 +98,10 @@
 Patch9:         NetworkManager-dont-renew-bridge-dhcp-if-no-mac-on-wakeup.patch
 # PATCH-FIX-OPENSUSE nm-initrd-generator document static ip setup bsc#1244072
 Patch11:        0001-man-document-static-ip-setup-differences-to-dracut-n.patch
-# PATCH-FIX-UPSTREAM 
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2298.patch
-Patch12:        2298.patch
 # PATCH-FIX-UPSTREAM 
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2312.patch
 Patch13:        2312.patch
+# PATCH-FIX-UPSTREAM 
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/2308.patch
+Patch14:        2308.patch
 
 BuildRequires:  c++_compiler
 BuildRequires:  dnsmasq
@@ -299,7 +299,7 @@
 This tool is still experimental.
 
 %package config-server
-Summary:        NetworkManager config file for "server-like" defualts
+Summary:        NetworkManager config file for "server-like" defaults
 Group:          System Environment/Base
 Requires:       %{name} = %{version}
 BuildArch:      noarch
@@ -327,8 +327,8 @@
 %patch -P 9 -p1
 %endif
 %patch -P 11 -p1
-%patch -P 12 -p1
 %patch -P 13 -p1
+%patch -P 14 -p1
 
 # Fix server.conf's location, to end up in %%{_defaultdocdir}/%%{name},
 # rather then %%{_datadir}/doc/%%{name}/examples:
@@ -402,6 +402,14 @@
 # drop on demand activation, it is handled as a system service
 rm -f 
%{buildroot}%{_datadir}/dbus-1/system-services/org.freedesktop.NetworkManager.service
 
+# 
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/work_items/1885
+# https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1117732
+# Those initrd specific services are not actually used by dracut and
+# conflict with the main services, so remove them for now.
+rm -f %{buildroot}%{_unitdir}/NetworkManager-config-initrd.service
+rm -f %{buildroot}%{_unitdir}/NetworkManager-wait-online-initrd.service
+rm -f %{buildroot}%{_unitdir}/NetworkManager-initrd.service
+
 %pre
 %service_add_pre NetworkManager.service NetworkManager-dispatcher.service 
nm-priv-helper.service
 
@@ -495,9 +503,9 @@
 %{_datadir}/dbus-1/system-services/org.freedesktop.nm_priv_helper.service
 %{_dbusconfdir}/nm-priv-helper.conf
 %{_defaultdocdir}/NetworkManager/server.conf
-%{_unitdir}/NetworkManager-config-initrd.service
-%{_unitdir}/NetworkManager-initrd.service
-%{_unitdir}/NetworkManager-wait-online-initrd.service
+%dnl %{_unitdir}/NetworkManager-config-initrd.service
+%dnl %{_unitdir}/NetworkManager-initrd.service
+%dnl %{_unitdir}/NetworkManager-wait-online-initrd.service
 %dir %{_systemdgeneratordir}
 %{_systemdgeneratordir}/nm-initrd-generator.sh
 

++++++ 0001-Coerce-connectivity-LIMITED-to-NONE-when-device-is-d.patch ++++++
--- /var/tmp/diff_new_pack.YOwpIL/_old  2026-06-23 17:36:37.429405885 +0200
+++ /var/tmp/diff_new_pack.YOwpIL/_new  2026-06-23 17:36:37.457406860 +0200
@@ -12,11 +12,11 @@
  src/devices/nm-device.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)
 
-Index: NetworkManager-1.54.0/src/core/devices/nm-device.c
+Index: NetworkManager-1.56/src/core/devices/nm-device.c
 ===================================================================
---- NetworkManager-1.54.0.orig/src/core/devices/nm-device.c
-+++ NetworkManager-1.54.0/src/core/devices/nm-device.c
-@@ -6604,7 +6604,8 @@ concheck_update_state(NMDevice
+--- NetworkManager-1.56.orig/src/core/devices/nm-device.c
++++ NetworkManager-1.56/src/core/devices/nm-device.c
+@@ -6631,7 +6631,8 @@ concheck_update_state(NMDevice
                  state = NM_CONNECTIVITY_LIMITED;
          } else
              state = NM_CONNECTIVITY_NONE;

++++++ 0001-man-document-static-ip-setup-differences-to-dracut-n.patch ++++++
--- /var/tmp/diff_new_pack.YOwpIL/_old  2026-06-23 17:36:37.489407975 +0200
+++ /var/tmp/diff_new_pack.YOwpIL/_new  2026-06-23 17:36:37.501408393 +0200
@@ -8,15 +8,14 @@
  man/nm-initrd-generator.xml | 12 ++++++++++++
  1 file changed, 12 insertions(+)
 
-diff --git a/man/nm-initrd-generator.xml b/man/nm-initrd-generator.xml
-index 312edff2ee..c4ea8baf8f 100644
---- a/man/nm-initrd-generator.xml
-+++ b/man/nm-initrd-generator.xml
-@@ -193,6 +193,18 @@
-         NetworkManager doesn't.</para>
+Index: NetworkManager-1.56/man/nm-initrd-generator.xml
+===================================================================
+--- NetworkManager-1.56.orig/man/nm-initrd-generator.xml
++++ NetworkManager-1.56/man/nm-initrd-generator.xml
+@@ -195,6 +195,18 @@
        </listitem>
  
-+      <listitem>
+       <listitem>
 +        <para>When an interface is configured with a static address,
 +        there is no need to disable autoconf via parameters.
 +        The netmask can be give either in four digit dot separated
@@ -28,9 +27,8 @@
 +        </para>
 +      </listitem>
 +
-       <listitem>
++      <listitem>
          <para>network-legacy configures interfaces one by one in the
          order in which they are announced by udev. If multiple
--- 
-2.49.0
+         interfaces specify a hostname (from command line or from
 

++++++ 2298.patch -> 2308.patch ++++++
--- /work/SRC/openSUSE:Factory/NetworkManager/2298.patch        2025-12-31 
10:47:11.005884538 +0100
+++ /work/SRC/openSUSE:Factory/.NetworkManager.new.1956/2308.patch      
2026-06-23 17:36:30.001147046 +0200
@@ -1,268 +1,277 @@
-From c312390932d1f1198baacca0de3c6a01811728a8 Mon Sep 17 00:00:00 2001
-From: Beniamino Galvani <[email protected]>
-Date: Tue, 14 Oct 2025 10:41:26 +0200
-Subject: [PATCH 1/2] libnm-glib-aux: add temp name argument to
- nm_utils_file_set_contents()
+From a3267aaf7bfab66604b2a6e69973301bb7f9b867 Mon Sep 17 00:00:00 2001
+From: Jan Fooken <[email protected]>
+Date: Tue, 4 Nov 2025 09:32:58 +0100
+Subject: [PATCH 1/5] device: add private getter for property auth-retries
 
-In some cases it's useful to specify the name of the temporary file to
-be used.
 ---
- src/core/devices/wifi/nm-iwd-manager.c         |  2 +-
- src/core/main-utils.c                          |  2 +-
- src/core/nm-core-utils.c                       |  1 +
- src/core/platform/tests/monitor.c              |  1 +
- .../plugins/ifcfg-rh/nms-ifcfg-rh-writer.c     |  1 +
- .../plugins/keyfile/nms-keyfile-utils.c        |  1 +
- .../plugins/keyfile/nms-keyfile-writer.c       | 10 +++++++++-
- src/libnm-glib-aux/nm-io-utils.c               | 18 +++++++++++++-----
- src/libnm-glib-aux/nm-io-utils.h               |  1 +
- src/nm-initrd-generator/nm-initrd-generator.c  |  2 +-
- 10 files changed, 30 insertions(+), 9 deletions(-)
+ src/core/devices/nm-device.c | 22 +++++++++++++++++++---
+ 1 file changed, 19 insertions(+), 3 deletions(-)
 
-diff --git a/src/core/devices/wifi/nm-iwd-manager.c 
b/src/core/devices/wifi/nm-iwd-manager.c
-index 76a342e206c..bb2e056d39c 100644
---- a/src/core/devices/wifi/nm-iwd-manager.c
-+++ b/src/core/devices/wifi/nm-iwd-manager.c
-@@ -684,7 +684,7 @@ iwd_config_write(GKeyFile              *config,
-      * in the last few filename characters -- it cannot end in .open, .psk
-      * or .8021x.
-      */
--    return nm_utils_file_set_contents(filepath, data, length, 0600, times, 
NULL, error);
-+    return nm_utils_file_set_contents(filepath, data, length, 0600, times, 
NULL, NULL, error);
+Index: NetworkManager-1.56.0/src/core/devices/nm-device.c
+===================================================================
+--- NetworkManager-1.56.0.orig/src/core/devices/nm-device.c
++++ NetworkManager-1.56.0/src/core/devices/nm-device.c
+@@ -18918,14 +18918,14 @@ nm_device_get_supplicant_timeout(NMDevic
+                                                        
SUPPLICANT_DEFAULT_TIMEOUT);
  }
  
- static const char *
-diff --git a/src/core/main-utils.c b/src/core/main-utils.c
-index 0f62da29024..d1be6814875 100644
---- a/src/core/main-utils.c
-+++ b/src/core/main-utils.c
-@@ -81,7 +81,7 @@ nm_main_utils_write_pidfile(const char *pidfile)
-     char                  pid[16];
- 
-     nm_sprintf_buf(pid, "%lld", (long long) getpid());
--    if (!nm_utils_file_set_contents(pidfile, pid, -1, 00644, NULL, NULL, 
&error)) {
-+    if (!nm_utils_file_set_contents(pidfile, pid, -1, 00644, NULL, NULL, 
NULL, &error)) {
-         fprintf(stderr, _("Writing to %s failed: %s\n"), pidfile, 
error->message);
-         return FALSE;
+-gboolean
+-nm_device_auth_retries_try_next(NMDevice *self)
++static int
++_device_get_auth_retries(NMDevice *self)
+ {
+     NMDevicePrivate     *priv;
+     NMSettingConnection *s_con;
+     int                  auth_retries;
+ 
+-    g_return_val_if_fail(NM_IS_DEVICE(self), FALSE);
++    g_return_val_if_fail(NM_IS_DEVICE(self), 0);
+ 
+     priv         = NM_DEVICE_GET_PRIVATE(self);
+     auth_retries = priv->auth_retries;
+@@ -18957,13 +18957,47 @@ nm_device_auth_retries_try_next(NMDevice
+         priv->auth_retries = auth_retries;
      }
-diff --git a/src/core/nm-core-utils.c b/src/core/nm-core-utils.c
-index 8b7ee1ddf67..33f53a06358 100644
---- a/src/core/nm-core-utils.c
-+++ b/src/core/nm-core-utils.c
-@@ -2865,6 +2865,7 @@ _host_id_read(guint8 **out_host_id, gsize 
*out_host_id_len)
-                                                0600,
-                                                NULL,
-                                                NULL,
-+                                               NULL,
-                                                &error)) {
-             nm_log_warn(
-                 LOGD_CORE,
-diff --git a/src/core/platform/tests/monitor.c 
b/src/core/platform/tests/monitor.c
-index c83192bbc92..f413facfcdc 100644
---- a/src/core/platform/tests/monitor.c
-+++ b/src/core/platform/tests/monitor.c
-@@ -186,6 +186,7 @@ ip_again:
-                                00644,
-                                NULL,
-                                NULL,
-+                               NULL,
-                                NULL);
- 
-     nm_log_dbg(LOGD_PLATFORM, "dump to file complete");
-diff --git a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c 
b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
-index 42675cf222e..21908090f73 100644
---- a/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
-+++ b/src/core/settings/plugins/ifcfg-rh/nms-ifcfg-rh-writer.c
-@@ -320,6 +320,7 @@ write_blobs(GHashTable *blobs, GError **error)
-                                         0600,
-                                         NULL,
-                                         NULL,
-+                                        NULL,
-                                         &write_error)) {
-             g_set_error(error,
-                         NM_SETTINGS_ERROR,
-diff --git a/src/core/settings/plugins/keyfile/nms-keyfile-utils.c 
b/src/core/settings/plugins/keyfile/nms-keyfile-utils.c
-index 7c0e329e2d6..26fb34418d5 100644
---- a/src/core/settings/plugins/keyfile/nms-keyfile-utils.c
-+++ b/src/core/settings/plugins/keyfile/nms-keyfile-utils.c
-@@ -280,6 +280,7 @@ nms_keyfile_nmmeta_write(const char *dirname,
-                                         length,
-                                         0600,
-                                         NULL,
-+                                        NULL,
-                                         &errsv,
-                                         NULL)) {
-             NM_SET_OUT(out_full_filename, 
g_steal_pointer(&full_filename_tmp));
-diff --git a/src/core/settings/plugins/keyfile/nms-keyfile-writer.c 
b/src/core/settings/plugins/keyfile/nms-keyfile-writer.c
-index b1dd2e446fd..c7c88260790 100644
---- a/src/core/settings/plugins/keyfile/nms-keyfile-writer.c
-+++ b/src/core/settings/plugins/keyfile/nms-keyfile-writer.c
-@@ -133,6 +133,7 @@ cert_writer(NMConnection                     *connection,
-                                              0600,
-                                              NULL,
-                                              NULL,
-+                                             NULL,
-                                              &local);
-         if (success) {
-             /* Write the path value to the keyfile.
-@@ -384,7 +385,14 @@ _internal_write_connection(NMConnection                   
*connection,
-         }
+ 
++    return auth_retries;
++}
++
++gboolean
++nm_device_auth_retries_has_next(NMDevice *self)
++{
++    int auth_retries;
++
++    g_return_val_if_fail(NM_IS_DEVICE(self), FALSE);
++
++    auth_retries = _device_get_auth_retries(self);
++
++    if (auth_retries == NM_DEVICE_AUTH_RETRIES_INFINITY)
++        return TRUE;
++
++    if (auth_retries > 0)
++        return TRUE;
++
++    return FALSE;
++}
++
++gboolean
++nm_device_auth_retries_try_next(NMDevice *self)
++{
++    NMDevicePrivate *priv;
++    int              auth_retries;
++
++    g_return_val_if_fail(NM_IS_DEVICE(self), FALSE);
++
++    priv         = NM_DEVICE_GET_PRIVATE(self);
++    auth_retries = _device_get_auth_retries(self);
++
+     if (auth_retries == NM_DEVICE_AUTH_RETRIES_INFINITY)
+         return TRUE;
+     if (auth_retries <= 0) {
+         nm_assert(auth_retries == 0);
+         return FALSE;
      }
++
+     priv->auth_retries--;
++
+     return TRUE;
+ }
  
--    nm_utils_file_set_contents(path, kf_content_buf, kf_content_len, 0600, 
NULL, NULL, &local_err);
-+    nm_utils_file_set_contents(path,
-+                               kf_content_buf,
-+                               kf_content_len,
-+                               0600,
-+                               NULL,
-+                               NULL,
-+                               NULL,
-+                               &local_err);
-     if (local_err) {
-         g_set_error(error,
-                     NM_SETTINGS_ERROR,
-diff --git a/src/libnm-glib-aux/nm-io-utils.c 
b/src/libnm-glib-aux/nm-io-utils.c
-index 9443172b46b..d26ecee4f05 100644
---- a/src/libnm-glib-aux/nm-io-utils.c
-+++ b/src/libnm-glib-aux/nm-io-utils.c
-@@ -415,8 +415,10 @@ nm_utils_file_get_contents(int                         
dirfd,
- 
- /*
-  * Copied from GLib's g_file_set_contents() et al., but allows
-- * specifying a mode for the new file and optionally the last access
-- * and last modification times.
-+ * specifying:
-+ * - the file mode (@mode)
-+ * - optionally, the last access and modification times (@times)
-+ * - optionally, a fixed name for the temporary file (@tmp_name)
-  */
- gboolean
- nm_utils_file_set_contents(const char            *filename,
-@@ -424,10 +426,11 @@ nm_utils_file_set_contents(const char            
*filename,
-                            gssize                 length,
-                            mode_t                 mode,
-                            const struct timespec *times,
-+                           const char            *tmp_name,
-                            int                   *out_errsv,
-                            GError               **error)
+Index: NetworkManager-1.56.0/src/core/devices/nm-device.h
+===================================================================
+--- NetworkManager-1.56.0.orig/src/core/devices/nm-device.h
++++ NetworkManager-1.56.0/src/core/devices/nm-device.h
+@@ -791,6 +791,7 @@ void     nm_device_update_permanent_hw_a
+ void     nm_device_update_dynamic_ip_setup(NMDevice *self, const char 
*reason);
+ guint    nm_device_get_supplicant_timeout(NMDevice *self);
+ 
++gboolean nm_device_auth_retries_has_next(NMDevice *self);
+ gboolean nm_device_auth_retries_try_next(NMDevice *self);
+ 
+ gboolean nm_device_hw_addr_get_cloned(NMDevice     *self,
+Index: NetworkManager-1.56.0/src/core/devices/wifi/nm-device-wifi.c
+===================================================================
+--- NetworkManager-1.56.0.orig/src/core/devices/wifi/nm-device-wifi.c
++++ NetworkManager-1.56.0/src/core/devices/wifi/nm-device-wifi.c
+@@ -2244,6 +2244,26 @@ wps_timeout_cb(gpointer user_data)
+     return G_SOURCE_REMOVE;
+ }
+ 
++static gboolean
++wifi_connection_is_new(NMDeviceWifi *self)
++{
++    NMDevice             *device = NM_DEVICE(self);
++    NMActRequest         *req;
++    NMSettingsConnection *connection;
++    guint64               timestamp = 0;
++
++    req = nm_device_get_act_request(device);
++    g_return_val_if_fail(NM_IS_ACT_REQUEST(req), TRUE);
++
++    connection = nm_act_request_get_settings_connection(req);
++    g_return_val_if_fail(NM_IS_SETTINGS_CONNECTION(connection), TRUE);
++
++    if (nm_settings_connection_get_timestamp(connection, &timestamp) && 
timestamp != 0)
++        return FALSE;
++
++    return TRUE;
++}
++
+ static void
+ wifi_secrets_get_secrets(NMDeviceWifi                *self,
+                          const char                  *setting_name,
+@@ -2398,10 +2418,11 @@ handle_8021x_or_psk_auth_fail(NMDeviceWi
+                               NMSupplicantInterfaceState old_state,
+                               int                        disconnect_reason)
  {
--    gs_free char *tmp_name = NULL;
-+    gs_free char *tmp_name_free = NULL;
-     struct stat   statbuf;
-     int           errsv;
-     gssize        s;
-@@ -442,8 +445,13 @@ nm_utils_file_set_contents(const char            
*filename,
-     if (length == -1)
-         length = strlen(contents);
- 
--    tmp_name = g_strdup_printf("%s.XXXXXX", filename);
--    fd       = g_mkstemp_full(tmp_name, O_RDWR | O_CLOEXEC, mode);
-+    if (tmp_name) {
-+        fd = open(tmp_name, O_CREAT | O_RDWR | O_TRUNC | O_CLOEXEC, mode);
-+    } else {
-+        tmp_name_free = g_strdup_printf("%s.XXXXXX", filename);
-+        tmp_name      = tmp_name_free;
-+        fd            = g_mkstemp_full(tmp_name_free, O_RDWR | O_CLOEXEC, 
mode);
+-    NMDevice     *device = NM_DEVICE(self);
+-    NMActRequest *req;
+-    const char   *setting_name = NULL;
+-    gboolean      handled      = FALSE;
++    NMDevice                    *device = NM_DEVICE(self);
++    NMActRequest                *req;
++    const char                  *setting_name = NULL;
++    NMSecretAgentGetSecretsFlags secret_flags = 
NM_SECRET_AGENT_GET_SECRETS_FLAG_ALLOW_INTERACTION
++                                                | 
NM_SECRET_AGENT_GET_SECRETS_FLAG_REQUEST_NEW;
+ 
+     g_return_val_if_fail(new_state == 
NM_SUPPLICANT_INTERFACE_STATE_DISCONNECTED, FALSE);
+ 
+@@ -2411,8 +2432,7 @@ handle_8021x_or_psk_auth_fail(NMDeviceWi
+     req = nm_device_get_act_request(NM_DEVICE(self));
+     g_return_val_if_fail(req != NULL, FALSE);
+ 
+-    if (need_new_8021x_secrets(self, old_state, &setting_name)
+-        || need_new_wpa_psk(self, old_state, disconnect_reason, 
&setting_name)) {
++    if (need_new_8021x_secrets(self, old_state, &setting_name)) {
+         nm_act_request_clear_secrets(req);
+ 
+         _LOGI(LOGD_DEVICE | LOGD_WIFI,
+@@ -2422,14 +2442,54 @@ handle_8021x_or_psk_auth_fail(NMDeviceWi
+         nm_device_state_changed(device,
+                                 NM_DEVICE_STATE_NEED_AUTH,
+                                 NM_DEVICE_STATE_REASON_SUPPLICANT_DISCONNECT);
+-        wifi_secrets_get_secrets(self,
+-                                 setting_name,
+-                                 
NM_SECRET_AGENT_GET_SECRETS_FLAG_ALLOW_INTERACTION
+-                                     | 
NM_SECRET_AGENT_GET_SECRETS_FLAG_REQUEST_NEW);
+-        handled = TRUE;
++        wifi_secrets_get_secrets(self, setting_name, secret_flags);
++        return TRUE;
 +    }
-     if (fd < 0) {
-         return _get_contents_error_errno(error, out_errsv, "failed to create 
file %s", tmp_name);
++
++    if (need_new_wpa_psk(self, old_state, disconnect_reason, &setting_name)) {
++        nm_act_request_clear_secrets(req);
++        cleanup_association_attempt(self, TRUE);
++
++        if (wifi_connection_is_new(self)) {
++            _LOGI(LOGD_DEVICE | LOGD_WIFI,
++                  "Activation: (wifi) new connection disconnected during 
association, asking for "
++                  "new key");
++            nm_device_state_changed(device,
++                                    NM_DEVICE_STATE_NEED_AUTH,
++                                    
NM_DEVICE_STATE_REASON_SUPPLICANT_DISCONNECT);
++            wifi_secrets_get_secrets(self, setting_name, secret_flags);
++            return TRUE;
++        }
++
++        if (!nm_device_auth_retries_try_next(device)) {
++            nm_device_state_changed(device,
++                                    NM_DEVICE_STATE_FAILED,
++                                    NM_DEVICE_STATE_REASON_NO_SECRETS);
++            return TRUE;
++        }
++
++        if (nm_device_auth_retries_has_next(device)) {
++            secret_flags &= ~NM_SECRET_AGENT_GET_SECRETS_FLAG_REQUEST_NEW;
++            _LOGI(
++                LOGD_DEVICE | LOGD_WIFI,
++                "Activation: (wifi) disconnected during association, 
reauthenticating connection");
++        } else {
++            _LOGI(LOGD_DEVICE | LOGD_WIFI,
++                  "Activation: (wifi) disconnected during association, asking 
for new key");
++        }
++
++        nm_device_state_changed(device,
++                                NM_DEVICE_STATE_NEED_AUTH,
++                                NM_DEVICE_STATE_REASON_SUPPLICANT_DISCONNECT);
++        wifi_secrets_get_secrets(self, setting_name, secret_flags);
++
++        return TRUE;
      }
-diff --git a/src/libnm-glib-aux/nm-io-utils.h 
b/src/libnm-glib-aux/nm-io-utils.h
-index 0021138f464..ff02ecb108a 100644
---- a/src/libnm-glib-aux/nm-io-utils.h
-+++ b/src/libnm-glib-aux/nm-io-utils.h
-@@ -55,6 +55,7 @@ gboolean nm_utils_file_set_contents(const char            
*filename,
-                                     gssize                 length,
-                                     mode_t                 mode,
-                                     const struct timespec *times,
-+                                    const char            *tmp_name,
-                                     int                   *out_errsv,
-                                     GError               **error);
- 
-diff --git a/src/nm-initrd-generator/nm-initrd-generator.c 
b/src/nm-initrd-generator/nm-initrd-generator.c
-index b89b4e413f5..68993c002f3 100644
---- a/src/nm-initrd-generator/nm-initrd-generator.c
-+++ b/src/nm-initrd-generator/nm-initrd-generator.c
-@@ -78,7 +78,7 @@ output_conn(gpointer key, gpointer value, gpointer user_data)
-         filename      = nm_keyfile_utils_create_filename(basename, TRUE);
-         full_filename = g_build_filename(connections_dir, filename, NULL);
- 
--        if (!nm_utils_file_set_contents(full_filename, data, len, 0600, NULL, 
NULL, &error))
-+        if (!nm_utils_file_set_contents(full_filename, data, len, 0600, NULL, 
NULL, NULL, &error))
-             goto err_out;
-     } else
-         g_print("\n*** Connection '%s' ***\n\n%s", basename, data);
--- 
-GitLab
-
-
-From 2d438ebef840cc003e423d3d0ad10e5832b5b49a Mon Sep 17 00:00:00 2001
-From: Beniamino Galvani <[email protected]>
-Date: Tue, 14 Oct 2025 10:42:53 +0200
-Subject: [PATCH 2/2] dns: specify a temporary file name when writing
- no-stub-resolv.conf
-
-Using g_file_set_contents() makes it impossible to write a proper
-SELinux policy because the function creates a file with a random
-suffix, and SELinux file transitions can't match on wildcards.
-
-Use a fixed temporary file name. In this case it's fine because
-/run/NetworkManager is only writable by root and NetworkManager is the
-only process writing into it.
----
- src/core/dns/nm-dns-manager.c | 13 +++++++++++--
- 1 file changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/src/core/dns/nm-dns-manager.c b/src/core/dns/nm-dns-manager.c
-index 57e732264cf..c746e714972 100644
---- a/src/core/dns/nm-dns-manager.c
-+++ b/src/core/dns/nm-dns-manager.c
-@@ -26,6 +26,7 @@
- 
- #include "libnm-core-intern/nm-core-internal.h"
- #include "libnm-glib-aux/nm-str-buf.h"
-+#include "libnm-glib-aux/nm-io-utils.h"
- 
- #include "NetworkManagerUtils.h"
- #include "devices/nm-device.h"
-@@ -1006,7 +1007,8 @@ _read_link_cached(const char *path, gboolean *is_cached, 
char **cached)
- #define MY_RESOLV_CONF_TMP MY_RESOLV_CONF ".tmp"
- #define RESOLV_CONF_TMP    "/etc/.resolv.conf.NetworkManager"
- 
--#define NO_STUB_RESOLV_CONF NMRUNDIR "/no-stub-resolv.conf"
-+#define NO_STUB_RESOLV_CONF     NMRUNDIR "/no-stub-resolv.conf"
-+#define NO_STUB_RESOLV_CONF_TMP NMRUNDIR "/no-stub-resolv.conf.tmp"
  
- static void
- update_resolv_conf_no_stub(NMDnsManager      *self,
-@@ -1019,7 +1021,14 @@ update_resolv_conf_no_stub(NMDnsManager      *self,
- 
-     content = create_resolv_conf(searches, nameservers, options);
+-    return handled;
++    _LOGI(LOGD_DEVICE | LOGD_WIFI,
++          "Activation: (wifi) disconnected during association, retrying 
connection");
++
++    return FALSE;
+ }
  
--    if (!g_file_set_contents(NO_STUB_RESOLV_CONF, content, -1, &local)) {
-+    if (!nm_utils_file_set_contents(NO_STUB_RESOLV_CONF,
-+                                    content,
-+                                    -1,
-+                                    0644,
-+                                    NULL,
-+                                    NO_STUB_RESOLV_CONF_TMP,
-+                                    NULL,
-+                                    &local)) {
-         _LOGD("update-resolv-no-stub: failure to write file: %s", 
local->message);
-         g_error_free(local);
+ static gboolean
+@@ -2861,6 +2921,12 @@ supplicant_iface_notify_wpa_psk_mismatch
+     if (nm_device_get_state(device) != NM_DEVICE_STATE_CONFIG)
          return;
--- 
-GitLab
-
-diff --git a/src/libnm-core-impl/nm-utils.c b/src/libnm-core-impl/nm-utils.c
-index 9a78e9471c..d935e63978 100644
---- a/src/libnm-core-impl/nm-utils.c
-+++ b/src/libnm-core-impl/nm-utils.c
-@@ -6444,6 +6444,7 @@ nm_utils_copy_cert_as_user(const char *filename, const 
char *user, GError **erro
-                                     0600,
-                                     NULL,
-                                     NULL,
-+                                    NULL,
-                                     error)) {
-         return NULL;
-     }
+ 
++    if (!wifi_connection_is_new(self) && 
nm_device_auth_retries_has_next(device)) {
++        _LOGI(LOGD_DEVICE | LOGD_WIFI,
++              "Activation: (wifi) psk mismatch reported by supplicant, 
retrying connection");
++        return;
++    }
++
+     _LOGI(LOGD_DEVICE | LOGD_WIFI,
+           "Activation: (wifi) psk mismatch reported by supplicant, asking for 
new key");
+ 
+Index: NetworkManager-1.56.0/src/libnm-core-impl/nm-setting-connection.c
+===================================================================
+--- NetworkManager-1.56.0.orig/src/libnm-core-impl/nm-setting-connection.c
++++ NetworkManager-1.56.0/src/libnm-core-impl/nm-setting-connection.c
+@@ -3328,9 +3328,8 @@ nm_setting_connection_class_init(NMSetti
+      *
+      * The number of retries for the authentication. Zero means to try 
indefinitely; -1 means
+      * to use a global default. If the global default is not set, the 
authentication
+-     * retries for 3 times before failing the connection.
+-     *
+-     * Currently, this only applies to 802-1x authentication.
++     * retries for 3 times before failing the connection. Connections using a 
pre-shared key
++     * to authenticate will only prompt for a new key during the last 
authentication attempt.
+      *
+      * Since: 1.10
+      **/
+Index: NetworkManager-1.56.0/src/libnmc-setting/settings-docs.h.in
+===================================================================
+--- NetworkManager-1.56.0.orig/src/libnmc-setting/settings-docs.h.in
++++ NetworkManager-1.56.0/src/libnmc-setting/settings-docs.h.in
+@@ -1,6 +1,6 @@
+ /* Generated file. Do not edit. */
+ 
+-#define DESCRIBE_DOC_NM_SETTING_CONNECTION_AUTH_RETRIES N_("The number of 
retries for the authentication. Zero means to try indefinitely; -1 means to use 
a global default. If the global default is not set, the authentication retries 
for 3 times before failing the connection. Currently, this only applies to 
802-1x authentication.")
++#define DESCRIBE_DOC_NM_SETTING_CONNECTION_AUTH_RETRIES N_("The number of 
retries for the authentication. Zero means to try indefinitely; -1 means to use 
a global default. If the global default is not set, the authentication retries 
for 3 times before failing the connection. Connections using a pre-shared key 
to authenticate will only prompt for a new key during the last authentication 
attempt.")
+ #define DESCRIBE_DOC_NM_SETTING_CONNECTION_AUTOCONNECT N_("Whether or not the 
connection should be automatically connected by NetworkManager when the 
resources for the connection are available. TRUE to automatically activate the 
connection, FALSE to require manual intervention to activate the connection. 
Autoconnect happens when the circumstances are suitable. That means for example 
that the device is currently managed and not active. Autoconnect thus never 
replaces or competes with an already active profile. Note that autoconnect is 
not implemented for VPN profiles. See \"secondaries\" as an alternative to 
automatically connect VPN profiles. If multiple profiles are ready to 
autoconnect on the same device, the one with the better 
\"connection.autoconnect-priority\" is chosen. If the priorities are equal, 
then the most recently connected profile is activated. If the profiles were not 
connected earlier or their \"connection.timestamp\" is identical, the choice is 
undefined. Dependin
 g on \"connection.multi-connect\", a profile can (auto)connect only once at a 
time or multiple times.")
+ #define DESCRIBE_DOC_NM_SETTING_CONNECTION_AUTOCONNECT_PORTS N_("Whether or 
not ports of this connection should be automatically brought up when 
NetworkManager activates this connection. This only has a real effect for 
controller connections. The properties \"autoconnect\", 
\"autoconnect-priority\" and \"autoconnect-retries\" are unrelated to this 
setting. The permitted values are: 0: leave port connections untouched, 1: 
activate all the port connections with this connection, -1: default. If -1 
(default) is set, global connection.autoconnect-ports is read to determine the 
real value. If it is default as well, this fallbacks to 0.")
+ #define DESCRIBE_DOC_NM_SETTING_CONNECTION_AUTOCONNECT_PRIORITY N_("The 
autoconnect priority in range -999 to 999. If the connection is set to 
autoconnect, connections with higher priority will be preferred. The higher 
number means higher priority. Defaults to 0. Note that this property only 
matters if there are more than one candidate profile to select for autoconnect. 
In case of equal priority, the profile used most recently is chosen.")
+Index: NetworkManager-1.56.0/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in
+===================================================================
+--- NetworkManager-1.56.0.orig/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in
++++ NetworkManager-1.56.0/src/nmcli/gen-metadata-nm-settings-nmcli.xml.in
+@@ -653,7 +653,7 @@
+                   format="choice (NMConnectionMultiConnect)"
+                   values="default (0), single (1), manual-multiple (2), 
multiple (3)" />
+         <property name="auth-retries"
+-                  nmcli-description="The number of retries for the 
authentication. Zero means to try indefinitely; -1 means to use a global 
default. If the global default is not set, the authentication retries for 3 
times before failing the connection. Currently, this only applies to 802-1x 
authentication."
++                  nmcli-description="The number of retries for the 
authentication. Zero means to try indefinitely; -1 means to use a global 
default. If the global default is not set, the authentication retries for 3 
times before failing the connection. Connections using a pre-shared key to 
authenticate will only prompt for a new key during the last authentication 
attempt."
+                   format="integer"
+                   values="-1 - 2147483647" />
+         <property name="timestamp"
+Index: NetworkManager-1.56.0/NEWS
+===================================================================
+--- NetworkManager-1.56.0.orig/NEWS
++++ NetworkManager-1.56.0/NEWS
+@@ -40,6 +40,9 @@ Overview of changes since NetworkManager
+   the 802.1X certificates and keys set in the connection.
+ * Introduce a libnm function that can be used by VPN plugins to check
+   user permissions on certificate and keys.
++* WIFI connections using wpa-psk respect the setting connection.auth-retry
++  and only prompt for new secrets during the last authentication attempt 
before
++  failing.
+ 
+ =============================================
+ NetworkManager-1.54

++++++ 2312.patch ++++++
--- /var/tmp/diff_new_pack.YOwpIL/_old  2026-06-23 17:36:37.601411878 +0200
+++ /var/tmp/diff_new_pack.YOwpIL/_new  2026-06-23 17:36:37.625412714 +0200
@@ -22,10 +22,10 @@
  9 files changed, 73 insertions(+), 17 deletions(-)
  create mode 100755 src/nm-initrd-generator/nm-initrd-generator.sh
 
-diff --git a/contrib/fedora/rpm/NetworkManager.spec 
b/contrib/fedora/rpm/NetworkManager.spec
-index 0732fb495f2..820cfda607a 100644
---- a/contrib/fedora/rpm/NetworkManager.spec
-+++ b/contrib/fedora/rpm/NetworkManager.spec
+Index: NetworkManager-1.56/contrib/fedora/rpm/NetworkManager.spec
+===================================================================
+--- NetworkManager-1.56.orig/contrib/fedora/rpm/NetworkManager.spec
++++ NetworkManager-1.56/contrib/fedora/rpm/NetworkManager.spec
 @@ -675,6 +675,7 @@ Preferably use nmcli instead.
        -Dsession_tracking=systemd \
        -Dsuspend_resume=systemd \
@@ -34,7 +34,7 @@
        -Dsystem_ca_path=/etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem \
        -Ddbus_conf_dir=%{dbus_sys_dir} \
        -Dtests=yes \
-@@ -747,6 +748,7 @@ rm -f %{buildroot}%{_libdir}/pppd/%{ppp_version}/*.la
+@@ -747,6 +748,7 @@ rm -f %{buildroot}%{_libdir}/pppd/%{ppp_
  rm -f %{buildroot}%{nmplugindir}/*.la
  
  # Don't use the *-initrd.service files yet, wait dracut to support them
@@ -42,10 +42,10 @@
  rm -f %{buildroot}%{_unitdir}/NetworkManager-config-initrd.service
  rm -f %{buildroot}%{_unitdir}/NetworkManager-initrd.service
  rm -f %{buildroot}%{_unitdir}/NetworkManager-wait-online-initrd.service
-diff --git a/contrib/fedora/rpm/configure-for-system.sh 
b/contrib/fedora/rpm/configure-for-system.sh
-index 6bdf66825ab..bcf619c645a 100755
---- a/contrib/fedora/rpm/configure-for-system.sh
-+++ b/contrib/fedora/rpm/configure-for-system.sh
+Index: NetworkManager-1.56/contrib/fedora/rpm/configure-for-system.sh
+===================================================================
+--- NetworkManager-1.56.orig/contrib/fedora/rpm/configure-for-system.sh
++++ NetworkManager-1.56/contrib/fedora/rpm/configure-for-system.sh
 @@ -398,6 +398,7 @@ meson setup\
      -Dsession_tracking=systemd \
      -Dsuspend_resume=systemd \
@@ -54,10 +54,10 @@
      -Dsystem_ca_path=/etc/pki/tls/cert.pem \
      -Ddbus_conf_dir="$P_DBUS_SYS_DIR" \
      -Dtests=yes \
-diff --git a/data/NetworkManager-config-initrd.service.in 
b/data/NetworkManager-config-initrd.service.in
-index 4baf0f648ec..4f038036589 100644
---- a/data/NetworkManager-config-initrd.service.in
-+++ b/data/NetworkManager-config-initrd.service.in
+Index: NetworkManager-1.56/data/NetworkManager-config-initrd.service.in
+===================================================================
+--- NetworkManager-1.56.orig/data/NetworkManager-config-initrd.service.in
++++ NetworkManager-1.56/data/NetworkManager-config-initrd.service.in
 @@ -1,10 +1,10 @@
  [Unit]
  Description=NetworkManager Configuration (initrd)
@@ -77,10 +77,10 @@
 -
 -[Install]
 -WantedBy=initrd.target
-diff --git a/data/NetworkManager-initrd.service.in 
b/data/NetworkManager-initrd.service.in
-index aef73a571da..f936ffd2380 100644
---- a/data/NetworkManager-initrd.service.in
-+++ b/data/NetworkManager-initrd.service.in
+Index: NetworkManager-1.56/data/NetworkManager-initrd.service.in
+===================================================================
+--- NetworkManager-1.56.orig/data/NetworkManager-initrd.service.in
++++ NetworkManager-1.56/data/NetworkManager-initrd.service.in
 @@ -1,11 +1,11 @@
  [Unit]
  Description=NetworkManager (initrd)
@@ -106,10 +106,10 @@
 -# WantedBy=network-online.target, so enabling it only has an effect if
 -# network-online.target itself is enabled or pulled in by some other unit.
 -Also=NetworkManager-config-initrd.service 
NetworkManager-wait-online-initrd.service
-diff --git a/data/NetworkManager-wait-online-initrd.service.in 
b/data/NetworkManager-wait-online-initrd.service.in
-index da4a2522340..b89aa816578 100644
---- a/data/NetworkManager-wait-online-initrd.service.in
-+++ b/data/NetworkManager-wait-online-initrd.service.in
+Index: NetworkManager-1.56/data/NetworkManager-wait-online-initrd.service.in
+===================================================================
+--- NetworkManager-1.56.orig/data/NetworkManager-wait-online-initrd.service.in
++++ NetworkManager-1.56/data/NetworkManager-wait-online-initrd.service.in
 @@ -1,10 +1,10 @@
  [Unit]
  Description=NetworkManager Wait Online (initrd)
@@ -129,11 +129,11 @@
 -
 -[Install]
 -WantedBy=initrd.target network-online.target
-diff --git a/meson.build b/meson.build
-index 2f9ab5c299a..56bbe281632 100644
---- a/meson.build
-+++ b/meson.build
-@@ -383,6 +383,14 @@ if install_systemdunitdir and 
systemd_systemdsystemunitdir == ''
+Index: NetworkManager-1.56/meson.build
+===================================================================
+--- NetworkManager-1.56.orig/meson.build
++++ NetworkManager-1.56/meson.build
+@@ -383,6 +383,14 @@ if install_systemdunitdir and systemd_sy
    systemd_systemdsystemunitdir = systemd_dep.get_variable(pkgconfig: 
'systemdsystemunitdir', pkgconfig_define: ['rootprefix', nm_prefix])
  endif
  
@@ -156,10 +156,10 @@
  output += '  udev_dir: ' + udev_udevdir + '\n'
  output += '  nmbinary: ' + nm_pkgsbindir + '\n'
  output += '  nmconfdir: ' + nm_pkgconfdir + '\n'
-diff --git a/meson_options.txt b/meson_options.txt
-index d28cc76fc89..8ec68a46bd3 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
+Index: NetworkManager-1.56/meson_options.txt
+===================================================================
+--- NetworkManager-1.56.orig/meson_options.txt
++++ NetworkManager-1.56/meson_options.txt
 @@ -1,5 +1,6 @@
  # system paths
  option('systemdsystemunitdir', type: 'string', value: '', description: 
'Directory for systemd service files')
@@ -167,10 +167,10 @@
  option('system_ca_path', type: 'string', value: '/etc/ssl/certs', 
description: 'path to system CA certificates')
  option('udev_dir', type: 'string', value: '', description: 'Absolute path of 
the udev base directory. Set to \'no\' not to install the udev rule')
  option('dbus_conf_dir', type: 'string', value: '', description: 'where D-Bus 
system.d directory is')
-diff --git a/src/nm-initrd-generator/meson.build 
b/src/nm-initrd-generator/meson.build
-index 6b02e0668df..2315ebe4f29 100644
---- a/src/nm-initrd-generator/meson.build
-+++ b/src/nm-initrd-generator/meson.build
+Index: NetworkManager-1.56/src/nm-initrd-generator/meson.build
+===================================================================
+--- NetworkManager-1.56.orig/src/nm-initrd-generator/meson.build
++++ NetworkManager-1.56/src/nm-initrd-generator/meson.build
 @@ -46,3 +46,10 @@ executable(
    install: true,
    install_dir: nm_libexecdir,
@@ -182,11 +182,10 @@
 +    install_dir: systemd_systemdsystemgeneratordir,
 +  )
 +endif
-diff --git a/src/nm-initrd-generator/nm-initrd-generator.sh 
b/src/nm-initrd-generator/nm-initrd-generator.sh
-new file mode 100755
-index 00000000000..20ff78cca5f
+Index: NetworkManager-1.56/src/nm-initrd-generator/nm-initrd-generator.sh
+===================================================================
 --- /dev/null
-+++ b/src/nm-initrd-generator/nm-initrd-generator.sh
++++ NetworkManager-1.56/src/nm-initrd-generator/nm-initrd-generator.sh
 @@ -0,0 +1,50 @@
 +#!/bin/bash
 +# SPDX-License-Identifier: LGPL-2.1-or-later
@@ -238,7 +237,4 @@
 +done
 +
 +exit 0
--- 
-GitLab
-
 

++++++ NetworkManager-1.10.6-netconfig.patch ++++++
--- /var/tmp/diff_new_pack.YOwpIL/_old  2026-06-23 17:36:37.657413829 +0200
+++ /var/tmp/diff_new_pack.YOwpIL/_new  2026-06-23 17:36:37.669414247 +0200
@@ -1,8 +1,8 @@
-Index: NetworkManager-1.54.0/src/core/dns/nm-dns-manager.c
+Index: NetworkManager-1.56/src/core/dns/nm-dns-manager.c
 ===================================================================
---- NetworkManager-1.54.0.orig/src/core/dns/nm-dns-manager.c
-+++ NetworkManager-1.54.0/src/core/dns/nm-dns-manager.c
-@@ -734,6 +734,14 @@ dispatch_netconfig(NMDnsManager      *se
+--- NetworkManager-1.56.orig/src/core/dns/nm-dns-manager.c
++++ NetworkManager-1.56/src/core/dns/nm-dns-manager.c
+@@ -741,6 +741,14 @@ dispatch_netconfig(NMDnsManager      *se
      gssize                        l;
      nm_auto_free_gstring GString *str = NULL;
  

++++++ NetworkManager.obsinfo ++++++
--- /var/tmp/diff_new_pack.YOwpIL/_old  2026-06-23 17:36:37.825419683 +0200
+++ /var/tmp/diff_new_pack.YOwpIL/_new  2026-06-23 17:36:37.829419823 +0200
@@ -1,5 +1,5 @@
 name: NetworkManager
-version: 1.54.3
-mtime: 1765553045
-commit: 8caccc6bed0b56528ef3d880af1c217bb8d24419
+version: 1.56.1
+mtime: 1778754131
+commit: b829f838fc5d8c93437faa5db44a5396b67893de
 

++++++ _scmsync.obsinfo ++++++
mtime: 1781622445
commit: 4336faba1035e34574b0a81ddcfbb6fbf3788a3562c3d0980674194b1a83d135
url: https://src.opensuse.org/GNOME/NetworkManager
revision: 4336faba1035e34574b0a81ddcfbb6fbf3788a3562c3d0980674194b1a83d135
projectscmsync: https://src.opensuse.org/GNOME/_ObsPrj

++++++ _service ++++++
--- /var/tmp/diff_new_pack.YOwpIL/_old  2026-06-23 17:36:38.029426792 +0200
+++ /var/tmp/diff_new_pack.YOwpIL/_new  2026-06-23 17:36:38.057427767 +0200
@@ -3,18 +3,17 @@
   <service name="obs_scm" mode="manual">
     <param name="scm">git</param>
     <param 
name="url">https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git</param>
-    <param name="revision">1.54.3</param>
+    <param name="revision">1.56.1</param>
     <param name="versionformat">@PARENT_TAG@+@TAG_OFFSET@</param>
-    <param name="versionrewrite-pattern">(.*)\+0</param>
+    <param name="versionrewrite-pattern">([^+-]*)(\+0)?(-rc[12])?</param>
     <param name="versionrewrite-replacement">\1</param>
-<!--    <param name="changesgenerate">enable</param> -->
+    <!--    <param name="changesgenerate">enable</param> -->
   </service>
-  <service name="set_version" mode="manual" />
-  <service name="tar" mode="buildtime"/>
-  <service name="recompress" mode="buildtime">
+  <service name="set_version" mode="manual"/>
+  <service name="tar" mode="manual"/>
+  <service name="recompress" mode="manual">
     <param name="file">*.tar</param>
-    <param name="compression">zst</param>
+    <param name="compression">xz</param>
   </service>
 </services>
 
-

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-06-16 17:07:25.000000000 +0200
@@ -0,0 +1,5 @@
+*.obscpio
+*.osc
+_build.*
+.pbuild
+osc-collab.*

++++++ nm-add-CAP_SYS_ADMIN-permission.patch ++++++
--- /var/tmp/diff_new_pack.YOwpIL/_old  2026-06-23 17:36:39.121464844 +0200
+++ /var/tmp/diff_new_pack.YOwpIL/_new  2026-06-23 17:36:39.149465819 +0200
@@ -6,8 +6,8 @@
  # With a huge number of interfaces, starting can take a long time.
  TimeoutStartSec=600
  
--CapabilityBoundingSet=CAP_NET_ADMIN CAP_DAC_OVERRIDE CAP_NET_RAW 
CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID CAP_SYS_MODULE CAP_AUDIT_WRITE 
CAP_KILL CAP_SYS_CHROOT
-+CapabilityBoundingSet=CAP_NET_ADMIN CAP_DAC_OVERRIDE CAP_NET_RAW 
CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID CAP_SYS_MODULE CAP_AUDIT_WRITE 
CAP_KILL CAP_SYS_CHROOT CAP_SYS_ADMIN
+-CapabilityBoundingSet=CAP_NET_ADMIN CAP_DAC_OVERRIDE CAP_NET_RAW CAP_BPF 
CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID CAP_SYS_MODULE CAP_AUDIT_WRITE 
CAP_KILL CAP_SYS_CHROOT
++CapabilityBoundingSet=CAP_NET_ADMIN CAP_DAC_OVERRIDE CAP_NET_RAW CAP_BPF 
CAP_NET_BIND_SERVICE CAP_SETGID CAP_SETUID CAP_SYS_MODULE CAP_AUDIT_WRITE 
CAP_KILL CAP_SYS_CHROOT CAP_SYS_ADMIN
  
  ProtectSystem=true
  ProtectHome=read-only

++++++ nm-dont-overwrite-resolv-conf.patch ++++++
--- /var/tmp/diff_new_pack.YOwpIL/_old  2026-06-23 17:36:39.273470141 +0200
+++ /var/tmp/diff_new_pack.YOwpIL/_new  2026-06-23 17:36:39.313471534 +0200
@@ -1,8 +1,8 @@
-Index: NetworkManager-1.54.0/src/core/dns/nm-dns-manager.c
+Index: NetworkManager-1.56/src/core/dns/nm-dns-manager.c
 ===================================================================
---- NetworkManager-1.54.0.orig/src/core/dns/nm-dns-manager.c
-+++ NetworkManager-1.54.0/src/core/dns/nm-dns-manager.c
-@@ -761,7 +761,7 @@ again:
+--- NetworkManager-1.56.orig/src/core/dns/nm-dns-manager.c
++++ NetworkManager-1.56/src/core/dns/nm-dns-manager.c
+@@ -768,7 +768,7 @@ again:
      /* FIXME: don't write to netconfig synchronously. */
  
      /* Wait until the process exits */

Reply via email to