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, ×tamp) && 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 */
