1
linux/net
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
..
9p 9p: fix bad error path in conversion routines 2007-08-23 10:25:05 -05:00
802 [SNAP]: Check packet length before reading 2007-08-21 20:58:13 -07:00
8021q [VLAN]: Fix net_device leak. 2007-09-16 16:43:04 -07:00
appletalk
atm [ATM]: Replace DPRINTK() with pr_debug(). 2007-10-10 16:48:27 -07:00
ax25 [AX25]: don't free pointers to statically allocated data 2007-08-14 17:24:05 -07:00
bluetooth [BLUETOOTH]: Fix non-COMPAT build of hci_sock.c 2007-09-12 14:10:58 +02:00
bridge [NET]: DIV_ROUND_UP cleanup (part two) 2007-10-10 16:48:37 -07:00
core [PKTGEN]: Remove softirq scheduling. 2007-10-10 16:48:36 -07:00
dccp [NET]: DIV_ROUND_UP cleanup (part two) 2007-10-10 16:48:37 -07:00
decnet [DECNET]: Fix interface address listing regression. 2007-09-11 10:45:15 +02:00
econet [ECONET]: remove econet_packet_type on unload 2007-08-14 17:25:20 -07:00
ethernet [NET] ethernet: optimize memcpy and memset 2007-10-10 16:48:26 -07:00
ieee80211 [NET]: DIV_ROUND_UP cleanup (part two) 2007-10-10 16:48:37 -07:00
ipv4 [NET]: DIV_ROUND_UP cleanup (part two) 2007-10-10 16:48:37 -07:00
ipv6 [IPV6] IPSEC: Omit redirect for tunnelled packet. 2007-10-10 16:48:33 -07:00
ipx
irda [IrDA]: MSG_NOSIGNAL support for IrDA sockets 2007-10-10 16:48:37 -07:00
iucv [S390] Convert to smp_call_function_single. 2007-07-27 12:29:17 +02:00
key [NET] Cleanup: DIV_ROUND_UP 2007-10-10 16:48:30 -07:00
lapb
llc
mac80211 [MAC80211]: fix software decryption 2007-10-10 16:48:44 -07:00
netfilter [NETFILTER]: nfnetlink_log: fix sending of multipart messages 2007-09-20 12:13:52 -07:00
netlabel [NetLabel]: add missing rcu_dereference() calls in the LSM domain mapping hash table 2007-08-07 17:53:10 -07:00
netlink [NETLINK]: use container_of instead 2007-10-10 16:48:35 -07:00
netrom [NET] NETROM: Fix whitespace errors. 2007-07-19 10:44:32 +09:00
packet [NET] PACKET: Fix whitespace errors. 2007-07-19 10:44:35 +09:00
rfkill [NET] RFKILL: Fix whitespace errors. 2007-07-19 10:44:38 +09:00
rose [ROSE]: Fix rose.ko oops on unload 2007-10-07 23:44:17 -07:00
rxrpc net/* misc endianness annotations 2007-07-26 11:11:56 -07:00
sched [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
sctp [IPV6]: Add v4mapped address inline 2007-10-10 16:48:32 -07:00
sunrpc [NET]: DIV_ROUND_UP cleanup (part two) 2007-10-10 16:48:37 -07:00
tipc [TIPC]: Clean up duplicate includes in net/tipc/ 2007-08-13 22:52:07 -07:00
unix [AF_UNIX]: Make code static. 2007-07-31 02:28:27 -07:00
wanrouter [NET]: Removal of duplicated include net/wanrouter/wanmain.c 2007-08-02 19:42:22 -07:00
wireless [WIRELESS] radiotap parser: accept all other fields 2007-10-10 16:47:43 -07:00
x25
xfrm [XFRM] policy: Replace magic number with XFRM_POLICY_OUT 2007-10-10 16:48:34 -07:00
compat.c O_CLOEXEC for SCM_RIGHTS 2007-07-16 09:05:45 -07:00
Kconfig 9p: Reorganization of 9p file system code 2007-07-14 15:13:40 -05:00
Makefile 9p: Reorganization of 9p file system code 2007-07-14 15:13:40 -05:00
nonet.c
socket.c [NET]: Zero length write() on socket should not simply return 0. 2007-09-27 13:52:00 -07:00
sysctl_net.c
TUNABLE