diff options
author | Jukka Rissanen <jukka.rissanen@linux.intel.com> | 2012-11-30 11:30:51 +0200 |
---|---|---|
committer | Patrik Flykt <patrik.flykt@linux.intel.com> | 2012-11-30 15:01:19 +0200 |
commit | c6dc437648097c21965ca87016365a7d6616ad32 (patch) | |
tree | fe0ea4c82fc07c9c272605d4b3c024041d3c57cd /vpn | |
parent | d27c42180b7d0d6fe0e7516019d61d6022421799 (diff) | |
download | connman-c6dc437648097c21965ca87016365a7d6616ad32.tar.gz connman-c6dc437648097c21965ca87016365a7d6616ad32.tar.bz2 connman-c6dc437648097c21965ca87016365a7d6616ad32.zip |
vpn: Driver disconnect needs provider information
The provider pointer needs to be passed to VPN driver when
disconnecting. Otherwise we cannot find the correct provider
that is being disconnected.
Diffstat (limited to 'vpn')
-rw-r--r-- | vpn/plugins/vpn.c | 2 | ||||
-rw-r--r-- | vpn/plugins/vpn.h | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/vpn/plugins/vpn.c b/vpn/plugins/vpn.c index a8603d92..05068f58 100644 --- a/vpn/plugins/vpn.c +++ b/vpn/plugins/vpn.c @@ -458,7 +458,7 @@ static int vpn_disconnect(struct vpn_provider *provider) vpn_driver_data = g_hash_table_lookup(driver_hash, name); if (vpn_driver_data->vpn_driver->disconnect) - vpn_driver_data->vpn_driver->disconnect(); + vpn_driver_data->vpn_driver->disconnect(provider); if (data->watch != 0) { vpn_provider_unref(provider); diff --git a/vpn/plugins/vpn.h b/vpn/plugins/vpn.h index d1e322c1..6f86aac5 100644 --- a/vpn/plugins/vpn.h +++ b/vpn/plugins/vpn.h @@ -46,7 +46,7 @@ struct vpn_driver { int (*connect) (struct vpn_provider *provider, struct connman_task *task, const char *if_name, vpn_provider_connect_cb_t cb, void *user_data); - void (*disconnect) (void); + void (*disconnect) (struct vpn_provider *provider); int (*error_code) (int exit_code); int (*save) (struct vpn_provider *provider, GKeyFile *keyfile); }; |