summary refs log tree commit diff
path: root/src/vpn-manager
diff options
context:
space:
mode:
authorAron Xu <aron@debian.org>2016-12-20 20:06:37 +0800
committerAron Xu <aron@debian.org>2016-12-20 20:06:37 +0800
commit45cb5bb3c0e6edb887cf69b417fcaf7053814a9b (patch)
tree795f8d6a3aa1145e4ba8fa1564f39425ea0c6ed9 /src/vpn-manager
parent270c4830551c9810ad4e83f9a1db2b1cb946208c (diff)
Imported Upstream version 1.4.4 upstream/1.4.4
Diffstat (limited to 'src/vpn-manager')
-rw-r--r--src/vpn-manager/nm-vpn-connection.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/vpn-manager/nm-vpn-connection.c b/src/vpn-manager/nm-vpn-connection.c
index 69b45dcc..1441c3c6 100644
--- a/src/vpn-manager/nm-vpn-connection.c
+++ b/src/vpn-manager/nm-vpn-connection.c
@@ -1369,6 +1369,11 @@ nm_vpn_connection_ip4_config_get (NMVpnConnection *self, GVariant *dict)
 	if (priv->vpn_state == STATE_CONNECT)
 		_set_vpn_state (self, STATE_IP_CONFIG_GET, NM_VPN_CONNECTION_STATE_REASON_NONE, FALSE);
 
+	if (priv->vpn_state > STATE_ACTIVATED) {
+		_LOGI ("VPN connection: (IP4 Config Get) ignoring, the connection is no longer active");
+		return;
+	}
+
 	if (priv->has_ip4) {
 		_LOGI ("VPN connection: (IP4 Config Get) reply received");
 
@@ -1538,6 +1543,11 @@ nm_vpn_connection_ip6_config_get (NMVpnConnection *self, GVariant *dict)
 	if (priv->vpn_state == STATE_CONNECT)
 		_set_vpn_state (self, STATE_IP_CONFIG_GET, NM_VPN_CONNECTION_STATE_REASON_NONE, FALSE);
 
+	if (priv->vpn_state > STATE_ACTIVATED) {
+		_LOGI ("VPN connection: (IP6 Config Get) ignoring, the connection is no longer active");
+		return;
+	}
+
 	if (g_variant_n_children (dict) == 0) {
 		priv->has_ip6 = FALSE;
 		nm_vpn_connection_config_maybe_complete (self, TRUE);