14 lines
		
	
	
		
			550 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			14 lines
		
	
	
		
			550 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
--- a/net80211/ieee80211_crypto_ccmp.c
 | 
						|
+++ b/net80211/ieee80211_crypto_ccmp.c
 | 
						|
@@ -273,7 +273,9 @@ ccmp_decap(struct ieee80211_key *k, stru
 | 
						|
 		tid = ((struct ieee80211_qosframe *)wh)->i_qos[0] & IEEE80211_QOS_TID;
 | 
						|
 	/* NB: assume IEEE80211_WEP_MINLEN covers the extended IV */
 | 
						|
 	pn = READ_6(ivp[0], ivp[1], ivp[4], ivp[5], ivp[6], ivp[7]);
 | 
						|
-	if (pn && pn <= k->wk_keyrsc[tid]) {
 | 
						|
+	if ((vap->iv_opmode != IEEE80211_M_IBSS) &&
 | 
						|
+	    (vap->iv_opmode != IEEE80211_M_AHDEMO) &&
 | 
						|
+	    (pn && pn <= k->wk_keyrsc[tid])) {
 | 
						|
 		/*
 | 
						|
 		 * Replay violation.
 | 
						|
 		 */
 |