diff options
author | Johannes Berg <johannes.berg@intel.com> | 2011-11-14 09:02:44 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-11-17 15:43:56 -0500 |
commit | a7f23f0a8f6be9d95d8110d34b21ccce03111447 (patch) | |
tree | bccc6bb18bbb60dbfb5480717f8c603fce083d23 /net/mac80211/tx.c | |
parent | 8505a7e652c8a37bdacfd9d6ad5096c793f55ceb (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>
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r-- | net/mac80211/tx.c | 2 |
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) | |||
571 | switch (tx->key->conf.cipher) { | 571 | switch (tx->key->conf.cipher) { |
572 | case WLAN_CIPHER_SUITE_WEP40: | 572 | case WLAN_CIPHER_SUITE_WEP40: |
573 | case WLAN_CIPHER_SUITE_WEP104: | 573 | case WLAN_CIPHER_SUITE_WEP104: |
574 | if (ieee80211_is_auth(hdr->frame_control)) | ||
575 | break; | ||
576 | case WLAN_CIPHER_SUITE_TKIP: | 574 | case WLAN_CIPHER_SUITE_TKIP: |
577 | if (!ieee80211_is_data_present(hdr->frame_control)) | 575 | if (!ieee80211_is_data_present(hdr->frame_control)) |
578 | tx->key = NULL; | 576 | tx->key = NULL; |