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 <[email protected]>
+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 <[email protected]>
+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@resource:///org/gnome/shell/ui/components/networkAgent.js:60
+  wrapper@resource:///org/gnome/gjs/modules/lang.js:169
+  _Base.prototype._construct@resource:///org/gnome/gjs/modules/lang.js:110
+  
Class.prototype._construct/newClass@resource:///org/gnome/gjs/modules/lang.js:204
+  
NetworkAgent<._handleRequest@resource:///org/gnome/shell/ui/components/networkAgent.js:724
+  wrapper@resource:///org/gnome/gjs/modules/lang.js:169
+  
NetworkAgent<._newRequest@resource:///org/gnome/shell/ui/components/networkAgent.js:715
+  wrapper@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
+

Reply via email to