about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2021-08-16 09:56:24 +0200
committerMichael Biebl <biebl@debian.org>2021-08-16 09:56:41 +0200
commit69a75089edba3c175880267ec50c42936bb0d449 (patch)
treeb357bda1083dabfba2dcc35c6cfb7b01cf09c938
parentf579a706cf09587a27bf599c07c4bfbc223ceea2 (diff)
Rebase patches
-rw-r--r--debian/patches/Force-online-state-with-unmanaged-devices.patch14
-rw-r--r--debian/patches/core-fix-crash-in-nm_wildcard_match_check.patch74
-rw-r--r--debian/patches/series1
3 files changed, 7 insertions, 82 deletions
diff --git a/debian/patches/Force-online-state-with-unmanaged-devices.patch b/debian/patches/Force-online-state-with-unmanaged-devices.patch
index a639e11a..af3a7398 100644
--- a/debian/patches/Force-online-state-with-unmanaged-devices.patch
+++ b/debian/patches/Force-online-state-with-unmanaged-devices.patch
@@ -12,7 +12,7 @@ Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=512286
  1 file changed, 115 insertions(+)
 
 diff --git a/src/core/nm-manager.c b/src/core/nm-manager.c
-index 5a6e05a..4c56b77 100644
+index f44306e..9439c16 100644
 --- a/src/core/nm-manager.c
 +++ b/src/core/nm-manager.c
 @@ -52,6 +52,8 @@
@@ -35,7 +35,7 @@ index 5a6e05a..4c56b77 100644
      guint timestamp_update_id;
  
      guint devices_inited_id;
-@@ -1463,6 +1469,27 @@ find_best_device_state(NMManager *manager)
+@@ -1471,6 +1477,27 @@ find_best_device_state(NMManager *manager)
      return best_state;
  }
  
