1
8
9
10
11
12
13
14
15
16
17
18
24
25
26
27
28
29
31
32
34
35
36
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
62
63
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
108
109
114
115
116
117
118
119
120
121
122
123
124
125
/* ... */
#ifndef EAP_DEFS_H
#define EAP_DEFS_H
#ifdef _MSC_VER
#pragma pack(push, 1)
#endif
struct eap_hdr {
u8 code;
u8 identifier;
be16 length;
}{ ... } STRUCT_PACKED;
#ifdef _MSC_VER
#pragma pack(pop)
#endif
enum { EAP_CODE_REQUEST = 1, EAP_CODE_RESPONSE = 2, EAP_CODE_SUCCESS = 3,
EAP_CODE_FAILURE = 4, EAP_CODE_INITIATE = 5, EAP_CODE_FINISH = 6 }{ ... };
/* ... */
enum eap_erp_type {
EAP_ERP_TYPE_REAUTH_START = 1,
EAP_ERP_TYPE_REAUTH = 2,
}{ ... };
enum eap_erp_tlv_type {
EAP_ERP_TLV_KEYNAME_NAI = 1,
EAP_ERP_TV_RRK_LIFETIME = 2,
EAP_ERP_TV_RMSK_LIFETIME = 3,
EAP_ERP_TLV_DOMAIN_NAME = 4,
EAP_ERP_TLV_CRYPTOSUITES = 5,
EAP_ERP_TLV_AUTHORIZATION_INDICATION = 6,
EAP_ERP_TLV_CALLED_STATION_ID = 128,
EAP_ERP_TLV_CALLING_STATION_ID = 129,
EAP_ERP_TLV_NAS_IDENTIFIER = 130,
EAP_ERP_TLV_NAS_IP_ADDRESS = 131,
EAP_ERP_TLV_NAS_IPV6_ADDRESS = 132,
}{ ... };
enum eap_erp_cryptosuite {
EAP_ERP_CS_HMAC_SHA256_64 = 1,
EAP_ERP_CS_HMAC_SHA256_128 = 2,
EAP_ERP_CS_HMAC_SHA256_256 = 3,
}{ ... };
/* ... */
typedef enum eap_type {
EAP_TYPE_NONE = 0,
EAP_TYPE_IDENTITY = 1 ,
EAP_TYPE_NOTIFICATION = 2 ,
EAP_TYPE_NAK = 3 ,
EAP_TYPE_MD5 = 4,
EAP_TYPE_OTP = 5 ,
EAP_TYPE_GTC = 6,
EAP_TYPE_TLS = 13 ,
EAP_TYPE_LEAP = 17 ,
EAP_TYPE_SIM = 18 ,
EAP_TYPE_TTLS = 21 ,
EAP_TYPE_AKA = 23 ,
EAP_TYPE_PEAP = 25 ,
EAP_TYPE_MSCHAPV2 = 26 ,
EAP_TYPE_TLV = 33 ,
EAP_TYPE_TNC = 38
/* ... */,
EAP_TYPE_FAST = 43 ,
EAP_TYPE_PAX = 46 ,
EAP_TYPE_PSK = 47 ,
EAP_TYPE_SAKE = 48 ,
EAP_TYPE_IKEV2 = 49 ,
EAP_TYPE_AKA_PRIME = 50 ,
EAP_TYPE_GPSK = 51 ,
EAP_TYPE_PWD = 52 ,
EAP_TYPE_EKE = 53 ,
EAP_TYPE_TEAP = 55 ,
EAP_TYPE_EXPANDED = 254
}{ ... } EapType;
enum {
EAP_VENDOR_IETF = 0,
EAP_VENDOR_MICROSOFT = 0x000137 ,
EAP_VENDOR_WFA = 0x00372A ,
EAP_VENDOR_HOSTAP = 39068 ,
EAP_VENDOR_WFA_NEW = 40808
}{ ... };
struct eap_expand {
u8 vendor_id[3];
be32 vendor_type;
u8 opcode;
}{ ... } STRUCT_PACKED;
#define EAP_VENDOR_UNAUTH_TLS EAP_VENDOR_HOSTAP
#define EAP_VENDOR_TYPE_UNAUTH_TLS 1
#define EAP_VENDOR_WFA_UNAUTH_TLS 13
#define EAP_MSK_LEN 64
#define EAP_EMSK_LEN 64
#define EAP_EMSK_NAME_LEN 8
#define ERP_MAX_KEY_LEN 647 defines
/* ... */
#endif