diff options
| author | Jouni Malinen <j@w1.fi> | 2012-09-30 12:29:39 -0400 |
|---|---|---|
| committer | Johannes Berg <johannes.berg@intel.com> | 2012-10-17 05:02:11 -0400 |
| commit | e39e5b5e7206767a0f1be0e5cb7acbd0db87ae60 (patch) | |
| tree | e2c8641581e3ff336586bd08fbf978da72c9a514 /include/uapi/linux | |
| parent | 0f4126e8918985ccc1beb936efd4b9d1e9005a63 (diff) | |
cfg80211: Allow user space to specify non-IEs to SAE Authentication
SAE extends Authentication frames with fields that are not information
elements. NL80211_ATTR_IE is not suitable for these, so introduce a new
attribute that can be used to specify the fields needed for SAE in
station mode.
Signed-off-by: Jouni Malinen <j@w1.fi>
[change to verify that SAE is only used with authenticate command]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/nl80211.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h index 7df9b500c804..179a0c2e2f61 100644 --- a/include/uapi/linux/nl80211.h +++ b/include/uapi/linux/nl80211.h | |||
| @@ -1273,6 +1273,9 @@ enum nl80211_commands { | |||
| 1273 | * the connection request from a station. nl80211_connect_failed_reason | 1273 | * the connection request from a station. nl80211_connect_failed_reason |
| 1274 | * enum has different reasons of connection failure. | 1274 | * enum has different reasons of connection failure. |
| 1275 | * | 1275 | * |
| 1276 | * @NL80211_ATTR_SAE_DATA: SAE elements in Authentication frames. This starts | ||
| 1277 | * with the Authentication transaction sequence number field. | ||
| 1278 | * | ||
| 1276 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 1279 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 1277 | * @__NL80211_ATTR_AFTER_LAST: internal use | 1280 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| 1278 | */ | 1281 | */ |
| @@ -1530,6 +1533,8 @@ enum nl80211_attrs { | |||
| 1530 | 1533 | ||
| 1531 | NL80211_ATTR_CONN_FAILED_REASON, | 1534 | NL80211_ATTR_CONN_FAILED_REASON, |
| 1532 | 1535 | ||
| 1536 | NL80211_ATTR_SAE_DATA, | ||
| 1537 | |||
| 1533 | /* add attributes here, update the policy in nl80211.c */ | 1538 | /* add attributes here, update the policy in nl80211.c */ |
| 1534 | 1539 | ||
| 1535 | __NL80211_ATTR_AFTER_LAST, | 1540 | __NL80211_ATTR_AFTER_LAST, |
| @@ -2489,6 +2494,7 @@ enum nl80211_bss_status { | |||
| 2489 | * @NL80211_AUTHTYPE_SHARED_KEY: Shared Key authentication (WEP only) | 2494 | * @NL80211_AUTHTYPE_SHARED_KEY: Shared Key authentication (WEP only) |
| 2490 | * @NL80211_AUTHTYPE_FT: Fast BSS Transition (IEEE 802.11r) | 2495 | * @NL80211_AUTHTYPE_FT: Fast BSS Transition (IEEE 802.11r) |
| 2491 | * @NL80211_AUTHTYPE_NETWORK_EAP: Network EAP (some Cisco APs and mainly LEAP) | 2496 | * @NL80211_AUTHTYPE_NETWORK_EAP: Network EAP (some Cisco APs and mainly LEAP) |
| 2497 | * @NL80211_AUTHTYPE_SAE: Simultaneous authentication of equals | ||
| 2492 | * @__NL80211_AUTHTYPE_NUM: internal | 2498 | * @__NL80211_AUTHTYPE_NUM: internal |
| 2493 | * @NL80211_AUTHTYPE_MAX: maximum valid auth algorithm | 2499 | * @NL80211_AUTHTYPE_MAX: maximum valid auth algorithm |
| 2494 | * @NL80211_AUTHTYPE_AUTOMATIC: determine automatically (if necessary by | 2500 | * @NL80211_AUTHTYPE_AUTOMATIC: determine automatically (if necessary by |
| @@ -2500,6 +2506,7 @@ enum nl80211_auth_type { | |||
| 2500 | NL80211_AUTHTYPE_SHARED_KEY, | 2506 | NL80211_AUTHTYPE_SHARED_KEY, |
| 2501 | NL80211_AUTHTYPE_FT, | 2507 | NL80211_AUTHTYPE_FT, |
| 2502 | NL80211_AUTHTYPE_NETWORK_EAP, | 2508 | NL80211_AUTHTYPE_NETWORK_EAP, |
| 2509 | NL80211_AUTHTYPE_SAE, | ||
| 2503 | 2510 | ||
| 2504 | /* keep last */ | 2511 | /* keep last */ |
| 2505 | __NL80211_AUTHTYPE_NUM, | 2512 | __NL80211_AUTHTYPE_NUM, |
| @@ -3028,6 +3035,9 @@ enum nl80211_ap_sme_features { | |||
| 3028 | * in the interface combinations, even when it's only used for scan | 3035 | * in the interface combinations, even when it's only used for scan |
| 3029 | * and remain-on-channel. This could be due to, for example, the | 3036 | * and remain-on-channel. This could be due to, for example, the |
| 3030 | * remain-on-channel implementation requiring a channel context. | 3037 | * remain-on-channel implementation requiring a channel context. |
| 3038 | * @NL80211_FEATURE_SAE: This driver supports simultaneous authentication of | ||
| 3039 | * equals (SAE) with user space SME (NL80211_CMD_AUTHENTICATE) in station | ||
| 3040 | * mode | ||
| 3031 | */ | 3041 | */ |
| 3032 | enum nl80211_feature_flags { | 3042 | enum nl80211_feature_flags { |
| 3033 | NL80211_FEATURE_SK_TX_STATUS = 1 << 0, | 3043 | NL80211_FEATURE_SK_TX_STATUS = 1 << 0, |
| @@ -3035,6 +3045,7 @@ enum nl80211_feature_flags { | |||
| 3035 | NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2, | 3045 | NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2, |
| 3036 | NL80211_FEATURE_CELL_BASE_REG_HINTS = 1 << 3, | 3046 | NL80211_FEATURE_CELL_BASE_REG_HINTS = 1 << 3, |
| 3037 | NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = 1 << 4, | 3047 | NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = 1 << 4, |
| 3048 | NL80211_FEATURE_SAE = 1 << 5, | ||
| 3038 | }; | 3049 | }; |
| 3039 | 3050 | ||
| 3040 | /** | 3051 | /** |
