Tai-hwa Liang fec39060e2 Fixing WEP bustage in hostap mode since 5.2-RELEASE.
- WEP TX fix:

  The original code called software crypto, ieee80211_crypto_encap(),
which never worked since IEEE80211_KEY_SWCRYPT was never flagged due to
ieee80211_crypto_newkey() assumes that wi always supports hardware based
crypto regardless of operational mode(by virtue of IEEE80211_C_WEP).
This fix works around that issue by adding wi_key_alloc() to force
the use of s/w crypto.  Also if anyone ever decides to cleanup ioctl
handling where key changes wouldn't cause a call to wi_init() every time,
we'll need wi_key_alloc() to DTRT.

  In addition to that, this fix also adds code to wi_write_wep() to force
existing keys to be switched between h/w and s/w crypto such that an
operation mode change(sta <-> hostap) will flag IEEE80211_KEY_SWCRYPT
properly.

- WEP RX fix:

  Clear IEEE80211_F_DROPUNENC even in hostap mode.  Quote from Sam:

	"This is really gross but I don't see an easy way around it.
	By doing it we lose the ability to independently drop unencode
	frames (and support mixed wep/!wep use).  We should really be
	setting the EXCLUDE_UNENCRYPTED flag written in wi_write_wep
	based on IEEE80211_F_DROPUNENC but with our clearing it we can't
	depend on it being set properly."

Reported by:	Holm Tiffe <holm at freibergnet dot de>
Submitted by:	sam
MFC after:	3 days
2005-10-02 04:29:08 +00:00
..
2005-09-22 04:51:11 +00:00
2005-09-16 10:09:23 +00:00
2005-09-27 16:57:44 +00:00
2005-05-10 12:02:18 +00:00
2005-10-01 18:56:19 +00:00
2005-10-01 18:56:19 +00:00
2005-09-20 19:50:27 +00:00
2005-09-22 06:01:44 +00:00
2005-09-11 18:39:03 +00:00
2005-09-22 05:52:54 +00:00
2005-10-01 18:56:19 +00:00
2005-10-01 18:56:19 +00:00
2005-09-08 14:13:36 +00:00
2005-05-14 10:26:31 +00:00
2005-07-29 00:20:50 +00:00
2005-09-27 09:11:44 +00:00
2005-10-01 18:56:19 +00:00
2005-09-19 06:55:27 +00:00
2005-05-19 21:16:50 +00:00
2005-04-08 05:22:58 +00:00
2005-10-01 18:56:19 +00:00
2005-02-27 22:01:09 +00:00
2005-09-25 01:39:04 +00:00
2005-09-29 20:41:04 +00:00
2005-09-21 22:45:14 +00:00
2005-09-22 06:01:44 +00:00
2005-10-01 18:56:19 +00:00
2005-10-01 18:56:19 +00:00
2005-09-22 06:01:44 +00:00
2005-09-22 05:56:32 +00:00
2005-09-22 06:01:44 +00:00
2005-09-18 15:38:40 +00:00
2005-09-21 22:45:14 +00:00
2005-09-29 16:47:08 +00:00
2005-09-21 22:45:14 +00:00
2005-10-01 18:56:19 +00:00
2005-10-01 18:56:19 +00:00