Search Linux Wireless

Re: [PATCHv3 2/2] mac80211: in AD-HOC mode wait for the AUTH response

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ok so I've let these patches languish for far too long ...



> +	} else {
> +		ieee80211_ibss_auth_sta(sta);

How does this compile? I see no static forward declaration (which I
wouldn't like anyway) and the function is defined only later?

Anyway this part is really confusing. If userspace is handling auth
frames, should the kernel really mark the station as authenticated? What
then is the point in handling auth frames in userspace??

Will?

Any chance we could converge on a single implementation here?

> +static void ieee80211_ibss_auth_sta(struct sta_info *sta)
> +{
> +	if (sta->sta_state > IEEE80211_STA_NONE)
> +		return;
> +
> +	sta_info_move_state(sta, IEEE80211_STA_AUTH);
> +	sta_info_move_state(sta, IEEE80211_STA_ASSOC);
> +	/* authorize the station only if the network is not RSN protected. If
> +	 * not wait for the userspace to authorize it
> +	 */

technically, control_port != RSN protected, but I guess for IBSS ...
who's going to do WAPI? ;-)

> +	cfg80211_ibss_sta(sta->sdata->dev, sta->sta.addr, GFP_KERNEL);

I'm not really convinced that this event is the right thing to do.

If userspace is handing the auth frame, it already has the event right
there, no? It can even reply, even if for some reason it can't send a
negative reply because the kernel has already marked the station as
authenticated (see above).

If there's no userspace, then RSN can't work anyway, so maybe this isn't
really needed?

Also, a more generic event would make more sense I think?

> +	ieee80211_ibss_auth_expire(sdata);

It seems you should have something to trigger the timer too?

johannes

--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux