Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 150445
b: refs/heads/master
c: b4703a2
h: refs/heads/master
i:
  150443: a7aa6ae
v: v3
  • Loading branch information
Jussi Kivilinna authored and John W. Linville committed May 22, 2009
1 parent f587d20 commit 6b25b28
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 9656e85ba24a9814f1705e0e3639281d15d6a419
refs/heads/master: b4703a2e32fdffbf83caf699817b21c4fc6d987c
23 changes: 18 additions & 5 deletions trunk/drivers/net/wireless/rndis_wlan.c
Original file line number Diff line number Diff line change
Expand Up @@ -196,6 +196,18 @@ enum ndis_80211_priv_filter {
ndis_80211_priv_8021x_wep
};

enum ndis_80211_addkey_bits {
ndis_80211_addkey_8021x_auth = cpu_to_le32(1 << 28),
ndis_80211_addkey_set_init_recv_seq = cpu_to_le32(1 << 29),
ndis_80211_addkey_pairwise_key = cpu_to_le32(1 << 30),
ndis_80211_addkey_transmit_key = cpu_to_le32(1 << 31),
};

enum ndis_80211_addwep_bits {
ndis_80211_addwep_perclient_key = cpu_to_le32(1 << 30),
ndis_80211_addwep_transmit_key = cpu_to_le32(1 << 31),
};

struct ndis_80211_ssid {
__le32 length;
u8 essid[NDIS_802_11_LENGTH_SSID];
Expand Down Expand Up @@ -998,7 +1010,7 @@ static int add_wep_key(struct usbnet *usbdev, char *key, int key_len, int index)
memcpy(&ndis_key.material, key, key_len);

if (index == priv->encr_tx_key_index) {
ndis_key.index |= cpu_to_le32(1 << 31);
ndis_key.index |= ndis_80211_addwep_transmit_key;
ret = set_encr_mode(usbdev, IW_AUTH_CIPHER_WEP104,
IW_AUTH_CIPHER_NONE);
if (ret)
Expand Down Expand Up @@ -1044,7 +1056,8 @@ static int remove_key(struct usbnet *usbdev, int index, u8 bssid[ETH_ALEN])
if (bssid) {
/* pairwise key */
if (memcmp(bssid, ffff_bssid, ETH_ALEN) != 0)
remove_key.index |= cpu_to_le32(1 << 30);
remove_key.index |=
ndis_80211_addkey_pairwise_key;
memcpy(remove_key.bssid, bssid,
sizeof(remove_key.bssid));
} else
Expand Down Expand Up @@ -1626,7 +1639,7 @@ static int rndis_iw_set_encode_ext(struct net_device *dev,

if (ext->ext_flags & IW_ENCODE_EXT_RX_SEQ_VALID) {
memcpy(ndis_key.rsc, ext->rx_seq, 6);
ndis_key.index |= cpu_to_le32(1 << 29);
ndis_key.index |= ndis_80211_addkey_set_init_recv_seq;
}

addr = ext->addr.sa_data;
Expand All @@ -1638,12 +1651,12 @@ static int rndis_iw_set_encode_ext(struct net_device *dev,
get_bssid(usbdev, ndis_key.bssid);
} else {
/* pairwise key */
ndis_key.index |= cpu_to_le32(1 << 30);
ndis_key.index |= ndis_80211_addkey_pairwise_key;
memcpy(ndis_key.bssid, addr, ETH_ALEN);
}

if (ext->ext_flags & IW_ENCODE_EXT_SET_TX_KEY)
ndis_key.index |= cpu_to_le32(1 << 31);
ndis_key.index |= ndis_80211_addkey_transmit_key;

if (ext->alg == IW_ENCODE_ALG_TKIP && ext->key_len == 32) {
/* wpa_supplicant gives us the Michael MIC RX/TX keys in
Expand Down

0 comments on commit 6b25b28

Please sign in to comment.