Hello community,

here is the log from the commit of package NetworkManager for openSUSE:Factory 
checked in at 2017-12-29 18:47:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/NetworkManager (Old)
 and      /work/SRC/openSUSE:Factory/.NetworkManager.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "NetworkManager"

Fri Dec 29 18:47:06 2017 rev:175 rq:558868 version:1.8.4

Changes:
--------
--- /work/SRC/openSUSE:Factory/NetworkManager/NetworkManager.changes    
2017-12-16 20:45:58.786956053 +0100
+++ /work/SRC/openSUSE:Factory/.NetworkManager.new/NetworkManager.changes       
2017-12-29 18:47:13.632352151 +0100
@@ -1,0 +2,11 @@
+Tue Dec 19 22:20:37 UTC 2017 - [email protected]
+
+- Add nm-disconnect-proxy-signals.patch: disconnect proxy signals
+  when closing; fixes possible crash when opening the user panel
+  (bgo#787897).
+- Add nm-vpn-remote-connection-disconnect-signals.patch:
+  disconnect signal handlers when remote/vpn connections are
+  disposed; fixes a gnome-control-center crash (bsc#1073472
+  bgo#787893).
+
+-------------------------------------------------------------------

New:
----
  nm-disconnect-proxy-signals.patch
  nm-vpn-remote-connection-disconnect-signals.patch

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

Other differences:
------------------
++++++ NetworkManager.spec ++++++
--- /var/tmp/diff_new_pack.u8nlXj/_old  2017-12-29 18:47:14.832007606 +0100
+++ /var/tmp/diff_new_pack.u8nlXj/_new  2017-12-29 18:47:14.836006457 +0100
@@ -41,9 +41,13 @@
 Patch2:         networkmanager-checks-po.patch
 # PATCH-FIX-OPENSUSE networkmanager-obs-net.patch [email protected] -- disable 
tests that are by design broken on OBS workers
 Patch3:         networkmanager-obs-net.patch
-BuildRequires:  dnsmasq
 # PATCH-FIX-OPENSUSE nm-dont-overwrite-resolv-conf.patch bsc#1021665, 
bsc#960153 [email protected] -- NetworkManager spawns netconfig to update DNS 
settings, and terminates netconfig after 1s. But 1s isn't quite long enough for 
netconfig to complete the task. Adjust it to 0 seconds(don't send SIGKILL) to 
avoid NM overwriting /etc/resolv.conf.
 Patch4:         nm-dont-overwrite-resolv-conf.patch
+# PATCH-FIX-UPSTREAM nm-disconnect-proxy-signals.patch bgo#787897 
[email protected] -- disconnect signals on the proxy when the manager is disposed.
+Patch5:         nm-disconnect-proxy-signals.patch
+# PATCH-FIX-UPSTREAM nm-vpn-remote-connection-disconnect-signals.patch 
bsc#1073472 bgo#787893 [email protected] -- fix gnome-control-center crash when a 
vpn connection changes state.
+Patch6:         nm-vpn-remote-connection-disconnect-signals.patch
+BuildRequires:  dnsmasq
 BuildRequires:  fdupes
 BuildRequires:  intltool
 BuildRequires:  iptables
@@ -235,6 +239,8 @@
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
+%patch6 -p1
 
 %build
 NOCONFIGURE=1 ./autogen.sh

++++++ nm-disconnect-proxy-signals.patch ++++++
>From 297862b0e9a6b08e506a9976f2e464f68ba398d2 Mon Sep 17 00:00:00 2001
From: Iain Lane <[email protected]>
Date: Wed, 20 Sep 2017 15:01:41 +0100
Subject: [PATCH] manager: Disconnect from signals on the proxy when we're
 disposed

We're calling a callback on a proxy after it has been disposed. We
should make sure to disconnect from it when we go away.

https://bugzilla.gnome.org/show_bug.cgi?id=787897
(cherry picked from commit 91fa202379b417f146c9b14be7b9b08d2dc83a78)
---
 libnm/nm-manager.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libnm/nm-manager.c b/libnm/nm-manager.c
index d3df73375..294b9de18 100644
--- a/libnm/nm-manager.c
+++ b/libnm/nm-manager.c
@@ -192,8 +192,8 @@ init_dbus (NMObject *object)
                                        property_info);
 
        /* Permissions */
-       g_signal_connect (priv->proxy, "check-permissions",
-                         G_CALLBACK (manager_recheck_permissions), object);
+       g_signal_connect_object (priv->proxy, "check-permissions",
+                                G_CALLBACK (manager_recheck_permissions), 
object, 0);
 }
 
 static NMClientPermission
-- 
2.15.1

++++++ nm-vpn-remote-connection-disconnect-signals.patch ++++++
>From b363a6cfad5996b5436b6f7c1d9337068fcb4c99 Mon Sep 17 00:00:00 2001
From: Iain Lane <[email protected]>
Date: Fri, 22 Sep 2017 11:48:05 +0100
Subject: [PATCH] {vpn,remote}-connection: disconnect signal handlers when
 disposed

GNOME Settings 3.26 is crashing every time a VPN connection changed its
state. After some digging, a debug message was put on dispose, and this
issue was found:

libnm-Message: Object 0x55555633c070 disposed
libnm-Message: Object 0x55555633c730 disposed
libnm-Message: Object 0x55555633eae0 disposed
libnm-Message: Object 0x555556340a80 disposed

Thread 1 "gnome-control-c" received signal SIGSEGV, Segmentation fault.
g_type_check_instance_cast (type_instance=type_instance@entry=0x55555633c070, 
iface_type=93825006537856) at /.../glib/gobject/gtype.c:4057
4057              node = lookup_type_node_I (type_instance->g_class->g_type);
(gdb) bt

NetworkManager is calling callbacks on disposed objects, which leads to
crashes in clients (e.g. GNOME Settings).

Fix this issue by disconnecting signal handlers when the objects are
disposed.

Patch originally by Georges Basile Stavracas Neto <[email protected]>

https://bugzilla.gnome.org/show_bug.cgi?id=787893
(cherry picked from commit b18896f77048399e7a8b6ddd4fa0961e603836fa)
---
 libnm/nm-remote-connection.c | 6 +++---
 libnm/nm-vpn-connection.c    | 4 ++--
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/libnm/nm-remote-connection.c b/libnm/nm-remote-connection.c
index 0f7ea58ef..5cd42555f 100644
--- a/libnm/nm-remote-connection.c
+++ b/libnm/nm-remote-connection.c
@@ -641,7 +641,7 @@ init_sync (GInitable *initable, GCancellable *cancellable, 
GError **error)
        GVariant *settings;
 
        priv->proxy = NMDBUS_SETTINGS_CONNECTION (_nm_object_get_proxy 
(NM_OBJECT (initable), NM_DBUS_INTERFACE_SETTINGS_CONNECTION));
-       g_signal_connect (priv->proxy, "updated", G_CALLBACK (updated_cb), 
initable);
+       g_signal_connect_object (priv->proxy, "updated", G_CALLBACK 
(updated_cb), initable, 0);
 
        if (nmdbus_settings_connection_call_get_settings_sync (priv->proxy,
                                                               &settings,
@@ -730,8 +730,8 @@ init_async (GAsyncInitable *initable, int io_priority,
        priv->proxy = NMDBUS_SETTINGS_CONNECTION (_nm_object_get_proxy 
(NM_OBJECT (initable),
                                                  
NM_DBUS_INTERFACE_SETTINGS_CONNECTION));
 
-       g_signal_connect (priv->proxy, "updated",
-                         G_CALLBACK (updated_cb), initable);
+       g_signal_connect_object (priv->proxy, "updated",
+                                G_CALLBACK (updated_cb), initable, 0);
 
        nmdbus_settings_connection_call_get_settings 
(NM_REMOTE_CONNECTION_GET_PRIVATE (init_data->initable)->proxy,
                                                      init_data->cancellable,
diff --git a/libnm/nm-vpn-connection.c b/libnm/nm-vpn-connection.c
index 814f45f0f..636c39507 100644
--- a/libnm/nm-vpn-connection.c
+++ b/libnm/nm-vpn-connection.c
@@ -144,8 +144,8 @@ init_dbus (NMObject *object)
                                        property_info);
 
        proxy = _nm_object_get_proxy (object, NM_DBUS_INTERFACE_VPN_CONNECTION);
-       g_signal_connect (proxy, "vpn-state-changed",
-                         G_CALLBACK (vpn_state_changed_proxy), object);
+       g_signal_connect_object (proxy, "vpn-state-changed",
+                                G_CALLBACK (vpn_state_changed_proxy), object, 
0);
        g_object_unref (proxy);
 }
 
-- 
2.15.1


Reply via email to