Page MenuHomeFreeBSD

D58854.diff
No OneTemporary

D58854.diff

diff --git a/sys/net80211/ieee80211_crypto.c b/sys/net80211/ieee80211_crypto.c
--- a/sys/net80211/ieee80211_crypto.c
+++ b/sys/net80211/ieee80211_crypto.c
@@ -674,6 +674,24 @@
struct ieee80211vap *vap = ni->ni_vap;
struct ieee80211_frame *wh;
+ /*
+ * Explicitly check whether we're doing WEP and allow
+ * the use of the default TX key.
+ */
+ if ((ni->ni_authmode == IEEE80211_AUTH_OPEN) &&
+ ((vap->iv_flags & IEEE80211_F_PRIVACY) != 0) &&
+ (vap->iv_def_txkey != IEEE80211_KEYIX_NONE)) {
+ struct ieee80211_key *k;
+ /*
+ * Check to see if the TX key is a WEP cipher key.
+ * Only allow transmit using it here if it's
+ * a WEP key.
+ */
+ k = &vap->iv_nw_keys[vap->iv_def_txkey];
+ if (k->wk_cipher->ic_cipher == IEEE80211_CIPHER_WEP)
+ return (k);
+ }
+
/*
* Multicast traffic always uses the multicast key.
*

File Metadata

Mime Type
text/plain
Expires
Thu, Aug 20, 1:20 PM (14 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
36810832
Default Alt Text
D58854.diff (856 B)

Event Timeline