Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package NetworkManager for openSUSE:Factory 
checked in at 2024-07-30 11:53:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/NetworkManager (Old)
 and      /work/SRC/openSUSE:Factory/.NetworkManager.new.1882 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "NetworkManager"

Tue Jul 30 11:53:41 2024 rev:271 rq:1190184 version:1.48.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/NetworkManager/NetworkManager.changes    
2024-07-10 16:48:14.568814167 +0200
+++ /work/SRC/openSUSE:Factory/.NetworkManager.new.1882/NetworkManager.changes  
2024-07-30 11:53:56.560260195 +0200
@@ -1,0 +2,7 @@
+Mon Jul 29 06:41:28 UTC 2024 - Jonathan Kang <songchuan.k...@suse.com>
+
+- Add NetworkManager-dont-renew-bridge-dhcp-if-no-mac-on-wakeup.patch:
+  manager: don't renew dhcp lease when software devices' MAC is empty
+  (bsc#1225498, glfd#NetworkManager/NetworkManager#1587).
+
+-------------------------------------------------------------------

New:
----
  NetworkManager-dont-renew-bridge-dhcp-if-no-mac-on-wakeup.patch

BETA DEBUG BEGIN:
  New:
- Add NetworkManager-dont-renew-bridge-dhcp-if-no-mac-on-wakeup.patch:
  manager: don't renew dhcp lease when software devices' MAC is empty
BETA DEBUG END:

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

Other differences:
------------------
++++++ NetworkManager.spec ++++++
--- /var/tmp/diff_new_pack.9BayE2/_old  2024-07-30 11:53:57.408294410 +0200
+++ /var/tmp/diff_new_pack.9BayE2/_new  2024-07-30 11:53:57.412294571 +0200
@@ -92,6 +92,8 @@
 Patch7:         nm-add-CAP_SYS_ADMIN-permission.patch
 # PATCH-FIX-SLE python3.6-in-sle.patch yfji...@suse.com -- SLE still takes 
python 3.6 as primary runtime system, the patch makes meson find python 3.6
 Patch8:         python3.6-in-sle.patch
+# PATCH-FIX-SLE 
NetworkManager-dont-renew-bridge-dhcp-if-no-mac-on-wakeup.patch bsc#1225498, 
glfd#NetworkManager/NetworkManager#1587 -- manager: don't renew dhcp lease when 
software devices' MAC is empty
+Patch9:         NetworkManager-dont-renew-bridge-dhcp-if-no-mac-on-wakeup.patch
 
 BuildRequires:  c++_compiler
 BuildRequires:  dnsmasq
@@ -301,6 +303,7 @@
 %patch -P 7 -p1
 %if 0%{?sle_version} && 0%{?sle_version} < 160000
 %patch -P 8 -p1
+%patch -P 9 -p1
 %endif
 
 # Fix server.conf's location, to end up in %%{_defaultdocdir}/%%{name},

++++++ NetworkManager-dont-renew-bridge-dhcp-if-no-mac-on-wakeup.patch ++++++
>From a32094e9f8845700c6037634614863d1cee1ff55 Mon Sep 17 00:00:00 2001
From: Jonathan Kang <jonathank...@gnome.org>
Date: Wed, 17 Jul 2024 21:06:45 +0800
Subject: [PATCH] manager: don't renew dhcp lease when software devices' MAC is
 empty

If a bridge device doesn't have a permanent MAC address, its MAC address
will change based on the attached ports. When suspending the system, all
slaves can be released, thus MAC address of the bridge interface changes
to 00:00:00:00:00:00. In such scenarios, if you resume the system,
NetworkManager tries to renew dhcp lease on the bridge interface with an
empty MAC address. Because its slaved ports haven't been attached yet.

Fix that in this commit.

https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/issues/1587
---
 src/core/nm-manager.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/core/nm-manager.c b/src/core/nm-manager.c
index e949ea1189..00aa58c23a 100644
--- a/src/core/nm-manager.c
+++ b/src/core/nm-manager.c
@@ -10,6 +10,7 @@
 
 #include <fcntl.h>
 #include <limits.h>
+#include <linux/if_ether.h>
 #include <stdlib.h>
 #include <sys/sendfile.h>
 #include <sys/stat.h>
@@ -7359,7 +7360,8 @@ do_sleep_wake(NMManager *self, gboolean sleeping_changed)
             guint               i;
 
             if (nm_device_is_software(device)
-                && !nm_device_get_unmanaged_flags(device, 
NM_UNMANAGED_SLEEPING)) {
+                && !nm_device_get_unmanaged_flags(device, 
NM_UNMANAGED_SLEEPING)
+                && !nm_utils_hwaddr_matches(nm_device_get_hw_address(device), 
-1, &nm_ether_addr_zero, ETH_ALEN)) {
                 /* DHCP leases of software devices could have gone stale
                  * so we need to renew them. */
                 nm_device_update_dynamic_ip_setup(device, "wake up");
-- 
2.45.2

Reply via email to