android_kernel_samsung_msm8976/net/mac80211
Johannes Berg 3017b80bf0 [MAC80211]: fix software decryption
When doing key selection for software decryption, mac80211 gets
a few things wrong: it always uses pairwise keys if configured,
even if the frame is addressed to a multicast address. Also, it
doesn't allow using a key index of zero if a pairwise key has
also been found.

This patch changes the key selection code to be (more) in line
with the 802.11 specification. I have confirmed that with this,
multicast frames are correctly decrypted and I've tested with
WEP as well.

While at it, I've cleaned up the semantics of the hardware flags
IEEE80211_HW_WEP_INCLUDE_IV and IEEE80211_HW_DEVICE_HIDES_WEP
and clarified them in the mac80211.h header; it is also now
allowed to set the IEEE80211_HW_DEVICE_HIDES_WEP option even if
it only applies to frames that have been decrypted by the hw,
unencrypted frames must be dropped but encrypted frames that
the hardware couldn't handle can be passed up unmodified.

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Acked-by: Michael Wu <flamingice@sourmilk.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-10 16:48:44 -07:00
..
aes_ccm.c [NET]: DIV_ROUND_UP cleanup (part two) 2007-10-10 16:48:37 -07:00
aes_ccm.h
debugfs.c [PATCH] mac80211: fix debugfs tx power reduction output 2007-06-11 17:47:48 -04:00
debugfs.h
debugfs_key.c [MAC80211]: fix key debugfs 2007-10-10 16:48:40 -07:00
debugfs_key.h
debugfs_netdev.c [PATCH] mac80211: use do { } while (0) for multi-line macros 2007-08-06 15:38:48 -04:00
debugfs_netdev.h
debugfs_sta.c [PATCH] mac80211: Fix sparse error for sta_last_seq_ctrl_read 2007-08-06 15:39:01 -04:00
debugfs_sta.h
hostapd_ioctl.h [MAC80211]: remove PRISM2_PARAM_RADIO_ENABLED 2007-10-10 16:48:41 -07:00
ieee80211.c [MAC80211]: remove radar stuff 2007-10-10 16:48:43 -07:00
ieee80211_cfg.c
ieee80211_cfg.h
ieee80211_common.h [MAC80211]: remove radar stuff 2007-10-10 16:48:43 -07:00
ieee80211_i.h [MAC80211]: implement ERP info change notifications 2007-10-10 16:47:39 -07:00
ieee80211_iface.c [MAC80211]: improve locking of sta_info related structures 2007-10-10 16:47:37 -07:00
ieee80211_ioctl.c [MAC80211]: remove PRISM2_PARAM_RADIO_ENABLED 2007-10-10 16:48:41 -07:00
ieee80211_key.h
ieee80211_led.c
ieee80211_led.h
ieee80211_rate.c [MAC80211]: move some rate control functions out of ieee80211.c 2007-10-10 16:47:35 -07:00
ieee80211_rate.h [MAC80211]: move some rate control functions out of ieee80211.c 2007-10-10 16:47:35 -07:00
ieee80211_sta.c [MAC80211]: use more GFP_KERNEL instead of GFP_ATOMIC 2007-10-10 16:47:40 -07:00
Kconfig
key.c [MAC80211]: split out some key functions from ieee80211.c 2007-10-10 16:47:34 -07:00
Makefile [MAC80211]: introduce util.c 2007-10-10 16:47:36 -07:00
michael.c
michael.h
rc80211_simple.c [PATCH] mac80211: fix initialisation when built-in 2007-09-25 22:55:45 -07:00
regdomain.c [PATCH] mac80211: regdomain.c needs to include ieee80211_i.h 2007-07-17 21:50:20 -04:00
rx.c [MAC80211]: fix software decryption 2007-10-10 16:48:44 -07:00
sta_info.c [MAC80211]: improve locking of sta_info related structures 2007-10-10 16:47:37 -07:00
sta_info.h [MAC80211]: improve locking of sta_info related structures 2007-10-10 16:47:37 -07:00
tkip.c
tkip.h
tx.c [NET]: DIV_ROUND_UP cleanup (part two) 2007-10-10 16:48:37 -07:00
util.c [MAC80211]: improved short preamble handling 2007-10-10 16:47:38 -07:00
wep.c
wep.h
wme.c [MAC80211]: move QoS rx handlers into rx.c 2007-10-10 16:47:30 -07:00
wme.h [MAC80211]: move QoS rx handlers into rx.c 2007-10-10 16:47:30 -07:00
wpa.c [MAC80211]: fix software decryption 2007-10-10 16:48:44 -07:00
wpa.h