WPS: Fix return value when context is not valid

If WPS isn't enabled, hostapd_cli returns 'OK' even though WPS doesn't
get activated because WPS context is not valid:

$ hostapd_cli wps_pbc
Selected interface 'wlan0'
OK

$ hostapd_cli wps_cancel
Selected interface 'wlan0'
OK

Fix this by returning appropriate error when WPS fails to activate:

$ hostapd_cli wps_pbc
Selected interface 'wlan0'
FAIL

$ hostapd_cli wps_cancel
Selected interface 'wlan0'
FAIL

Signed-off-by: Petar Koretic <petar.koretic@sartura.hr>
CC: Luka Perkov <luka.perkov@sartura.hr>
This commit is contained in:
Petar Koretic 2014-05-14 13:51:04 +00:00 committed by Jouni Malinen
parent 4ef7053119
commit c78c6b73fa

View file

@ -1290,7 +1290,7 @@ static int wps_button_pushed(struct hostapd_data *hapd, void *ctx)
{ {
const u8 *p2p_dev_addr = ctx; const u8 *p2p_dev_addr = ctx;
if (hapd->wps == NULL) if (hapd->wps == NULL)
return 0; return -1;
return wps_registrar_button_pushed(hapd->wps->registrar, p2p_dev_addr); return wps_registrar_button_pushed(hapd->wps->registrar, p2p_dev_addr);
} }
@ -1306,7 +1306,7 @@ int hostapd_wps_button_pushed(struct hostapd_data *hapd,
static int wps_cancel(struct hostapd_data *hapd, void *ctx) static int wps_cancel(struct hostapd_data *hapd, void *ctx)
{ {
if (hapd->wps == NULL) if (hapd->wps == NULL)
return 0; return -1;
wps_registrar_wps_cancel(hapd->wps->registrar); wps_registrar_wps_cancel(hapd->wps->registrar);
ap_for_each_sta(hapd, ap_sta_wps_cancel, NULL); ap_for_each_sta(hapd, ap_sta_wps_cancel, NULL);