From: Fionn Cleary Date: Fri, 4 Apr 2014 13:45:26 +0000 (+0200) Subject: Fix reassociate dbus method X-Git-Tag: hostap_2_2~330 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=481e66b1f89a481ae073ec8e2058a013fda6897c;p=thirdparty%2Fhostap.git Fix reassociate dbus method - 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 --- diff --git a/wpa_supplicant/dbus/dbus_new.h b/wpa_supplicant/dbus/dbus_new.h index 61c480a6a..7aee9236e 100644 --- a/wpa_supplicant/dbus/dbus_new.h +++ b/wpa_supplicant/dbus/dbus_new.h @@ -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" diff --git a/wpa_supplicant/dbus/dbus_new_handlers.c b/wpa_supplicant/dbus/dbus_new_handlers.c index 5466d16cd..ffa59b2a9 100644 --- a/wpa_supplicant/dbus/dbus_new_handlers.c +++ b/wpa_supplicant/dbus/dbus_new_handlers.c @@ -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"); }