On Tue, 2017-08-15 at 10:16 +0300, Kalle Valo wrote:
> "Grumbach, Emmanuel" <emmanuel.grumb...@intel.com> writes:
> 
> > On Mon, 2017-08-14 at 20:14 +0300, Kalle Valo wrote:
> > > Emmanuel Grumbach <emmanuel.grumb...@intel.com> writes:
> > > 
> > > > 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.
> > > > The driver / firmware will decide whether to use it or not.
> > > > 
> > > > Signed-off-by: Emmanuel Grumbach <emmanuel.grumb...@intel.com>
> 
> [...]
> 
> > > > --- a/net/wireless/nl80211.c
> > > > +++ b/net/wireless/nl80211.c
> > > > @@ -9115,6 +9115,7 @@ 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_REQUIRED &&
> > > > +                   connect.mfp != NL80211_MFP_OPTIONAL &&
> > > >                     connect.mfp != NL80211_MFP_NO)
> > > >                         return -EINVAL;
> > > >         } else {
> > > 
> > > I guess I'm missing something, but how is backwards compatibility
> > > supposed to work from user space point of view? If user space
> > > uses
> > > NL80211_MFP_OPTIONAL with an old kernel, the kernel will reject
> > > the
> > > command with -EINVAL and user space will try again without
> > > NL80211_MFP_OPTIONAL?
> > 
> > No you are not. I simply forgot that point. I guess that this would
> > be
> > the behavior, yes...
> 
> I don't think that's very robust. How would user space
> (wpasupplicant)
> know if the the EINVAL is because NL80211_MFP_OPTIONAL is not
> supported
> by the kernel or because of some other error?

I hear, I hear. This is not an option, you are right.

> 
> > This is relevant for ap_scan=2 wpa_s configuration only which makes
> > it
> > not really common, but still, you are right. Not sure how easy it
> > will
> > be to write this logic in the supplicant though... Unless we add an
> > nl80211 feature bit but I feel it'd be a bit of a waste.
> 
> I don't feel that adding a feature bit is waste, I rather use a
> feature
> flag than making ugly hacks to user space. But of course this is up
> to
> Jouni and Johannes.

My latest point is that it wouldn't help since the useful usage was
with ap_scan=2 in which wpa_supplicant can't really know what to put
there. Or... No. It _can_ work. The user would configure pmf=optional
in the wpa_supplicant configuration, and wpa_supplicant can check if
that the underlying kernel supports it with the help of the feature
flag.
Since the pmf=optional configuration in wpa_supplicant will come from
the user (that configures the network inside wpa_supplicant),
wpa_supplicant can do this check.

I'll add this.

Reply via email to