]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Fix reassociate dbus method
authorFionn Cleary <fionn.cleary@streamunlimited.com>
Fri, 4 Apr 2014 13:45:26 +0000 (15:45 +0200)
committerJouni Malinen <j@w1.fi>
Fri, 11 Apr 2014 16:22:00 +0000 (19:22 +0300)
- Reassociate was only working when there was already a connect in
  place, which is not how the REASSOCIATE command from the ctrl
  interface works.

Signed-off-by: Fionn Cleary <fionn.cleary@streamunlimited.com>
wpa_supplicant/dbus/dbus_new.h
wpa_supplicant/dbus/dbus_new_handlers.c

index 61c480a6ae82db7544886aa745edea8e6d86c094..7aee9236e79f6d67a05a45c1fd5ef5e4e7f9a0a7 100644 (file)
@@ -91,6 +91,8 @@ enum wpas_dbus_bss_prop {
 
 #define WPAS_DBUS_ERROR_IFACE_EXISTS \
        WPAS_DBUS_NEW_INTERFACE ".InterfaceExists"
+#define WPAS_DBUS_ERROR_IFACE_DISABLED            \
+       WPAS_DBUS_NEW_INTERFACE ".InterfaceDisabled"
 #define WPAS_DBUS_ERROR_IFACE_UNKNOWN \
        WPAS_DBUS_NEW_INTERFACE ".InterfaceUnknown"
 
index 5466d16cd559d4feaea726fd802f7a9a91a7ed09..ffa59b2a90869e2eb4347916248efcca7bb92e1c 100644 (file)
@@ -1465,10 +1465,10 @@ err:
 
 
 /**
- * wpas_dbus_handler_reassociate - Reassociate to current AP
+ * wpas_dbus_handler_reassociate - Reassociate
  * @message: Pointer to incoming dbus message
  * @wpa_s: wpa_supplicant structure for a network interface
- * Returns: NotConnected DBus error message if not connected
+ * Returns: InterfaceDisabled DBus error message if disabled
  * or NULL otherwise.
  *
  * Handler function for "Reassociate" method call of network interface.
@@ -1476,13 +1476,13 @@ err:
 DBusMessage * wpas_dbus_handler_reassociate(DBusMessage *message,
                                            struct wpa_supplicant *wpa_s)
 {
-       if (wpa_s->current_ssid != NULL) {
+       if (wpa_s->wpa_state != WPA_INTERFACE_DISABLED) {
                wpas_request_connection(wpa_s);
                return NULL;
        }
 
-       return dbus_message_new_error(message, WPAS_DBUS_ERROR_NOT_CONNECTED,
-                                     "This interface is not connected");
+       return dbus_message_new_error(message, WPAS_DBUS_ERROR_IFACE_DISABLED,
+                                     "This interface is disabled");
 }