[PATCH] SAE: nl80211 send mlme frame fail (external auth)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: Ouden <Ouden.Biz@xxxxxxxxx>

When external authentication is used, the station send mlme frame (auth)
to driver that can't get the frequency (bss->freq) after hostap.git commit
b6f8b5a9 ("nl80211: Update freq only when CSA completes").

This patch will use the assoc_freq to send the mlem frame,
when external authentication is used.

Change-Id: I92ca155094699a6be3e7a27f8b5ed58c3ca38ea7
Signed-off-by: Ouden <Ouden.Biz@xxxxxxxxx>
---
 src/drivers/driver_nl80211.c | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
index 64bea49e1..fa0a73094 100644
--- a/src/drivers/driver_nl80211.c
+++ b/src/drivers/driver_nl80211.c
@@ -3747,6 +3747,20 @@ static int wpa_driver_nl80211_send_mlme(struct i802_bss *bss, const u8 *data,
 			encrypt = 0;
 	}
 
+	if (freq == 0 && drv->nlmode == NL80211_IFTYPE_STATION &&
+		((drv->capa.flags & WPA_DRIVER_FLAGS_SAE) &&
+		 !(drv->capa.flags & WPA_DRIVER_FLAGS_SME)) &&
+		WLAN_FC_GET_TYPE(fc) == WLAN_FC_TYPE_MGMT &&
+		WLAN_FC_GET_STYPE(fc) == WLAN_FC_STYPE_AUTH) {
+
+		if (freq == 0) {
+			freq = nl80211_get_assoc_freq(drv);
+			wpa_printf(MSG_DEBUG,
+				   "nl80211: send_mlme - Use assoc_freq=%u for external auth",
+				   freq);
+		}
+	}
+
 	if (freq == 0 && drv->nlmode == NL80211_IFTYPE_ADHOC) {
 		freq = nl80211_get_assoc_freq(drv);
 		wpa_printf(MSG_DEBUG,
-- 
2.21.1 (Apple Git-122.3)


_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux