Search Linux Wireless

Re: d80211: Fix TKIP key type

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tuesday 06 February 2007 16:33, Michael Wu wrote:
> d80211: Fix TKIP key type
> 
> Avoid the messy typecasting and let drivers handle byteordering.
> 
> Signed-off-by: Michael Wu <flamingice@xxxxxxxxxxxx>

Jiri, can you avoid pulling this patch, yet?
I am trying to get a better solution for the whole TKIP stuff
that actually works with bcm43xx. My patch will fix this issue then, too.

> diff --git a/include/net/d80211.h b/include/net/d80211.h
> index 65a5d36..0bd6b15 100644
> --- a/include/net/d80211.h
> +++ b/include/net/d80211.h
> @@ -202,7 +202,10 @@ struct ieee80211_tx_control {
>  				 * hw->set_key() */
>  	u8 icv_len;		/* length of the ICV/MIC field in octets */
>  	u8 iv_len;		/* length of the IV field in octets */
> -	u8 tkip_key[16];	/* generated phase2/phase1 key for hw TKIP */
> +	union {
> +		u16 phase1[5];
> +		u8 phase2[16];
> +	} tkip;			/* generated phase2/phase1 key for hw TKIP */
>  	u8 queue;		/* hardware queue to use for this frame;
>  				 * 0 = highest, hw->queues-1 = lowest */
>  	u8 sw_retry_attempt;	/* number of times hw has tried to
> diff --git a/net/d80211/ieee80211_i.h b/net/d80211/ieee80211_i.h
> diff --git a/net/d80211/ieee80211_ioctl.c b/net/d80211/ieee80211_ioctl.c
> diff --git a/net/d80211/ieee80211_sta.c b/net/d80211/ieee80211_sta.c
> diff --git a/net/d80211/wpa.c b/net/d80211/wpa.c
> index 7b64abf..d5ef61a 100644
> --- a/net/d80211/wpa.c
> +++ b/net/d80211/wpa.c
> @@ -344,12 +344,12 @@ skip_iv_inc:
>  
>  		if (flags & IEEE80211_HW_TKIP_REQ_PHASE2_KEY)
>  			ieee80211_tkip_gen_rc4key(key, hdr->addr2,
> -						  tx->u.tx.control->tkip_key);
> +						  tx->u.tx.control->tkip.phase2);
>  		else if (flags & IEEE80211_HW_TKIP_REQ_PHASE1_KEY) {
>  			if (key->u.tkip.iv16 == 0 ||
>  			    !key->u.tkip.tx_initialized) {
>  				ieee80211_tkip_gen_phase1key(key, hdr->addr2,
> -					    (u16 *)tx->u.tx.control->tkip_key);
> +					    tx->u.tx.control->tkip.phase1);
>  				key->u.tkip.tx_initialized = 1;
>  				tx->u.tx.control->flags |=
>  					    IEEE80211_TXCTL_TKIP_NEW_PHASE1_KEY;
> 

-- 
Greetings Michael.
-
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux