import from HEAD
[freeradius.git] / src / modules / rlm_eap / types / rlm_eap_mschapv2 / eap_mschapv2.h
1 #ifndef _EAP_MSCHAPV2_H
2 #define _EAP_MSCHAPV2_H
3
4 #include "eap.h"
5
6 #define PW_EAP_MSCHAPV2_ACK             0
7 #define PW_EAP_MSCHAPV2_CHALLENGE       1
8 #define PW_EAP_MSCHAPV2_RESPONSE        2
9 #define PW_EAP_MSCHAPV2_SUCCESS         3
10 #define PW_EAP_MSCHAPV2_FAILURE         4
11 #define PW_EAP_MSCHAPV2_MAX_CODES       4
12
13 #define MSCHAPV2_HEADER_LEN     5
14 #define MSCHAPV2_CHALLENGE_LEN  16
15 #define MSCHAPV2_RESPONSE_LEN  50
16
17 #define MSCHAPV2_FAILURE_MESSAGE "E=691 R=0"
18 #define MSCHAPV2_FAILURE_MESSAGE_LEN 9
19 typedef struct mschapv2_header_t {
20         uint8_t opcode;
21         uint8_t mschapv2_id;
22         uint8_t ms_length[2];
23         uint8_t value_size;
24 } mschapv2_header_t;
25
26 typedef struct mschapv2_opaque_t {
27         int             code;
28         uint8_t         challenge[MSCHAPV2_CHALLENGE_LEN];
29 } mschapv2_opaque_t;
30
31 #endif /*_EAP_MSCHAPV2_H*/