]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
WPS: Add WPS-PIN-ACTIVE and WPS-CANCEL events
authorBilal Hatipoglu <bilal.hatipoglu@airties.com>
Thu, 5 Sep 2019 09:33:44 +0000 (12:33 +0300)
committerJouni Malinen <j@w1.fi>
Wed, 25 Dec 2019 18:58:52 +0000 (20:58 +0200)
WPS_EVENT_CANCEL is added to indicate cancellation of a WPS operation
for any reason in hostapd/wpa_supplicant.

WPS_EVENT_PIN_ACTIVE is added to indicate when a PIN operation is
triggered in wpa_supplicant.

Signed-off-by: Veli Demirel <veli.demirel@airties.com>
Signed-off-by: Bilal Hatipoglu <bilal.hatipoglu@airties.com>
src/ap/wps_hostapd.c
src/common/wpa_ctrl.h
wpa_supplicant/wps_supplicant.c

index 33caeaf3adb99684e9be37bc458c41dea1a880a1..175b9fc09d2b05f47edb25dad1c4904b3beb13dd 100644 (file)
@@ -1417,6 +1417,7 @@ static int wps_cancel(struct hostapd_data *hapd, void *ctx)
                data->count++;
                wps_registrar_wps_cancel(hapd->wps->registrar);
                ap_for_each_sta(hapd, ap_sta_wps_cancel, NULL);
+               wpa_msg(hapd->msg_ctx, MSG_INFO, WPS_EVENT_CANCEL);
        }
 
        return 0;
index 5258189693dfa797990315da1854e9927c0ba0ef..f03c698f1e156fc26c1ac1b5ad32cef1162a986f 100644 (file)
@@ -301,6 +301,8 @@ extern "C" {
 #define WPS_EVENT_AP_SETUP_UNLOCKED "WPS-AP-SETUP-UNLOCKED "
 #define WPS_EVENT_AP_PIN_ENABLED "WPS-AP-PIN-ENABLED "
 #define WPS_EVENT_AP_PIN_DISABLED "WPS-AP-PIN-DISABLED "
+#define WPS_EVENT_PIN_ACTIVE "WPS-PIN-ACTIVE "
+#define WPS_EVENT_CANCEL "WPS-CANCEL "
 #define AP_STA_CONNECTED "AP-STA-CONNECTED "
 #define AP_STA_DISCONNECTED "AP-STA-DISCONNECTED "
 #define AP_STA_POSSIBLE_PSK_MISMATCH "AP-STA-POSSIBLE-PSK-MISMATCH "
index 05996321ea59ad93fa3244a615370e890f6ac186..99ddd26ca7d7535bdf2dae2900bcc79a63d83604 100644 (file)
@@ -1294,6 +1294,10 @@ static int wpas_wps_start_dev_pw(struct wpa_supplicant *wpa_s,
                wpa_printf(MSG_DEBUG, "WPS: Failed to set phase1 '%s'", val);
                return -1;
        }
+
+       if (dev_pw_id != DEV_PW_NFC_CONNECTION_HANDOVER)
+               wpa_msg(wpa_s, MSG_INFO, WPS_EVENT_PIN_ACTIVE);
+
        if (wpa_s->wps_fragment_size)
                ssid->eap.fragment_size = wpa_s->wps_fragment_size;
        eloop_register_timeout(WPS_PBC_WALK_TIME, 0, wpas_wps_timeout,
@@ -1359,6 +1363,7 @@ int wpas_wps_cancel(struct wpa_supplicant *wpa_s)
                        wpas_clear_wps(wpa_s);
        }
 
+       wpa_msg(wpa_s, MSG_INFO, WPS_EVENT_CANCEL);
        wpa_s->after_wps = 0;
 
        return 0;