[arch-commits] Commit in gnome-shell/trunk (3 files)

Jan Steffens heftig at archlinux.org
Wed Jan 27 19:46:32 UTC 2016


    Date: Wednesday, January 27, 2016 @ 20:46:32
  Author: heftig
Revision: 258653

FS#47833

Added:
  gnome-shell/trunk/libsecret-crash.patch
  gnome-shell/trunk/vpn-secrets.patch
Modified:
  gnome-shell/trunk/PKGBUILD

-----------------------+
 PKGBUILD              |    8 +++++-
 libsecret-crash.patch |   32 ++++++++++++++++++++++++
 vpn-secrets.patch     |   63 ++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 102 insertions(+), 1 deletion(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2016-01-27 19:46:03 UTC (rev 258652)
+++ PKGBUILD	2016-01-27 19:46:32 UTC (rev 258653)
@@ -4,7 +4,7 @@
 
 pkgname=gnome-shell
 pkgver=3.18.3
-pkgrel=2
+pkgrel=3
 pkgdesc="The next generation GNOME Shell"
 arch=(i686 x86_64)
 url="http://live.gnome.org/GnomeShell"
@@ -19,13 +19,19 @@
 install=gnome-shell.install
 groups=(gnome)
 source=(http://ftp.gnome.org/pub/GNOME/sources/$pkgname/${pkgver:0:4}/$pkgname-$pkgver.tar.xz
+        libsecret-crash.patch vpn-secrets.patch
         nm-libexecdir.patch)
 sha256sums=('8517baf8606f970ebf38222411eb7563cab2ae5efbfb088954ce23705b67519b'
+            '3c668de4c091dccf3d269b3d549c93f2a9b64e569c87ff3c3466624b5fc735bd'
+            '156d62bcb1281527820c9fd4760354478d7d7f0d424ba291bab6cfa498a54ef6'
             'e5bb10ad2e5c3e0fde3d05babd1bfdda701e553e02d493f7e54cb7832ce7e607')
 
 prepare() {
   cd $pkgname-$pkgver
 
+  patch -Np1 -i ../libsecret-crash.patch
+  patch -Np1 -i ../vpn-secrets.patch
+
   # FS#30747 FS#32730 Problems due to libexecdir different from NM
   patch -Np1 -i ../nm-libexecdir.patch
 }

Added: libsecret-crash.patch
===================================================================
--- libsecret-crash.patch	                        (rev 0)
+++ libsecret-crash.patch	2016-01-27 19:46:32 UTC (rev 258653)
@@ -0,0 +1,32 @@
+From 021cecbce289f1d9c68a156d5b8dd204a73bc715 Mon Sep 17 00:00:00 2001
+From: Christophe Fergeau <cfergeau at redhat.com>
+Date: Sun, 20 Dec 2015 20:51:52 +0100
+Subject: NetworkAgent: Fix double-unref in get_secrets_keyring_cb()
+
+In get_secrets_keyring_cb, we own a ref on the 'attributes' hash table
+from secret_item_get_attributes), and a ref on the 'secret' object (from
+secret_item_get_secret(), but in the SHELL_KEYRING_SK_TAG case, we unref
+these once before breaking out of the loop, and the second time after
+breaking out of the loop.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=759708
+---
+ src/shell-network-agent.c | 2 --
+ 1 file changed, 2 deletions(-)
+
+diff --git a/src/shell-network-agent.c b/src/shell-network-agent.c
+index 5d99167..da0f7e5 100644
+--- a/src/shell-network-agent.c
++++ b/src/shell-network-agent.c
+@@ -314,8 +314,6 @@ get_secrets_keyring_cb (GObject            *source,
+ 
+               secrets_found = TRUE;
+ 
+-              g_hash_table_unref (attributes);
+-              secret_value_unref (secret);
+               break;
+             }
+         }
+-- 
+cgit v0.11.2
+

Added: vpn-secrets.patch
===================================================================
--- vpn-secrets.patch	                        (rev 0)
+++ vpn-secrets.patch	2016-01-27 19:46:32 UTC (rev 258653)
@@ -0,0 +1,63 @@
+From 4562a431ad976a3e0df38889d48bb7898f91c672 Mon Sep 17 00:00:00 2001
+From: Lubomir Rintel <lkundrak at v3.sk>
+Date: Tue, 26 Jan 2016 17:31:34 +0100
+Subject: NetworkAgent: correctly identify the VPN secret requests
+
+The non-interactive requests for 'vpn' settings are forwarded to the UI because
+it is able to talk to the auth helpers. However, the VPN requests are identified
+by the connection type instead of setting type. That is incorrect and the UI
+is not prepared to handle such requests; tries to construct a dialog and fails
+miserably:
+
+  Gjs-Message: JS LOG: Invalid connection type: vpn
+
+  (gnome-shell:13133): Gjs-WARNING **: JS ERROR: Error: No property 'text' in property list (or its value was undefined)
+  NetworkSecretDialog<._init at resource:///org/gnome/shell/ui/components/networkAgent.js:60
+  wrapper at resource:///org/gnome/gjs/modules/lang.js:169
+  _Base.prototype._construct at resource:///org/gnome/gjs/modules/lang.js:110
+  Class.prototype._construct/newClass at resource:///org/gnome/gjs/modules/lang.js:204
+  NetworkAgent<._handleRequest at resource:///org/gnome/shell/ui/components/networkAgent.js:724
+  wrapper at resource:///org/gnome/gjs/modules/lang.js:169
+  NetworkAgent<._newRequest at resource:///org/gnome/shell/ui/components/networkAgent.js:715
+  wrapper at resource:///org/gnome/gjs/modules/lang.js:169
+
+https://bugzilla.gnome.org/show_bug.cgi?id=760999
+---
+ src/shell-network-agent.c | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/src/shell-network-agent.c b/src/shell-network-agent.c
+index c6f4b79..8e8c548 100644
+--- a/src/shell-network-agent.c
++++ b/src/shell-network-agent.c
+@@ -366,8 +366,6 @@ shell_network_agent_get_secrets (NMSecretAgent                 *agent,
+ {
+   ShellNetworkAgent *self = SHELL_NETWORK_AGENT (agent);
+   ShellAgentRequest *request;
+-  NMSettingConnection *setting_connection;
+-  const char *connection_type;
+   GHashTable *attributes;
+   char *request_id;
+ 
+@@ -381,9 +379,6 @@ shell_network_agent_get_secrets (NMSecretAgent                 *agent,
+       shell_agent_request_cancel (request);
+     }
+ 
+-  setting_connection = nm_connection_get_setting_connection (connection);
+-  connection_type = nm_setting_connection_get_connection_type (setting_connection);
+-
+   request = g_slice_new (ShellAgentRequest);
+   request->self = g_object_ref (self);
+   request->cancellable = g_cancellable_new ();
+@@ -393,7 +388,7 @@ shell_network_agent_get_secrets (NMSecretAgent                 *agent,
+   request->flags = flags;
+   request->callback = callback;
+   request->callback_data = callback_data;
+-  request->is_vpn = !strcmp(connection_type, NM_SETTING_VPN_SETTING_NAME);
++  request->is_vpn = !strcmp(setting_name, NM_SETTING_VPN_SETTING_NAME);
+   request->entries = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, gvalue_destroy_notify);
+ 
+   if (request->is_vpn)
+-- 
+cgit v0.11.2
+



More information about the arch-commits mailing list