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
