aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Berg2011-11-14 15:02:44 +0100
committerJohn W. Linville2011-11-17 15:43:56 -0500
commita7f23f0a8f6be9d95d8110d34b21ccce03111447 (patch)
treebccc6bb18bbb60dbfb5480717f8c603fce083d23
parent8505a7e652c8a37bdacfd9d6ad5096c793f55ceb (diff)
mac80211: remove crypto special case for auth frames
The shared key authentication frame that needs to be encrypted (the third one in the shared key handshake) is directly encrypted in ieee80211_send_auth and the IEEE80211_TX_INTFL_DONT_ENCRYPT is set. All others are not encrypted, so the only way to get to this is erroneously on no-monitor AP side. Remove the special case for authentication frames to fix the AP shared key side when operating without cooked monitor interfaces -- with cooked monitor the IEEE80211_TX_INTFL_DONT_ENCRYPT also gets set, so we never get here -- an AP never encrypts auth frames. Without this patch, an AP operating in WEP mode with my no-monitor patches would erroneously encrypt all authentication frames, instead of none. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--net/mac80211/tx.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 2b413d38daa7..431988361553 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -571,8 +571,6 @@ ieee80211_tx_h_select_key(struct ieee80211_tx_data *tx)
switch (tx->key->conf.cipher) {
case WLAN_CIPHER_SUITE_WEP40:
case WLAN_CIPHER_SUITE_WEP104:
- if (ieee80211_is_auth(hdr->frame_control))
- break;
case WLAN_CIPHER_SUITE_TKIP:
if (!ieee80211_is_data_present(hdr->frame_control))
tx->key = NULL;