svn commit: r193541 - head/sys/net80211
Sam Leffler
sam at FreeBSD.org
Fri Jun 5 23:10:32 UTC 2009
Author: sam
Date: Fri Jun 5 23:10:30 2009
New Revision: 193541
URL: http://svn.freebsd.org/changeset/base/193541
Log:
add tid param to ieee80211_notify_replay_failure to get the correct rsc
Modified:
head/sys/net80211/ieee80211_crypto.h
head/sys/net80211/ieee80211_crypto_ccmp.c
head/sys/net80211/ieee80211_crypto_tkip.c
head/sys/net80211/ieee80211_freebsd.c
Modified: head/sys/net80211/ieee80211_crypto.h
==============================================================================
--- head/sys/net80211/ieee80211_crypto.h Fri Jun 5 22:36:17 2009 (r193540)
+++ head/sys/net80211/ieee80211_crypto.h Fri Jun 5 23:10:30 2009 (r193541)
@@ -236,7 +236,7 @@ ieee80211_crypto_resetkey(struct ieee802
*/
void ieee80211_notify_replay_failure(struct ieee80211vap *,
const struct ieee80211_frame *, const struct ieee80211_key *,
- uint64_t rsc);
+ uint64_t rsc, int tid);
void ieee80211_notify_michael_failure(struct ieee80211vap *,
const struct ieee80211_frame *, u_int keyix);
#endif /* defined(__KERNEL__) || defined(_KERNEL) */
Modified: head/sys/net80211/ieee80211_crypto_ccmp.c
==============================================================================
--- head/sys/net80211/ieee80211_crypto_ccmp.c Fri Jun 5 22:36:17 2009 (r193540)
+++ head/sys/net80211/ieee80211_crypto_ccmp.c Fri Jun 5 23:10:30 2009 (r193541)
@@ -230,7 +230,7 @@ ccmp_decap(struct ieee80211_key *k, stru
/*
* Replay violation.
*/
- ieee80211_notify_replay_failure(vap, wh, k, pn);
+ ieee80211_notify_replay_failure(vap, wh, k, pn, tid);
vap->iv_stats.is_rx_ccmpreplay++;
return 0;
}
Modified: head/sys/net80211/ieee80211_crypto_tkip.c
==============================================================================
--- head/sys/net80211/ieee80211_crypto_tkip.c Fri Jun 5 22:36:17 2009 (r193540)
+++ head/sys/net80211/ieee80211_crypto_tkip.c Fri Jun 5 23:10:30 2009 (r193541)
@@ -284,7 +284,7 @@ tkip_decap(struct ieee80211_key *k, stru
/*
* Replay violation; notify upper layer.
*/
- ieee80211_notify_replay_failure(vap, wh, k, ctx->rx_rsc);
+ ieee80211_notify_replay_failure(vap, wh, k, ctx->rx_rsc, tid);
vap->iv_stats.is_rx_tkipreplay++;
return 0;
}
Modified: head/sys/net80211/ieee80211_freebsd.c
==============================================================================
--- head/sys/net80211/ieee80211_freebsd.c Fri Jun 5 22:36:17 2009 (r193540)
+++ head/sys/net80211/ieee80211_freebsd.c Fri Jun 5 23:10:30 2009 (r193541)
@@ -528,14 +528,14 @@ ieee80211_notify_scan_done(struct ieee80
void
ieee80211_notify_replay_failure(struct ieee80211vap *vap,
const struct ieee80211_frame *wh, const struct ieee80211_key *k,
- u_int64_t rsc)
+ u_int64_t rsc, int tid)
{
struct ifnet *ifp = vap->iv_ifp;
IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_CRYPTO, wh->i_addr2,
"%s replay detected <rsc %ju, csc %ju, keyix %u rxkeyix %u>",
k->wk_cipher->ic_name, (intmax_t) rsc,
- (intmax_t) k->wk_keyrsc[IEEE80211_NONQOS_TID],
+ (intmax_t) k->wk_keyrsc[tid],
k->wk_keyix, k->wk_rxkeyix);
if (ifp != NULL) { /* NB: for cipher test modules */
@@ -548,7 +548,7 @@ ieee80211_notify_replay_failure(struct i
iev.iev_keyix = k->wk_rxkeyix;
else
iev.iev_keyix = k->wk_keyix;
- iev.iev_keyrsc = k->wk_keyrsc[0]; /* XXX need tid */
+ iev.iev_keyrsc = k->wk_keyrsc[tid];
iev.iev_rsc = rsc;
CURVNET_SET(ifp->if_vnet);
rt_ieee80211msg(ifp, RTM_IEEE80211_REPLAY, &iev, sizeof(iev));
More information about the svn-src-head
mailing list