diff options
author | Damien Bergamini <damien@cvs.openbsd.org> | 2008-04-16 18:32:16 +0000 |
---|---|---|
committer | Damien Bergamini <damien@cvs.openbsd.org> | 2008-04-16 18:32:16 +0000 |
commit | 792a7af405f1bcd074df2d192736f0ff71180ce6 (patch) | |
tree | d1c8127338d31609e63b5a8c220604e11d416fa8 /sys/net80211/ieee80211.h | |
parent | c257d1252aa088da82103c7952e3c42933d743da (diff) |
Kernel implementation of the 4-way handshake and group-key
handshake protocols (both supplicant and authenticator state
machines) as defined in the IEEE 802.11i standard.
Software implementation of the TKIP (Temporal Key Integrity
Protocol) and CCMP (CTR with CBC-MAC Protocol) protocols.
This diff doesn't implement any of the 802.1X authentication
protocols and thus only PSK authentication (using pre-shared
keys) is currently supported.
In concrete terms, this adds support for WPA-PSK and WPA2-PSK
protocols, both in station and hostap modes.
The following drivers are marked as WPA-capable and should
work: bwi(4), malo(4), ral(4), iwn(4), wpi(4), ural(4),
rum(4), upgt(4), and zyd(4)
The following options have been added to ifconfig(8):
wpa, wpapsk, wpaprotos, wpaakms, wpaciphers, wpagroupcipher
wpa-psk(8) can be used to generate keys from passphrases.
tested by many@
ok deraadt@
Diffstat (limited to 'sys/net80211/ieee80211.h')
-rw-r--r-- | sys/net80211/ieee80211.h | 20 |
1 files changed, 15 insertions, 5 deletions
diff --git a/sys/net80211/ieee80211.h b/sys/net80211/ieee80211.h index 3ed7d8ff17b..8914594ed74 100644 --- a/sys/net80211/ieee80211.h +++ b/sys/net80211/ieee80211.h @@ -1,4 +1,4 @@ -/* $OpenBSD: ieee80211.h,v 1.34 2007/08/29 19:57:17 damien Exp $ */ +/* $OpenBSD: ieee80211.h,v 1.35 2008/04/16 18:32:15 damien Exp $ */ /* $NetBSD: ieee80211.h,v 1.6 2004/04/30 23:51:53 dyoung Exp $ */ /*- @@ -466,14 +466,16 @@ enum { IEEE80211_REASON_IE_INVALID = 13, IEEE80211_REASON_MIC_FAILURE = 14, - + IEEE80211_REASON_4WAY_TIMEOUT = 15, + IEEE80211_REASON_GROUP_TIMEOUT = 16, + IEEE80211_REASON_RSN_DIFFERENT_IE = 17, IEEE80211_REASON_BAD_GROUP_CIPHER = 18, IEEE80211_REASON_BAD_PAIRWISE_CIPHER = 19, IEEE80211_REASON_BAD_AKMP = 20, IEEE80211_REASON_RSN_IE_VER_UNSUP = 21, IEEE80211_REASON_RSN_IE_BAD_CAP = 22, - IEEE80211_REASON_CIPHER_REJ = 24 + IEEE80211_REASON_CIPHER_REJ_POLICY = 24 }; /* @@ -497,7 +499,15 @@ enum { IEEE80211_STATUS_TOO_MANY_STATIONS = 22, IEEE80211_STATUS_RATES = 23, IEEE80211_STATUS_SHORTSLOT_REQUIRED = 25, - IEEE80211_STATUS_DSSSOFDM_REQUIRED = 26 + IEEE80211_STATUS_DSSSOFDM_REQUIRED = 26, + + IEEE80211_STATUS_IE_INVALID = 40, + IEEE80211_STATUS_BAD_GROUP_CIPHER = 41, + IEEE80211_STATUS_BAD_PAIRWISE_CIPHER = 42, + IEEE80211_STATUS_BAD_AKMP = 43, + IEEE80211_STATUS_RSN_IE_VER_UNSUP = 44, + + IEEE80211_STATUS_CIPHER_REJ_POLICY = 46, }; #define IEEE80211_WEP_KEYLEN 5 /* 40bit */ @@ -630,7 +640,7 @@ struct ieee80211_eapol_key { /* IEEE Std 802.1X-2004, 7.6.1 */ #define EAPOL_KEY_DESC_RC4 1 /* deprecated */ #define EAPOL_KEY_DESC_IEEE80211 2 -#define EAPOL_KEY_DESC_WPA1 254 /* non-standard WPA1 */ +#define EAPOL_KEY_DESC_WPA 254 /* non-standard WPA */ u_int8_t info[2]; #define EAPOL_KEY_VERSION_MASK 0x7 |