]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
SAE: Report authentication rejection over control interface
authorJouni Malinen <jouni@codeaurora.org>
Wed, 14 Jul 2021 10:03:05 +0000 (13:03 +0300)
committerJouni Malinen <j@w1.fi>
Wed, 14 Jul 2021 15:18:47 +0000 (18:18 +0300)
CTRL-EVENT-AUTH-REJECT reporting was previously skipped when going
through SAE-specific Authentication frame handling. Add this event here
as well to be more consistent with control interface events.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
wpa_supplicant/sme.c

index 72aa9b5b8f18b8618788f97b4bc9e1fb723784e8..f2c42ff354e788017430d1e07fa2813bb5678662 100644 (file)
@@ -1340,8 +1340,15 @@ static int sme_sae_auth(struct wpa_supplicant *wpa_s, u16 auth_transaction,
 
        if (status_code != WLAN_STATUS_SUCCESS &&
            status_code != WLAN_STATUS_SAE_HASH_TO_ELEMENT &&
-           status_code != WLAN_STATUS_SAE_PK)
+           status_code != WLAN_STATUS_SAE_PK) {
+               const u8 *bssid = sa ? sa : wpa_s->pending_bssid;
+
+               wpa_msg(wpa_s, MSG_INFO, WPA_EVENT_AUTH_REJECT MACSTR
+                       " auth_type=%u auth_transaction=%u status_code=%u",
+                       MAC2STR(bssid), WLAN_AUTH_SAE,
+                       auth_transaction, status_code);
                return -1;
+       }
 
        if (auth_transaction == 1) {
                u16 res;
@@ -1542,7 +1549,7 @@ void sme_event_auth(struct wpa_supplicant *wpa_s, union wpa_event_data *data)
                int res;
                res = sme_sae_auth(wpa_s, data->auth.auth_transaction,
                                   data->auth.status_code, data->auth.ies,
-                                  data->auth.ies_len, 0, NULL);
+                                  data->auth.ies_len, 0, data->auth.peer);
                if (res < 0) {
                        wpas_connection_failed(wpa_s, wpa_s->pending_bssid);
                        wpa_supplicant_set_state(wpa_s, WPA_DISCONNECTED);