added EAP PEAP and MSTLV protocols
authorAndreas Steffen <andreas.steffen@strongswan.org>
Tue, 5 Apr 2011 15:59:49 +0000 (17:59 +0200)
committerAndreas Steffen <andreas.steffen@strongswan.org>
Tue, 5 Apr 2011 15:59:49 +0000 (17:59 +0200)
src/libstrongswan/eap/eap.c
src/libstrongswan/eap/eap.h

index 770c31c..11b475d 100644 (file)
@@ -44,9 +44,12 @@ ENUM_NEXT(eap_type_names, EAP_TTLS, EAP_TTLS, EAP_SIM,
        "EAP_TTLS");
 ENUM_NEXT(eap_type_names, EAP_AKA, EAP_AKA, EAP_TTLS,
        "EAP_AKA");
-ENUM_NEXT(eap_type_names, EAP_MSCHAPV2, EAP_MSCHAPV2, EAP_AKA,
+ENUM_NEXT(eap_type_names, EAP_PEAP, EAP_MSCHAPV2, EAP_AKA,
+       "EAP_PEAP",
        "EAP_MSCHAPV2");
-ENUM_NEXT(eap_type_names, EAP_TNC, EAP_TNC, EAP_MSCHAPV2,
+ENUM_NEXT(eap_type_names, EAP_MSTLV, EAP_MSTLV, EAP_MSCHAPV2,
+       "EAP_MSTLV");
+ENUM_NEXT(eap_type_names, EAP_TNC, EAP_TNC, EAP_MSTLV,
        "EAP_TNC");
 ENUM_NEXT(eap_type_names, EAP_DYNAMIC, EAP_EXPERIMENTAL, EAP_TNC,
        "EAP_DYNAMIC",
@@ -70,9 +73,12 @@ ENUM_NEXT(eap_type_short_names, EAP_TTLS, EAP_TTLS, EAP_SIM,
        "TTLS");
 ENUM_NEXT(eap_type_short_names, EAP_AKA, EAP_AKA, EAP_TTLS,
        "AKA");
-ENUM_NEXT(eap_type_short_names, EAP_MSCHAPV2, EAP_MSCHAPV2, EAP_AKA,
+ENUM_NEXT(eap_type_short_names, EAP_PEAP, EAP_MSCHAPV2, EAP_AKA,
+       "PEAP",
        "MSCHAPV2");
-ENUM_NEXT(eap_type_short_names, EAP_TNC, EAP_TNC, EAP_MSCHAPV2,
+ENUM_NEXT(eap_type_short_names, EAP_MSTLV, EAP_MSTLV, EAP_MSCHAPV2,
+       "MSTLV");
+ENUM_NEXT(eap_type_short_names, EAP_TNC, EAP_TNC, EAP_MSTLV,
        "TNC");
 ENUM_NEXT(eap_type_short_names, EAP_DYNAMIC, EAP_EXPERIMENTAL, EAP_TNC,
        "DYN",
@@ -117,6 +123,7 @@ eap_type_t eap_type_from_string(char *name)
                {"ttls",                EAP_TTLS},
                {"sim",                 EAP_SIM},
                {"aka",                 EAP_AKA},
+               {"peap",                EAP_PEAP},
                {"mschapv2",    EAP_MSCHAPV2},
                {"tnc",                 EAP_TNC},
                {"radius",              EAP_RADIUS},
index 8b093de..945e4bc 100644 (file)
@@ -60,7 +60,9 @@ enum eap_type_t {
        EAP_SIM = 18,
        EAP_TTLS = 21,
        EAP_AKA = 23,
+       EAP_PEAP = 25,
        EAP_MSCHAPV2 = 26,
+       EAP_MSTLV = 33, 
        EAP_TNC = 38,
        /** select EAP method dynamically based on i.e. EAP-Identity */
        EAP_DYNAMIC = 252,
@@ -81,6 +83,17 @@ extern enum_name_t *eap_type_names;
 extern enum_name_t *eap_type_short_names;
 
 /**
+ * EAP packet format
+ */
+typedef struct __attribute__((packed)) {
+       u_int8_t code;
+       u_int8_t identifier;
+       u_int16_t length;
+       u_int8_t type;
+       u_int8_t data;
+} eap_packet_t;
+
+/**
  * Lookup the EAP method type from a string.
  *
  * @param name         EAP method name (such as "md5", "aka")