Subject: CVS commit: src/sys/dev/ic
To: None <source-changes@NetBSD.org>
From: David Young <dyoung@netbsd.org>
List: source-changes
Date: 06/25/2005 03:56:54
Module Name: src
Committed By: dyoung
Date: Sat Jun 25 03:56:54 UTC 2005
Modified Files:
src/sys/dev/ic: wi.c wivar.h
Log Message:
Bug fix: fix WEP by managing keys & crypto in the style of the new
net80211. It was especially important to zero the IEEE80211_F_DROPUNENC
(discard unencrypted packets) flag in operating modes where the
firmware decrypts for us. Otherwise, the 802.11 layer discarded
all received frames. See wi_mend_flags. From FreeBSD, with
improvements by me.
For better compliance with the "net80211 way":
set sc_cnfauthmode from ic->ic_bss->ni_authmode. Enter
the RUN state through ieee80211_create_ibss instead of
ieee80211_new_state(IEEE80211_S_RUN). To sync BSSID in ad hoc
mode, use ieee80211_sta_join() instead of
ieee80211_new_state(IEEE80211_S_RUN). From FreeBSD.
Configure the firmware to obey IEEE80211_F_DROPUNENC.
As we change to state RUN in STA mode, generate a link-status
message on the routing socket with a call to ieee80211_notify_node_join()
instead of calling rt_ifmsg directly.
Run normal net80211 processing (ieee80211_newstate) on the ->RUN
transition.
To generate a diff of this commit:
cvs rdiff -r1.198 -r1.199 src/sys/dev/ic/wi.c
cvs rdiff -r1.56 -r1.57 src/sys/dev/ic/wivar.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.