nl80211: add an option to allow MFP without requiring it
The user space can now allow the kernel to associate to an AP that requires MFP or that doesn't have MFP enabled in the same NL80211_CMD_CONNECT command, by using a new NL80211_MFP_OPTIONAL flag. The driver / firmware will decide whether to use it or not. Include a feature bit to advertise support for NL80211_MFP_OPTIONAL. This allows new user space to run on old kernels and know that it cannot use the new attribute if it isn't supported. Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:

committed by
Johannes Berg

vanhempi
a6bcda4484
commit
65026002d6
@@ -8952,8 +8952,14 @@ static int nl80211_connect(struct sk_buff *skb, struct genl_info *info)
|
||||
|
||||
if (info->attrs[NL80211_ATTR_USE_MFP]) {
|
||||
connect.mfp = nla_get_u32(info->attrs[NL80211_ATTR_USE_MFP]);
|
||||
if (connect.mfp == NL80211_MFP_OPTIONAL &&
|
||||
!wiphy_ext_feature_isset(&rdev->wiphy,
|
||||
NL80211_EXT_FEATURE_MFP_OPTIONAL))
|
||||
return -EOPNOTSUPP;
|
||||
|
||||
if (connect.mfp != NL80211_MFP_REQUIRED &&
|
||||
connect.mfp != NL80211_MFP_NO)
|
||||
connect.mfp != NL80211_MFP_NO &&
|
||||
connect.mfp != NL80211_MFP_OPTIONAL)
|
||||
return -EINVAL;
|
||||
} else {
|
||||
connect.mfp = NL80211_MFP_NO;
|
||||
|
Viittaa uudesa ongelmassa
Block a user