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.