From b7051ec95dd9b9ab2c13fd62fc3b9dff43e3010b Mon Sep 17 00:00:00 2001 From: benoit Date: Wed, 2 Jan 2008 21:48:29 +0000 Subject: [PATCH] Merge madwifi-dfs to trunk : r3109 Revert to the same API/ABI for crypto (used by hostapd/wpa_supplicant) as used in 0.9.3.3. Tested with hostapd & wpa_supplicant. Fixed a minor error in athkey usage display git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@3110 0192ed92-7a03-0410-a25b-9323aeb14dbd --- net80211/ieee80211_ioctl.h | 2 +- net80211/ieee80211_wireless.c | 8 +++++--- tools/athkey.c | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/net80211/ieee80211_ioctl.h b/net80211/ieee80211_ioctl.h index 988449d..5d422b8 100644 --- a/net80211/ieee80211_ioctl.h +++ b/net80211/ieee80211_ioctl.h @@ -221,7 +221,7 @@ struct ieee80211req_key { * to IEEE80211_KEYIX_NONE when deleting a unicast key. */ struct ieee80211req_del_key { - ieee80211_keyix_t idk_keyix; /* key index */ + u_int8_t idk_keyix; /* key index */ u_int8_t idk_macaddr[IEEE80211_ADDR_LEN]; }; diff --git a/net80211/ieee80211_wireless.c b/net80211/ieee80211_wireless.c index aafa504..a6032da 100644 --- a/net80211/ieee80211_wireless.c +++ b/net80211/ieee80211_wireless.c @@ -171,6 +171,8 @@ getiwkeyix(struct ieee80211vap *vap, const struct iw_point* erq, ieee80211_keyix ieee80211_keyix_t kix; kix = erq->flags & IW_ENCODE_INDEX; + if ((erq->flags & IW_ENCODE_INDEX) == (u_int8_t)IEEE80211_KEYIX_NONE) + kix = IEEE80211_KEYIX_NONE; if (kix < 1 || kix > IEEE80211_WEP_NKID) { kix = vap->iv_def_txkey; if (kix == IEEE80211_KEYIX_NONE) @@ -3397,10 +3399,10 @@ ieee80211_ioctl_delkey(struct net_device *dev, struct iw_request_info *info, ieee80211_keyix_t kix; kix = dk->idk_keyix; + if (dk->idk_keyix == (u_int8_t) IEEE80211_KEYIX_NONE) + kix = IEEE80211_KEYIX_NONE; - /* XXX: This cast can be removed when struct ieee80211req_del_key is - * fixed. */ - if (dk->idk_keyix == IEEE80211_KEYIX_NONE) { + if (kix == IEEE80211_KEYIX_NONE) { struct ieee80211_node *ni; ni = ieee80211_find_node(&ic->ic_sta, dk->idk_macaddr); diff --git a/tools/athkey.c b/tools/athkey.c index 8f91d74..755b98f 100644 --- a/tools/athkey.c +++ b/tools/athkey.c @@ -207,7 +207,7 @@ getcipher(const char *name) static void usage(void) { - fprintf(stderr, "usage: %s [-i device] keyix cipher keyval [mac]\n", + fprintf(stderr, "usage: %s [-i device] [-d] keyix cipher keyval [mac]\n", progname); exit(-1); } -- 2.35.1