|
@@ -0,0 +1,63 @@
|
|
|
+From 4562a431ad976a3e0df38889d48bb7898f91c672 Mon Sep 17 00:00:00 2001
|
|
|
+From: Lubomir Rintel <lkundrak@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@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
|
|
|
+
|