From a1562f49d0e9c7ae7906344d896df38201376505 Mon Sep 17 00:00:00 2001 From: Jukka Rissanen Date: Mon, 12 Nov 2012 14:07:56 +0200 Subject: [PATCH] vpn: Go to failure state if vpn information cannot be found --- vpn/plugins/vpn.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/vpn/plugins/vpn.c b/vpn/plugins/vpn.c index df030b0..d0b3381 100644 --- a/vpn/plugins/vpn.c +++ b/vpn/plugins/vpn.c @@ -223,14 +223,24 @@ static DBusMessage *vpn_notify(struct connman_task *task, data = vpn_provider_get_data(provider); name = vpn_provider_get_driver_name(provider); - if (name == NULL) + + if (name == NULL) { + DBG("Cannot find VPN driver for provider %p", provider); + vpn_provider_set_state(provider, VPN_PROVIDER_STATE_FAILURE); return NULL; + } vpn_driver_data = g_hash_table_lookup(driver_hash, name); - if (vpn_driver_data == NULL) + if (vpn_driver_data == NULL) { + DBG("Cannot find VPN driver data for name %s", name); + vpn_provider_set_state(provider, VPN_PROVIDER_STATE_FAILURE); return NULL; + } state = vpn_driver_data->vpn_driver->notify(msg, provider); + + DBG("provider %p driver %s state %d", provider, name, state); + switch (state) { case VPN_STATE_CONNECT: case VPN_STATE_READY: -- 2.7.4