1
0
mirror of https://github.com/aircrack-ng/rtl8812au.git synced 2024-12-01 17:32:04 +00:00

Hostapd/WPS support

This commit is contained in:
cail 2019-03-28 09:52:21 -07:00
parent 5b9a19b522
commit 44bfc439ae

View File

@ -4515,6 +4515,18 @@ static int cfg80211_rtw_start_ap(struct wiphy *wiphy, struct net_device *ndev,
ret = rtw_add_beacon(adapter, settings->beacon.head, settings->beacon.head_len, ret = rtw_add_beacon(adapter, settings->beacon.head, settings->beacon.head_len,
settings->beacon.tail, settings->beacon.tail_len); settings->beacon.tail, settings->beacon.tail_len);
// In cases like WPS, the proberesp and assocresp IEs vary from the beacon, and need to be explicitly set
if(ret == 0) {
if(settings->beacon.proberesp_ies && settings->beacon.proberesp_ies_len > 0) {
rtw_cfg80211_set_mgnt_wpsp2pie(ndev, (char *)settings->beacon.proberesp_ies,
settings->beacon.proberesp_ies_len, 0x2/*PROBE_RESP*/);
}
if(settings->beacon.assocresp_ies && settings->beacon.assocresp_ies_len < 0) {
rtw_cfg80211_set_mgnt_wpsp2pie(ndev, (char *)settings->beacon.assocresp_ies,
settings->beacon.assocresp_ies_len, 0x4/*ASSOC_RESP*/);
}
}
adapter->mlmeextpriv.mlmext_info.hidden_ssid_mode = settings->hidden_ssid; adapter->mlmeextpriv.mlmext_info.hidden_ssid_mode = settings->hidden_ssid;
if (settings->ssid && settings->ssid_len) { if (settings->ssid && settings->ssid_len) {
@ -4550,6 +4562,18 @@ static int cfg80211_rtw_change_beacon(struct wiphy *wiphy, struct net_device *nd
ret = rtw_add_beacon(adapter, info->head, info->head_len, info->tail, info->tail_len); ret = rtw_add_beacon(adapter, info->head, info->head_len, info->tail, info->tail_len);
// In cases like WPS, the proberesp and assocresp IEs vary from the beacon, and need to be explicitly set
if(ret == 0) {
if(info->proberesp_ies && info->proberesp_ies_len > 0) {
rtw_cfg80211_set_mgnt_wpsp2pie(ndev, (char *)info->proberesp_ies,
info->proberesp_ies_len, 0x2/*PROBE_RESP*/);
}
if(info->assocresp_ies && info->assocresp_ies_len > 0) {
rtw_cfg80211_set_mgnt_wpsp2pie(ndev, (char *)info->assocresp_ies,
info->assocresp_ies_len, 0x4/*ASSOC_RESP*/);
}
}
return ret; return ret;
} }