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.
 | |
|  		 */
 | 
