dbus: Deauthenticate instead of disassociate on disconnect command
authorJouni Malinen <j@w1.fi>
Wed, 18 Aug 2010 18:27:30 +0000 (21:27 +0300)
committerJouni Malinen <j@w1.fi>
Wed, 18 Aug 2010 18:27:30 +0000 (21:27 +0300)
This clears up authentication state in the driver and in case of
cfg80211, unlocks the BSS entry for the previously used AP. The
previous commit cf4783e35fb4861181c275a3dbd607b58c7d4067 changed
only the ctrl_iface DISCONNECT command behavior; this new commit
does the same for D-Bus commands.

wpa_supplicant/dbus/dbus_new_handlers.c
wpa_supplicant/dbus/dbus_old_handlers.c

index 83691de..602ad34 100644 (file)
@@ -1300,7 +1300,8 @@ DBusMessage * wpas_dbus_handler_disconnect(DBusMessage *message,
 {
        if (wpa_s->current_ssid != NULL) {
                wpa_s->disconnected = 1;
-               wpa_supplicant_disassociate(wpa_s, WLAN_REASON_DEAUTH_LEAVING);
+               wpa_supplicant_deauthenticate(wpa_s,
+                                             WLAN_REASON_DEAUTH_LEAVING);
 
                return NULL;
        }
@@ -1433,7 +1434,8 @@ DBusMessage * wpas_dbus_handler_remove_network(DBusMessage *message,
        }
 
        if (ssid == wpa_s->current_ssid)
-               wpa_supplicant_disassociate(wpa_s, WLAN_REASON_DEAUTH_LEAVING);
+               wpa_supplicant_deauthenticate(wpa_s,
+                                             WLAN_REASON_DEAUTH_LEAVING);
 
 out:
        os_free(iface);
index ef60b8f..d914697 100644 (file)
@@ -872,7 +872,8 @@ DBusMessage * wpas_dbus_iface_remove_network(DBusMessage *message,
        }
 
        if (ssid == wpa_s->current_ssid)
-               wpa_supplicant_disassociate(wpa_s, WLAN_REASON_DEAUTH_LEAVING);
+               wpa_supplicant_deauthenticate(wpa_s,
+                                             WLAN_REASON_DEAUTH_LEAVING);
        reply = wpas_dbus_new_success_reply(message);
 
 out:
@@ -1141,7 +1142,7 @@ DBusMessage * wpas_dbus_iface_disconnect(DBusMessage *message,
                                         struct wpa_supplicant *wpa_s)
 {
        wpa_s->disconnected = 1;
-       wpa_supplicant_disassociate(wpa_s, WLAN_REASON_DEAUTH_LEAVING);
+       wpa_supplicant_deauthenticate(wpa_s, WLAN_REASON_DEAUTH_LEAVING);
 
        return wpas_dbus_new_success_reply(message);
 }