diff options
author | Jaehyun Kim <jeik01.kim@samsung.com> | 2013-04-16 17:43:48 +0900 |
---|---|---|
committer | Zhang zhengguang <zhengguang.zhang@intel.com> | 2013-07-01 11:20:23 +0800 |
commit | 74aa0e84aeb9c42960b4ffd095516c9ac0673aa5 (patch) | |
tree | 3ad549b5b6b35a7c873bf1e51a9718f7eb9bf2f4 /plugins | |
parent | 936ec03de949ffa457b3ee778c369a9a4fc2e42f (diff) | |
download | connman-74aa0e84aeb9c42960b4ffd095516c9ac0673aa5.tar.gz connman-74aa0e84aeb9c42960b4ffd095516c9ac0673aa5.tar.bz2 connman-74aa0e84aeb9c42960b4ffd095516c9ac0673aa5.zip |
Fix Wi-Fi WEP OPEN and WEP SHARED
Unable to connect with the WEP(open key) mode AP again with correct password if connecting the AP with wrong password before.
Fix this issue.
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/wifi.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/plugins/wifi.c b/plugins/wifi.c index 7a334cc6..c50945b8 100644 --- a/plugins/wifi.c +++ b/plugins/wifi.c @@ -1367,6 +1367,9 @@ static int network_disconnect(struct connman_network *network) struct connman_device *device = connman_network_get_device(network); struct wifi_data *wifi; int err; +#if defined TIZEN_EXT + struct connman_service *service; +#endif DBG("network %p", network); @@ -1374,6 +1377,22 @@ static int network_disconnect(struct connman_network *network) if (wifi == NULL || wifi->interface == NULL) return -ENODEV; +#if defined TIZEN_EXT + if (connman_network_get_associating(network) == TRUE) + connman_network_set_error(network, + CONNMAN_NETWORK_ERROR_ASSOCIATE_FAIL); + else { + service = connman_service_lookup_from_network(network); + + if (service != NULL && + (__connman_service_is_connected_state(service, + CONNMAN_IPCONFIG_TYPE_IPV4) == FALSE && + __connman_service_is_connected_state(service, + CONNMAN_IPCONFIG_TYPE_IPV6) == FALSE) && + (connman_service_get_favorite(service) == FALSE)) + __connman_service_set_passphrase(service, NULL); + } +#endif connman_network_set_associating(network, FALSE); if (wifi->disconnecting == TRUE) |