diff options
author | Javier Cardona <javier@cozybit.com> | 2011-04-07 18:08:30 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-04-12 16:57:38 -0400 |
commit | b39c48fac1fc915a5dcd024bf6e9aabc855ed591 (patch) | |
tree | d8c5d6e987f388b8c8769d16a51a07dfcd9c3539 /net | |
parent | 5cff5e01e818029a5d2c3c31b7ae5e5e7ee70452 (diff) |
nl80211/mac80211: let userspace authenticate stations
Signed-off-by: Javier Cardona <javier@cozybit.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/cfg.c | 6 | ||||
-rw-r--r-- | net/wireless/nl80211.c | 5 |
2 files changed, 10 insertions, 1 deletions
diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c index dc623d884d0..1c25723eacd 100644 --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c | |||
@@ -686,6 +686,12 @@ static void sta_apply_parameters(struct ieee80211_local *local, | |||
686 | if (set & BIT(NL80211_STA_FLAG_MFP)) | 686 | if (set & BIT(NL80211_STA_FLAG_MFP)) |
687 | sta->flags |= WLAN_STA_MFP; | 687 | sta->flags |= WLAN_STA_MFP; |
688 | } | 688 | } |
689 | |||
690 | if (mask & BIT(NL80211_STA_FLAG_AUTHENTICATED)) { | ||
691 | sta->flags &= ~WLAN_STA_AUTH; | ||
692 | if (set & BIT(NL80211_STA_FLAG_AUTHENTICATED)) | ||
693 | sta->flags |= WLAN_STA_AUTH; | ||
694 | } | ||
689 | spin_unlock_irqrestore(&sta->flaglock, flags); | 695 | spin_unlock_irqrestore(&sta->flaglock, flags); |
690 | 696 | ||
691 | /* | 697 | /* |
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index cbedfc2a42a..ce29a0d0e88 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c | |||
@@ -1925,6 +1925,7 @@ static const struct nla_policy sta_flags_policy[NL80211_STA_FLAG_MAX + 1] = { | |||
1925 | [NL80211_STA_FLAG_SHORT_PREAMBLE] = { .type = NLA_FLAG }, | 1925 | [NL80211_STA_FLAG_SHORT_PREAMBLE] = { .type = NLA_FLAG }, |
1926 | [NL80211_STA_FLAG_WME] = { .type = NLA_FLAG }, | 1926 | [NL80211_STA_FLAG_WME] = { .type = NLA_FLAG }, |
1927 | [NL80211_STA_FLAG_MFP] = { .type = NLA_FLAG }, | 1927 | [NL80211_STA_FLAG_MFP] = { .type = NLA_FLAG }, |
1928 | [NL80211_STA_FLAG_AUTHENTICATED] = { .type = NLA_FLAG }, | ||
1928 | }; | 1929 | }; |
1929 | 1930 | ||
1930 | static int parse_station_flags(struct genl_info *info, | 1931 | static int parse_station_flags(struct genl_info *info, |
@@ -2284,7 +2285,9 @@ static int nl80211_set_station(struct sk_buff *skb, struct genl_info *info) | |||
2284 | err = -EINVAL; | 2285 | err = -EINVAL; |
2285 | if (params.supported_rates) | 2286 | if (params.supported_rates) |
2286 | err = -EINVAL; | 2287 | err = -EINVAL; |
2287 | if (params.sta_flags_mask) | 2288 | if (params.sta_flags_mask & |
2289 | ~(BIT(NL80211_STA_FLAG_AUTHENTICATED) | | ||
2290 | BIT(NL80211_STA_FLAG_AUTHORIZED))) | ||
2288 | err = -EINVAL; | 2291 | err = -EINVAL; |
2289 | break; | 2292 | break; |
2290 | default: | 2293 | default: |