vpn: increase vpn service timeout to 180 seconds (rh #1277693)

This commit is contained in:
Jiří Klimeš 2015-11-05 15:49:00 +01:00
parent bb5706276c
commit 2a565aaea6
2 changed files with 167 additions and 1 deletions

View File

@ -8,7 +8,7 @@
%define ppp_version %(rpm -q ppp-devel >/dev/null && rpm -q --qf '%%{version}' ppp-devel || echo -n bad)
%define snapshot %{nil}
%define release_version 7
%define release_version 8
%define realversion 1.0.6
%define epoch_version 1
@ -102,6 +102,7 @@ Patch12: rh1266003-fix-crash-on-bss-proxy-acquired.patch
Patch13: nmtui-fix-crash-in-secret-agent.patch
Patch14: libnm-fix-introspection-annotation.patch
Patch15: rh1272974-fix-s390-ctc-detection.patch
Patch16: rh1277693-vpn-service-timer.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -394,6 +395,7 @@ by nm-connection-editor and nm-applet in a non-graphical environment.
%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p1
%build
@ -712,6 +714,9 @@ fi
%endif
%changelog
* Thu Nov 5 2015 Jiří Klimeš <jklimes@redhat.com> - 1:1.0.6-8
- vpn: increase vpn service timeout to 180 seconds (rh #1277693)
* Mon Oct 19 2015 Jiří Klimeš <jklimes@redhat.com> - 1:1.0.6-7
- libnm-core: fix a crash in priority_strv_to_maplist()
- core: fix handling ignore-auto-dns for IPv6 nameservers (rh #1261428)

View File

@ -0,0 +1,161 @@
From f7617511bb94bbae2dbf99231a7d6be29575aa4d Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Thu, 1 Oct 2015 17:17:52 +0200
Subject: [PATCH] nm-vpn-service-plugin: increase the quit timer
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
We now (since 3272ff6 libnm/libnm-glib: don't quit in the middle of asking for
secrets) always hook on the quit timer when NM asks the plugin if it needs
secrets. The timer is 20 seconds, which seems too short.
Let's make it three minutes. Don't bother adding another timer or using a
distinct timeout: it does no harm for the plugin to remain unused for three
minutes on a bus.
Another option would be to completely unhook it; however the plugin wouldn't
learn if the user cancelled the NM's secrets request and would remain unused
on the bus forever.
(cherry picked from commit b1512221bc29f24b86d464dc5117439c366fd299)
Signed-off-by: Jiří Klimeš <jklimes@redhat.com>
---
libnm-glib/nm-vpn-plugin.c | 2 +-
libnm/nm-vpn-plugin-old.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libnm-glib/nm-vpn-plugin.c b/libnm-glib/nm-vpn-plugin.c
index f40ea80..a9c4a1f 100644
--- a/libnm-glib/nm-vpn-plugin.c
+++ b/libnm-glib/nm-vpn-plugin.c
@@ -69,7 +69,7 @@ static gboolean impl_vpn_plugin_set_failure (NMVPNPlugin *plugin,
#include "nm-vpn-plugin-glue.h"
-#define NM_VPN_PLUGIN_QUIT_TIMER 20
+#define NM_VPN_PLUGIN_QUIT_TIMER 180
G_DEFINE_ABSTRACT_TYPE (NMVPNPlugin, nm_vpn_plugin, G_TYPE_OBJECT)
diff --git a/libnm/nm-vpn-plugin-old.c b/libnm/nm-vpn-plugin-old.c
index 24d8e40..deaa07d 100644
--- a/libnm/nm-vpn-plugin-old.c
+++ b/libnm/nm-vpn-plugin-old.c
@@ -44,7 +44,7 @@
#include "nmdbus-vpn-plugin.h"
-#define NM_VPN_PLUGIN_OLD_QUIT_TIMER 20
+#define NM_VPN_PLUGIN_OLD_QUIT_TIMER 180
static void nm_vpn_plugin_old_initable_iface_init (GInitableIface *iface);
--
2.1.0
From 0a95f003a9b0cad71d8fcb88562f4050881e0ace Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Tue, 20 Oct 2015 19:41:19 +0200
Subject: [PATCH] agent-manager: cancel secrets requests on an error
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
It might be that the user didn't supply the secrets in time and the dbus call
timed out. The agent should now hide the secrets dialog and we must let it know.
https://bugzilla.redhat.com/show_bug.cgi?id=1272023
(cherry picked from commit 5d1cac81a0bcc66b891bc38f1a2cc4b84d47f08b)
Signed-off-by: Jiří Klimeš <jklimes@redhat.com>
---
src/settings/nm-agent-manager.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/settings/nm-agent-manager.c b/src/settings/nm-agent-manager.c
index 8dcda06..d59173a 100644
--- a/src/settings/nm-agent-manager.c
+++ b/src/settings/nm-agent-manager.c
@@ -816,6 +816,9 @@ get_done_cb (NMSecretAgent *agent,
req_complete_error (parent, error);
g_error_free (error);
} else {
+ /* Tell the failed agent we're no longer interested. */
+ nm_secret_agent_cancel_secrets (parent->current, parent->current_call_id);
+
/* Try the next agent */
request_next_agent (parent);
}
--
2.1.0
From 24195884cd953966776074cb6d8df6bf01641845 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Thu, 22 Oct 2015 14:27:45 +0200
Subject: [PATCH] libnm-glib,vpn-plugin: remove old connect timer when adding
new one
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
If the plugin didn't succeed connecting once, don't let the old timer fire
during a subsequent connection.
https://bugzilla.redhat.com/show_bug.cgi?id=1271973
(cherry picked from commit 842889bc5b588d191aa2c2cbcb73452ac8971cf5)
Signed-off-by: Jiří Klimeš <jklimes@redhat.com>
---
libnm-glib/nm-vpn-plugin.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/libnm-glib/nm-vpn-plugin.c b/libnm-glib/nm-vpn-plugin.c
index a9c4a1f..4350e60 100644
--- a/libnm-glib/nm-vpn-plugin.c
+++ b/libnm-glib/nm-vpn-plugin.c
@@ -426,6 +426,7 @@ connect_timer_start (NMVPNPlugin *plugin)
{
NMVPNPluginPrivate *priv = NM_VPN_PLUGIN_GET_PRIVATE (plugin);
+ nm_clear_g_source (&priv->connect_timer);
priv->connect_timer = g_timeout_add_seconds (60, connect_timer_expired, plugin);
}
--
2.1.0
From 8c8e88ae2882ee544e9058729f046e66642ca2c7 Mon Sep 17 00:00:00 2001
From: Lubomir Rintel <lkundrak@v3.sk>
Date: Wed, 4 Nov 2015 14:28:01 +0100
Subject: [PATCH] agent-manager: don't try to cancel requests that already
finished
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Fixes: 5d1cac81a0bcc66b891bc38f1a2cc4b84d47f08b
(cherry picked from commit f5585022787a57275687c7a1ec0ed3eaccaf5001)
Signed-off-by: Jiří Klimeš <jklimes@redhat.com>
---
src/settings/nm-agent-manager.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/settings/nm-agent-manager.c b/src/settings/nm-agent-manager.c
index d59173a..0ca8ce8 100644
--- a/src/settings/nm-agent-manager.c
+++ b/src/settings/nm-agent-manager.c
@@ -816,8 +816,10 @@ get_done_cb (NMSecretAgent *agent,
req_complete_error (parent, error);
g_error_free (error);
} else {
- /* Tell the failed agent we're no longer interested. */
- nm_secret_agent_cancel_secrets (parent->current, parent->current_call_id);
+ if (parent->current_call_id) {
+ /* Tell the failed agent we're no longer interested. */
+ nm_secret_agent_cancel_secrets (parent->current, parent->current_call_id);
+ }
/* Try the next agent */
request_next_agent (parent);
--
2.1.0