diff options
author | Saurav Babu <saurav.babu@samsung.com> | 2015-05-28 09:23:06 +0530 |
---|---|---|
committer | Jouni Malinen <j@w1.fi> | 2015-09-27 12:47:47 +0300 |
commit | 893e2cf9611cb9b31c480edc88443c5262f9c42c (patch) | |
tree | db2dc22605743dbff7adbceff9ed3ac8b8227944 | |
parent | 55b4cc6dd7321878707ef28fd1cd61b0fe81d24d (diff) | |
download | hostap-893e2cf9611cb9b31c480edc88443c5262f9c42c.tar.gz |
D-Bus: Add signal to notify WPS timeout event
Signed-off-by: Saurav Babu <saurav.babu@samsung.com>
-rw-r--r-- | doc/dbus.doxygen | 2 | ||||
-rw-r--r-- | wpa_supplicant/dbus/dbus_new.c | 4 | ||||
-rw-r--r-- | wpa_supplicant/wps_supplicant.c | 12 |
3 files changed, 17 insertions, 1 deletions
diff --git a/doc/dbus.doxygen b/doc/dbus.doxygen index 912bc7cd2..806289ac2 100644 --- a/doc/dbus.doxygen +++ b/doc/dbus.doxygen @@ -919,7 +919,7 @@ Interface for performing WPS (Wi-Fi Simple Config) operations. "pbc-overlap".</dd> <dt>a{sv} : args</dt> <dd> - Event arguments. Empty for success and pbc-voerlap events, one entry ( "msg" : i ) for fail event and following entries for m2d event: + Event arguments. Empty for success and pbc-overlap events, error information ( "msg" : i, "config_error" : i, "error_indication" : i ) for fail event and following entries for m2d event: <table> <tr><th>config_methods</th><th>Value type</th> <tr><td>manufacturer</td><td>q</td> diff --git a/wpa_supplicant/dbus/dbus_new.c b/wpa_supplicant/dbus/dbus_new.c index f594959e6..9e7de031f 100644 --- a/wpa_supplicant/dbus/dbus_new.c +++ b/wpa_supplicant/dbus/dbus_new.c @@ -633,6 +633,10 @@ void wpas_dbus_signal_wps_event_fail(struct wpa_supplicant *wpa_s, if (!dbus_message_iter_append_basic(&iter, DBUS_TYPE_STRING, &key) || !wpa_dbus_dict_open_write(&iter, &dict_iter) || !wpa_dbus_dict_append_int32(&dict_iter, "msg", fail->msg) || + !wpa_dbus_dict_append_int32(&dict_iter, "config_error", + fail->config_error) || + !wpa_dbus_dict_append_int32(&dict_iter, "error_indication", + fail->error_indication) || !wpa_dbus_dict_close_write(&iter, &dict_iter)) wpa_printf(MSG_ERROR, "dbus: Failed to construct signal"); else diff --git a/wpa_supplicant/wps_supplicant.c b/wpa_supplicant/wps_supplicant.c index 2db791499..e612ca35b 100644 --- a/wpa_supplicant/wps_supplicant.c +++ b/wpa_supplicant/wps_supplicant.c @@ -955,8 +955,20 @@ static void wpas_clear_wps(struct wpa_supplicant *wpa_s) static void wpas_wps_timeout(void *eloop_ctx, void *timeout_ctx) { struct wpa_supplicant *wpa_s = eloop_ctx; + union wps_event_data data; + wpa_msg(wpa_s, MSG_INFO, WPS_EVENT_TIMEOUT "Requested operation timed " "out"); + os_memset(&data, 0, sizeof(data)); + data.fail.config_error = WPS_CFG_MSG_TIMEOUT; + data.fail.error_indication = WPS_EI_NO_ERROR; + /* + * Call wpas_notify_wps_event_fail() directly instead of through + * wpa_supplicant_wps_event() which would end up registering unnecessary + * timeouts (those are only for the case where the failure happens + * during an EAP-WSC exchange). + */ + wpas_notify_wps_event_fail(wpa_s, &data.fail); wpas_clear_wps(wpa_s); } |