diff options
Diffstat (limited to 'vpn/vpn-provider.c')
-rw-r--r-- | vpn/vpn-provider.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/vpn/vpn-provider.c b/vpn/vpn-provider.c index 2519dd52..0046ea7f 100644 --- a/vpn/vpn-provider.c +++ b/vpn/vpn-provider.c @@ -1204,6 +1204,13 @@ static int provider_indicate_state(struct vpn_provider *provider, connman_dbus_property_changed_basic(provider->path, VPN_CONNECTION_INTERFACE, "State", DBUS_TYPE_STRING, &str); + /* + * We do not stay in failure state as clients like connmand can + * get confused about our current state. + */ + if (provider->state == VPN_PROVIDER_STATE_FAILURE) + provider->state = VPN_PROVIDER_STATE_IDLE; + return 0; } |