diff options
| author | Yuan-Gu Wei <ygwei@qca.qualcomm.com> | 2014-07-09 17:59:47 +0800 |
|---|---|---|
| committer | Akash Patel <c_akashp@qca.qualcomm.com> | 2014-07-10 21:44:59 -0700 |
| commit | 548ac90f9ef5ea91418467fd9fcca9aa48ae6cdf (patch) | |
| tree | 73b5a92587f30e0ceb69715338bf5f0bdf2e3042 | |
| parent | 25bddc15856ce5c9d3eb19c4d3a4e5ca073f0102 (diff) | |
qcacld: drop the encrypted BC/MC management frames
Since BC/MC management frames should be protected by BIP and
should not be encrypted, when receiving encrypted BC/MC management frame,
drop it.
Change-Id: I98139cc19ff634baa372366097d58730b616c4da
CRs-Fixed: 686581
| -rw-r--r-- | CORE/CLD_TXRX/TLSHIM/tl_shim.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/CORE/CLD_TXRX/TLSHIM/tl_shim.c b/CORE/CLD_TXRX/TLSHIM/tl_shim.c index 75af0a8e5f44..5f53453ea9e1 100644 --- a/CORE/CLD_TXRX/TLSHIM/tl_shim.c +++ b/CORE/CLD_TXRX/TLSHIM/tl_shim.c @@ -621,6 +621,15 @@ static int tlshim_mgmt_rx_process(void *context, u_int8_t *data, { if ((wh)->i_fc[1] & IEEE80211_FC1_WEP) { + if (IEEE80211_IS_BROADCAST(wh->i_addr1) || + IEEE80211_IS_MULTICAST(wh->i_addr1)) + { + TLSHIM_LOGE("Encrypted BC/MC frame" + " dropping the frame"); + vos_pkt_return_packet(rx_pkt); + return 0; + } + orig_hdr = (u_int8_t*) adf_nbuf_data(wbuf); /* Strip privacy headers (and trailer) |
