linux/net/wireless
Nishant Sarmukadam 7834704be4 cfg80211: Avoid sending IWEVASSOCREQIE and IWEVASSOCRESPIE events with NULL event body
In a scenario, where a cfg80211 driver (station mode) does not send assoc request
and assoc response IEs in cfg80211_connect_result after a successful association
to an AP, cfg80211 sends IWEVASSOCREQIE and IWEVASSOCRESPIE to the user space
application with NULL data. This can cause an issue at the event recipient.

An example of this is when cfg80211 sends IWEVASSOCREQIE and IWEVASSOCRESPIE
events with NULL event body to wpa_supplicant. The wpa_supplicant overwrites
the assoc request and assoc response IEs for this station with NULL data.
If the association is WPA/WPA2, the wpa_supplicant is not able to generate
EAPOL handshake messages, since the IEs are NULL.

With the patch, req_ie and resp_ie will be NULL by avoiding the
assignment if the driver has not sent the IEs to cfg80211. The event sending
code sends the events only if resp_ie and req_ie are not NULL. This
will ensure that the events are not sent with NULL event body.

Signed-off-by: Nishant Sarmukadam <nishants@marvell.com>
Reviewed-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-04-16 15:32:00 -04:00
..
.gitignore wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
chan.c cfg80211: add remain-on-channel command 2009-12-28 16:55:02 -05:00
core.c nl80211: add power save commands 2010-02-19 15:52:40 -05:00
core.h cfg80211: Add local-state-change-only auth/deauth/disassoc 2010-04-07 14:37:56 -04:00
db.txt wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
debugfs.c cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
debugfs.h cfg80211/mac80211: use debugfs_remove_recursive 2009-10-30 16:49:18 -04:00
ethtool.c cfg80211: add firmware and hardware version to wiphy 2009-10-07 16:39:46 -04:00
ethtool.h net/wireless/ethtool.h: drop unnecessary include of linux/ethtool.h 2009-10-07 16:39:49 -04:00
genregdb.awk wireless: fix comments in genregdb.awk 2009-12-25 16:35:43 -08:00
ibss.c wireless : use a dedicated workqueue for cfg80211. 2009-11-28 15:05:00 -05:00
Kconfig wireless: remove CONFIG_WIRELESS_OLD_REGULATORY 2009-12-28 16:31:37 -05:00
lib80211_crypt_ccmp.c lib80211: Cosmetics - make room for MIC/CRC near the actual calculation 2010-02-02 16:03:38 -05:00
lib80211_crypt_tkip.c lib80211: Introduce TKIP_HDR_LEN define for code clarity 2010-02-02 16:03:38 -05:00
lib80211_crypt_wep.c lib80211: absorb crypto bits from net/ieee80211 2008-11-21 11:08:17 -05:00
lib80211.c lib80211: consolidate crypt init routines 2008-11-21 11:08:17 -05:00
Makefile wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
mlme.c cfg80211: Add local-state-change-only auth/deauth/disassoc 2010-04-07 14:37:56 -04:00
nl80211.c cfg80211: Add local-state-change-only auth/deauth/disassoc 2010-04-07 14:37:56 -04:00
nl80211.h cfg80211: Add connection quality monitoring support to nl80211 2010-03-24 16:02:37 -04:00
radiotap.c wireless: update radiotap parser 2010-02-08 16:50:53 -05:00
reg.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into merge 2010-04-08 13:34:54 -04:00
reg.h cfg80211: add regulatory hint disconnect support 2010-02-01 15:40:06 -05:00
regdb.h wireless: support internal statically compiled regulatory database 2009-12-21 18:56:10 -05:00
scan.c cfg80211: export cfg80211_find_ie 2010-01-26 11:53:20 -05:00
sme.c cfg80211: Avoid sending IWEVASSOCREQIE and IWEVASSOCRESPIE events with NULL event body 2010-04-16 15:32:00 -04:00
sysfs.c cfg80211: export multiple MAC addresses in sysfs 2010-01-22 16:11:16 -05:00
sysfs.h
util.c mac80211: support paged rx SKBs 2010-03-31 14:39:34 -04:00
wext-compat.c nl80211: add power save commands 2010-02-19 15:52:40 -05:00
wext-compat.h cfg80211: validate channel settings across interfaces 2009-08-14 09:13:42 -04:00
wext-core.c net/wireless/wext-core.c: Use IW_EVENT_IDX macro 2010-03-23 16:50:27 -04:00
wext-priv.c wext: refactor 2009-10-07 16:39:43 -04:00
wext-proc.c net: spread __net_init, __net_exit 2010-01-17 19:16:02 -08:00
wext-sme.c cfg80211: don't set privacy w/o key 2009-09-28 16:55:04 -04:00
wext-spy.c wext: refactor 2009-10-07 16:39:43 -04:00