summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLubomir Rintel <lkundrak@v3.sk>2014-11-09 12:38:38 +0100
committerLubomir Rintel <lkundrak@v3.sk>2014-11-19 19:51:44 +0100
commit282d9b0e10c08dcda4a1d082b15dc2bdda8ee3d2 (patch)
tree7747b6658a4c026cc73039aef270dde115a3ecdd
parent51974196f905bd43847ba66dcdeaee6d29613220 (diff)
downloadNetworkManager-282d9b0e10c08dcda4a1d082b15dc2bdda8ee3d2.tar.gz
vpn: Propagate daemon exec error correctly
NetworkManager[31624]: <warn> VPN service 'openvpn': could not launch the VPN service. error: (8) Failed to execute child process "/usr/local/libexec/nm-openvpn-service" (No such file or directory). ** NetworkManager:ERROR:nm-manager.c:3094:_activation_auth_done: assertion failed: (error)
-rw-r--r--src/vpn-manager/nm-vpn-service.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/vpn-manager/nm-vpn-service.c b/src/vpn-manager/nm-vpn-service.c
index 29a8ac32a1..b46d13ecf7 100644
--- a/src/vpn-manager/nm-vpn-service.c
+++ b/src/vpn-manager/nm-vpn-service.c
@@ -54,7 +54,7 @@ typedef struct {
#define VPN_CONNECTION_GROUP "VPN Connection"
-static gboolean start_pending_vpn (NMVpnService *self);
+static gboolean start_pending_vpn (NMVpnService *self, GError **error);
NMVpnService *
nm_vpn_service_new (const char *namefile, GError **error)
@@ -130,7 +130,7 @@ connection_vpn_state_changed (NMVpnConnection *connection,
g_signal_handlers_disconnect_by_func (connection, G_CALLBACK (connection_vpn_state_changed), self);
if (connection == priv->active) {
priv->active = NULL;
- start_pending_vpn (self);
+ start_pending_vpn (self, NULL);
} else
priv->pending = g_slist_remove (priv->pending, connection);
g_object_unref (connection);
@@ -253,7 +253,7 @@ start_active_vpn (NMVpnService *self, GError **error)
}
static gboolean
-start_pending_vpn (NMVpnService *self)
+start_pending_vpn (NMVpnService *self, GError **error)
{
NMVpnServicePrivate *priv = NM_VPN_SERVICE_GET_PRIVATE (self);
@@ -266,7 +266,7 @@ start_pending_vpn (NMVpnService *self)
priv->active = g_slist_nth_data (priv->pending, 0);
priv->pending = g_slist_remove (priv->pending, priv->active);
- return start_active_vpn (self, NULL);
+ return start_active_vpn (self, error);
}
gboolean
@@ -300,7 +300,7 @@ nm_vpn_service_activate (NMVpnService *service,
}
/* Otherwise start the next VPN */
- return start_pending_vpn (service);
+ return start_pending_vpn (service, error);
}
static void