wpa_s->assoc_status_code 解析

当接收到EVENT_ASSOC事件时,驱动程序将assoc_status_code设置为WLAN_STATUS_SUCCESS。如果事件是event_assoc_reject,则会设置相应的错误状态码,并调用HidlManager的notifyAssocReject方法向上层通知拒绝情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IEEE Std 802.11-2016, 9.4.1.9, Table 9-46

设置:

收到驱动的事件EVENT_ASSOC就设置assoc_status_code 为 WLAN_STATUS_SUCCESS。

如果是event_assoc_reject ,则设置为相应的状态码 。

使用:

通知上层 HidlManager::notifyAssocReject 。

后面补充

diff --git a/wpa_supplicant-2.9_standard/wpa_supplicant/events.c b/wpa_supplicant-2.9_standard/wpa_supplicant/events.c index a075284..4351d8a 100644 --- a/wpa_supplicant-2.9_standard/wpa_supplicant/events.c +++ b/wpa_supplicant-2.9_standard/wpa_supplicant/events.c @@ -4057,13 +4057,29 @@ static void wpa_supplicant_event_assoc(struct wpa_supplicant *wpa_s, wpa_s, WLAN_REASON_DEAUTH_LEAVING); return; } -#ifdef CONFIG_MLD_PATCH - if (wpa_drv_get_mlo_info(wpa_s) < 0) { - wpa_dbg(wpa_s, MSG_ERROR, "Failed to get MLO connection info"); - wpa_supplicant_deauthenticate(wpa_s, - WLAN_REASON_DEAUTH_LEAVING); - return; - } + +#ifdef CONFIG_SAE +#ifdef CONFIG_DRIVER_NL80211_SPRD + /* process SAE PMK & PMKID */ + if (wpa_key_mgmt_sae(wpa_s->key_mgmt) && + wpa_s->sme.sae_pmksa_caching == 0) { + const u8 *pmk = wpa_get_vendor_ie(data->assoc_info.resp_ies, + data->assoc_info.resp_ies_len, SPRD_SAE_CNN_RES); + if (!pmk) { + wpa_dbg(wpa_s, MSG_ERROR, "SPRD SAE fatal error: no PMK found"); + wpa_supplicant_deauthenticate( + wpa_s, WLAN_REASON_DEAUTH_LEAVING); + return; + } + wpa_hexdump(MSG_INFO, "SPRD SAE auth results-1:", pmk, 2 + 4 + PMK_LEN + PMKID_LEN); + pmk += 6; /* skip vendor IE header: 1 id + 1 len + 4 OUI */ + wpa_hexdump(MSG_INFO, "SPRD SAE auth results-2:", pmk, PMK_LEN); + wpa_hexdump(MSG_INFO, "SPRD SAE auth results-3:", pmk + PMK_LEN, PMKID_LEN); + wpa_printf(MSG_INFO, "SPRD SAE completed - SET PMK for 4-way handshake"); + /* 32 bytes PMK + 16 bytes PMKID from CP2 SAE auth */ + wpa_sm_set_pmk(wpa_s->wpa, pmk, PMK_LEN, pmk + PMK_LEN, bssid); + } +#endif #endif if (data && wpa_supplicant_event_associnfo(wpa_s, data) < 0) return;
最新发布
07-13
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值