summaryrefslogtreecommitdiff
path: root/sys/net80211/ieee80211.h
diff options
context:
space:
mode:
authorDamien Bergamini <damien@cvs.openbsd.org>2008-04-16 18:32:16 +0000
committerDamien Bergamini <damien@cvs.openbsd.org>2008-04-16 18:32:16 +0000
commit792a7af405f1bcd074df2d192736f0ff71180ce6 (patch)
treed1c8127338d31609e63b5a8c220604e11d416fa8 /sys/net80211/ieee80211.h
parentc257d1252aa088da82103c7952e3c42933d743da (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.h20
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