summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_crypto_ccmp.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2009-06-09 16:32:07 +0000
committersam <sam@FreeBSD.org>2009-06-09 16:32:07 +0000
commit61418971f4dc85a3632054e202ccf76013a93e36 (patch)
tree0cfaff84cbdaf337d6e9b77890834939c8a50988 /sys/net80211/ieee80211_crypto_ccmp.c
parentaf60635fabd4377e14bc00ac6a5d6723f01308ed (diff)
downloadFreeBSD-src-61418971f4dc85a3632054e202ccf76013a93e36.zip
FreeBSD-src-61418971f4dc85a3632054e202ccf76013a93e36.tar.gz
Correct ieee80211_gettid:
o don't increment extracted tid, this was a vestige of IEEE80211_NONQOS_TID being defined as 0 (w/ real tid's +1) o handle 4-address frames (add IEEE80211_IS_DSTODS to check if an 802.11 header is DSTODS) Submitted by: cbzimmer Reviewed by: avatar
Diffstat (limited to 'sys/net80211/ieee80211_crypto_ccmp.c')
-rw-r--r--sys/net80211/ieee80211_crypto_ccmp.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/sys/net80211/ieee80211_crypto_ccmp.c b/sys/net80211/ieee80211_crypto_ccmp.c
index c969dae..79df266 100644
--- a/sys/net80211/ieee80211_crypto_ccmp.c
+++ b/sys/net80211/ieee80211_crypto_ccmp.c
@@ -298,8 +298,6 @@ ccmp_init_blocks(rijndael_ctx *ctx, struct ieee80211_frame *wh,
uint8_t b0[AES_BLOCK_LEN], uint8_t aad[2 * AES_BLOCK_LEN],
uint8_t auth[AES_BLOCK_LEN], uint8_t s0[AES_BLOCK_LEN])
{
-#define IS_4ADDRESS(wh) \
- ((wh->i_fc[1] & IEEE80211_FC1_DIR_MASK) == IEEE80211_FC1_DIR_DSTODS)
#define IS_QOS_DATA(wh) IEEE80211_QOS_HAS_SEQ(wh)
/* CCM Initial Block:
@@ -344,7 +342,7 @@ ccmp_init_blocks(rijndael_ctx *ctx, struct ieee80211_frame *wh,
* initial block as we know whether or not we have
* a QOS frame.
*/
- if (IS_4ADDRESS(wh)) {
+ if (IEEE80211_IS_DSTODS(wh)) {
IEEE80211_ADDR_COPY(aad + 24,
((struct ieee80211_frame_addr4 *)wh)->i_addr4);
if (IS_QOS_DATA(wh)) {
@@ -386,7 +384,6 @@ ccmp_init_blocks(rijndael_ctx *ctx, struct ieee80211_frame *wh,
b0[14] = b0[15] = 0;
rijndael_encrypt(ctx, b0, s0);
#undef IS_QOS_DATA
-#undef IS_4ADDRESS
}
#define CCMP_ENCRYPT(_i, _b, _b0, _pos, _e, _len) do { \
OpenPOWER on IntegriCloud