mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 03:01:39 -04:00
cfg80211/mac80211: userspace peer authorization in IBSS
If the IBSS network is RSN-protected, let userspace authorize the stations instead of adding them as AUTHORIZED by default. Signed-off-by: Antonio Quartulli <[email protected]> Signed-off-by: John W. Linville <[email protected]>
This commit is contained in:
parent
3eda95de19
commit
267335d63b
4 changed files with 24 additions and 9 deletions
|
|
@ -268,7 +268,10 @@ static struct sta_info *ieee80211_ibss_finish_sta(struct sta_info *sta,
|
|||
|
||||
sta_info_pre_move_state(sta, IEEE80211_STA_AUTH);
|
||||
sta_info_pre_move_state(sta, IEEE80211_STA_ASSOC);
|
||||
sta_info_pre_move_state(sta, IEEE80211_STA_AUTHORIZED);
|
||||
/* authorize the station only if the network is not RSN protected. If
|
||||
* not wait for the userspace to authorize it */
|
||||
if (!sta->sdata->u.ibss.control_port)
|
||||
sta_info_pre_move_state(sta, IEEE80211_STA_AUTHORIZED);
|
||||
|
||||
rate_control_rate_init(sta);
|
||||
|
||||
|
|
@ -1075,6 +1078,7 @@ int ieee80211_ibss_join(struct ieee80211_sub_if_data *sdata,
|
|||
sdata->u.ibss.fixed_bssid = false;
|
||||
|
||||
sdata->u.ibss.privacy = params->privacy;
|
||||
sdata->u.ibss.control_port = params->control_port;
|
||||
sdata->u.ibss.basic_rates = params->basic_rates;
|
||||
memcpy(sdata->vif.bss_conf.mcast_rate, params->mcast_rate,
|
||||
sizeof(params->mcast_rate));
|
||||
|
|
|
|||
|
|
@ -478,6 +478,8 @@ struct ieee80211_if_ibss {
|
|||
bool fixed_channel;
|
||||
bool privacy;
|
||||
|
||||
bool control_port;
|
||||
|
||||
u8 bssid[ETH_ALEN];
|
||||
u8 ssid[IEEE80211_MAX_SSID_LEN];
|
||||
u8 ssid_len, ie_len;
|
||||
|
|
|
|||
Loading…
Reference in a new issue