@@ -63,7 +63,7 @@ index 5a6e05a..4c56b77 100644
  static void
  nm_manager_update_metered(NMManager *self)
  {
-@@ -1509,6 +1536,9 @@ nm_manager_update_state(NMManager *self)
+@@ -1517,6 +1544,9 @@ nm_manager_update_state(NMManager *self)
      else
          new_state = find_best_device_state(self);
  
@@ -73,7 +73,7 @@ index 5a6e05a..4c56b77 100644
      if (new_state >= NM_STATE_CONNECTED_LOCAL && priv->connectivity_state == NM_CONNECTIVITY_FULL) {
          new_state = NM_STATE_CONNECTED_GLOBAL;
      }
-@@ -6603,6 +6633,62 @@ impl_manager_set_logging(NMDBusObject *                     obj,
+@@ -6661,6 +6691,62 @@ impl_manager_set_logging(NMDBusObject *                     obj,
          g_dbus_method_invocation_return_value(invocation, NULL);
  }
  
@@ -136,7 +136,7 @@ index 5a6e05a..4c56b77 100644
  static void
  impl_manager_get_logging(NMDBusObject *                     obj,
                           const NMDBusInterfaceInfoExtended *interface_info,
-@@ -6932,6 +7018,9 @@ nm_manager_start(NMManager *self, GError **error)
+@@ -6990,6 +7076,9 @@ nm_manager_start(NMManager *self, GError **error)
      nm_clear_g_source(&priv->devices_inited_id);
      priv->devices_inited_id = g_idle_add_full(G_PRIORITY_LOW + 10, devices_inited_cb, self, NULL);
  
@@ -146,7 +146,7 @@ index 5a6e05a..4c56b77 100644
      return TRUE;
  }
  
-@@ -7826,6 +7915,22 @@ nm_manager_init(NMManager *self)
+@@ -7884,6 +7973,22 @@ nm_manager_init(NMManager *self)
          _LOGW(LOGD_CORE, "failed to monitor kernel firmware directory '%s'.", KERNEL_FIRMWARE_DIR);
      }
  
@@ -169,7 +169,7 @@ index 5a6e05a..4c56b77 100644
      /* Update timestamps in active connections */
      priv->timestamp_update_id =
          g_timeout_add_seconds(300,
-@@ -8111,6 +8216,16 @@ dispose(GObject *object)
+@@ -8169,6 +8274,16 @@ dispose(GObject *object)
          g_clear_object(&priv->fw_monitor);
      }
  
diff --git a/debian/patches/core-fix-crash-in-nm_wildcard_match_check.patch b/debian/patches/core-fix-crash-in-nm_wildcard_match_check.patch
deleted file mode 100644
index 02d4484d..00000000
--- a/debian/patches/core-fix-crash-in-nm_wildcard_match_check.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From: Thomas Haller <thaller@redhat.com>
-Date: Wed, 24 Mar 2021 21:05:19 +0100
-Subject: core: fix crash in nm_wildcard_match_check()
-
-It's not entirely clear how to treat %NULL.
-Clearly "match.interface-name=eth0" should not
-match with an interface %NULL. But what about
-"match.interface-name=!eth0"? It's now implemented
-that negative matches still succeed against %NULL.
-What about "match.interface-name=*"? That probably
-should also match with %NULL. So we treat %NULL really
-like "".
-
-Against commit 11cd443448bc ('iwd: Don't call IWD methods when device
-unmanaged'), we got this backtrace:
-
-    #0  0x00007f1c164069f1 in __strnlen_avx2 () at ../sysdeps/x86_64/multiarch/strlen-avx2.S:62
-    #1  0x00007f1c1637ac9e in __fnmatch (pattern=<optimized out>, string=<optimized out>, string@entry=0x0, flags=flags@entry=0) at fnmatch.c:379
-            p = 0x0
-            res = <optimized out>
-            orig_pattern = <optimized out>
-            n = <optimized out>
-            wpattern = 0x7fff8d860730 L"pci-0000:03:00.0"
-            ps = {__count = 0, __value = {__wch = 0, __wchb = "\000\000\000"}}
-            wpattern_malloc = 0x0
-            wstring_malloc = 0x0
-            wstring = <optimized out>
-            alloca_used = 80
-            __PRETTY_FUNCTION__ = "__fnmatch"
-    #2  0x0000564484a978bf in nm_wildcard_match_check (str=0x0, patterns=<optimized out>, num_patterns=<optimized out>) at src/core/nm-core-utils.c:1959
-            is_inverted = 0
-            is_mandatory = 0
-            match = <optimized out>
-            p = 0x564486c43fa0 "pci-0000:03:00.0"
-            has_optional = 0
-            has_any_optional = 0
-            i = <optimized out>
-    #3  0x0000564484bf4797 in check_connection_compatible (self=<optimized out>, connection=<optimized out>, error=0x0) at src/core/devices/nm-device.c:7499
-            patterns = <optimized out>
-            device_driver = 0x564486c76bd0 "veth"
-            num_patterns = 1
-            priv = 0x564486cbe0b0
-            __func__ = "check_connection_compatible"
-            device_iface = <optimized out>
-            local = 0x564486c99a60
-            conn_iface = 0x0
-            klass = <optimized out>
-            s_match = 0x564486c63df0 [NMSettingMatch]
-    #4  0x0000564484c38491 in check_connection_compatible (device=0x564486cbe590 [NMDeviceVeth], connection=0x564486c6b160, error=0x0) at src/core/devices/nm-device-ethernet.c:348
-            self = 0x564486cbe590 [NMDeviceVeth]
-            s_wired = <optimized out>
-
-Fixes: 3ced486f4162 ('libnm/match: extend syntax for match patterns with '|', '&', '!' and '\\'')
-
-https://bugzilla.redhat.com/show_bug.cgi?id=1942741
-(cherry picked from commit 420784e342da4883f6debdfe10cde68507b10d27)
----
- src/core/nm-core-utils.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/core/nm-core-utils.c b/src/core/nm-core-utils.c
-index 9075c30..eed8cd7 100644
---- a/src/core/nm-core-utils.c
-+++ b/src/core/nm-core-utils.c
-@@ -1956,7 +1956,8 @@ nm_wildcard_match_check(const char *str, const char *const *patterns, guint num_
- 
-         _pattern_parse(patterns[i], &p, &is_inverted, &is_mandatory);
- 
--        match = (fnmatch(p, str, 0) == 0);
-+        match = (fnmatch(p, str ?: "", 0) == 0);
-+
-         if (is_inverted)
-             match = !match;
- 
diff --git a/debian/patches/series b/debian/patches/series
index b31950d2..a2d7e06d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1 @@
 Force-online-state-with-unmanaged-devices.patch
-core-fix-crash-in-nm_wildcard_match_check.patch