nl80211: introduce new key attributes
We will soon want to nest key attributes into some new attribute for configuring static WEP keys at connect() and ibss_join() time, so we need nested attributes for that. However, key attributes right now are 'global'. This patch thus introduces new nested attributes for the key settings and functions for parsing them. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
John W. Linville
parent
10c836d789
commit
b9454e83ca
@@ -567,6 +567,9 @@ enum nl80211_commands {
|
||||
* @NL80211_ATTR_PREV_BSSID: previous BSSID, to be used by in ASSOCIATE
|
||||
* commands to specify using a reassociate frame
|
||||
*
|
||||
* @NL80211_ATTR_KEY: key information in a nested attribute with
|
||||
* %NL80211_KEY_* sub-attributes
|
||||
*
|
||||
* @NL80211_ATTR_MAX: highest attribute number currently defined
|
||||
* @__NL80211_ATTR_AFTER_LAST: internal use
|
||||
*/
|
||||
@@ -692,6 +695,8 @@ enum nl80211_attrs {
|
||||
|
||||
NL80211_ATTR_PREV_BSSID,
|
||||
|
||||
NL80211_ATTR_KEY,
|
||||
|
||||
/* add attributes here, update the policy in nl80211.c */
|
||||
|
||||
__NL80211_ATTR_AFTER_LAST,
|
||||
@@ -720,6 +725,7 @@ enum nl80211_attrs {
|
||||
#define NL80211_ATTR_CIPHER_SUITE_GROUP NL80211_ATTR_CIPHER_SUITE_GROUP
|
||||
#define NL80211_ATTR_WPA_VERSIONS NL80211_ATTR_WPA_VERSIONS
|
||||
#define NL80211_ATTR_AKM_SUITES NL80211_ATTR_AKM_SUITES
|
||||
#define NL80211_ATTR_KEY NL80211_ATTR_KEY
|
||||
|
||||
#define NL80211_MAX_SUPP_RATES 32
|
||||
#define NL80211_MAX_SUPP_REG_RULES 32
|
||||
@@ -1320,4 +1326,34 @@ enum nl80211_wpa_versions {
|
||||
NL80211_WPA_VERSION_2 = 1 << 1,
|
||||
};
|
||||
|
||||
/**
|
||||
* enum nl80211_key_attributes - key attributes
|
||||
* @__NL80211_KEY_INVALID: invalid
|
||||
* @NL80211_KEY_DATA: (temporal) key data; for TKIP this consists of
|
||||
* 16 bytes encryption key followed by 8 bytes each for TX and RX MIC
|
||||
* keys
|
||||
* @NL80211_KEY_IDX: key ID (u8, 0-3)
|
||||
* @NL80211_KEY_CIPHER: key cipher suite (u32, as defined by IEEE 802.11
|
||||
* section 7.3.2.25.1, e.g. 0x000FAC04)
|
||||
* @NL80211_KEY_SEQ: transmit key sequence number (IV/PN) for TKIP and
|
||||
* CCMP keys, each six bytes in little endian
|
||||
* @NL80211_KEY_DEFAULT: flag indicating default key
|
||||
* @NL80211_KEY_DEFAULT_MGMT: flag indicating default management key
|
||||
* @__NL80211_KEY_AFTER_LAST: internal
|
||||
* @NL80211_KEY_MAX: highest key attribute
|
||||
*/
|
||||
enum nl80211_key_attributes {
|
||||
__NL80211_KEY_INVALID,
|
||||
NL80211_KEY_DATA,
|
||||
NL80211_KEY_IDX,
|
||||
NL80211_KEY_CIPHER,
|
||||
NL80211_KEY_SEQ,
|
||||
NL80211_KEY_DEFAULT,
|
||||
NL80211_KEY_DEFAULT_MGMT,
|
||||
|
||||
/* keep last */
|
||||
__NL80211_KEY_AFTER_LAST,
|
||||
NL80211_KEY_MAX = __NL80211_KEY_AFTER_LAST - 1
|
||||
};
|
||||
|
||||
#endif /* __LINUX_NL80211_H */
|
||||
|
Reference in New Issue
Block a user