#include "includes.h"
#include "common.h"
#include "crypto/ms_funcs.h"
#include "crypto/sha1.h"
#include "crypto/tls.h"
#include "eap_server/eap_i.h"
#include "eap_server/eap_tls_common.h"
#include "eap_common/chap.h"
#include "eap_common/eap_ttls.h"
Go to the source code of this file.
Classes | |
struct | eap_ttls_avp |
struct | eap_ttls_data |
Defines | |
#define | EAP_TTLS_VERSION 0 /* TTLSv1 implementation is not yet complete */ |
#define | MSCHAPV2_KEY_LEN 16 |
Functions | |
int | eap_server_ttls_register (void) |
static struct wpabuf * | eap_ttls_avp_encapsulate (struct wpabuf *resp, u32 avp_code, int mandatory) |
static u8 * | eap_ttls_avp_hdr (u8 *avphdr, u32 avp_code, u32 vendor_id, int mandatory, size_t len) |
static int | eap_ttls_avp_parse (struct wpabuf *buf, struct eap_ttls_avp *parse) |
static struct wpabuf * | eap_ttls_build_phase2_eap_req (struct eap_sm *sm, struct eap_ttls_data *data, u8 id) |
static struct wpabuf * | eap_ttls_build_phase2_mschapv2 (struct eap_sm *sm, struct eap_ttls_data *data) |
static struct wpabuf * | eap_ttls_build_phase_finished (struct eap_sm *sm, struct eap_ttls_data *data, int final) |
static struct wpabuf * | eap_ttls_build_start (struct eap_sm *sm, struct eap_ttls_data *data, u8 id) |
static struct wpabuf * | eap_ttls_buildReq (struct eap_sm *sm, void *priv, u8 id) |
static Boolean | eap_ttls_check (struct eap_sm *sm, void *priv, struct wpabuf *respData) |
static u8 * | eap_ttls_getKey (struct eap_sm *sm, void *priv, size_t *len) |
static int | eap_ttls_ia_permute_inner_secret (struct eap_sm *sm, struct eap_ttls_data *data, const u8 *key, size_t key_len) |
static u8 * | eap_ttls_implicit_challenge (struct eap_sm *sm, struct eap_ttls_data *data, size_t len) |
static void * | eap_ttls_init (struct eap_sm *sm) |
static Boolean | eap_ttls_isDone (struct eap_sm *sm, void *priv) |
static Boolean | eap_ttls_isSuccess (struct eap_sm *sm, void *priv) |
static int | eap_ttls_phase2_eap_init (struct eap_sm *sm, struct eap_ttls_data *data, EapType eap_type) |
static void | eap_ttls_process (struct eap_sm *sm, void *priv, struct wpabuf *respData) |
static void | eap_ttls_process_msg (struct eap_sm *sm, void *priv, const struct wpabuf *respData) |
static void | eap_ttls_process_phase2 (struct eap_sm *sm, struct eap_ttls_data *data, struct wpabuf *in_buf) |
static void | eap_ttls_process_phase2_chap (struct eap_sm *sm, struct eap_ttls_data *data, const u8 *challenge, size_t challenge_len, const u8 *password, size_t password_len) |
static void | eap_ttls_process_phase2_eap (struct eap_sm *sm, struct eap_ttls_data *data, const u8 *eap, size_t eap_len) |
static void | eap_ttls_process_phase2_eap_response (struct eap_sm *sm, struct eap_ttls_data *data, u8 *in_data, size_t in_len) |
static void | eap_ttls_process_phase2_mschap (struct eap_sm *sm, struct eap_ttls_data *data, u8 *challenge, size_t challenge_len, u8 *response, size_t response_len) |
static void | eap_ttls_process_phase2_mschapv2 (struct eap_sm *sm, struct eap_ttls_data *data, u8 *challenge, size_t challenge_len, u8 *response, size_t response_len) |
static void | eap_ttls_process_phase2_pap (struct eap_sm *sm, struct eap_ttls_data *data, const u8 *user_password, size_t user_password_len) |
static int | eap_ttls_process_version (struct eap_sm *sm, void *priv, int peer_version) |
static void | eap_ttls_reset (struct eap_sm *sm, void *priv) |
static void | eap_ttls_start_tnc (struct eap_sm *sm, struct eap_ttls_data *data) |
static void | eap_ttls_state (struct eap_ttls_data *data, int state) |
static const char * | eap_ttls_state_txt (int state) |
static u8 * | eap_ttls_v1_derive_key (struct eap_sm *sm, struct eap_ttls_data *data) |
#define EAP_TTLS_VERSION 0 /* TTLSv1 implementation is not yet complete */ |
Definition at line 32 of file eap_server_ttls.c.
#define MSCHAPV2_KEY_LEN 16 |
Definition at line 36 of file eap_server_ttls.c.
int eap_server_ttls_register | ( | void | ) |
Definition at line 1407 of file eap_server_ttls.c.
static struct wpabuf* eap_ttls_avp_encapsulate | ( | struct wpabuf * | resp, |
u32 | avp_code, | ||
int | mandatory | ||
) | [static, read] |
Definition at line 120 of file eap_server_ttls.c.
static u8* eap_ttls_avp_hdr | ( | u8 * | avphdr, |
u32 | avp_code, | ||
u32 | vendor_id, | ||
int | mandatory, | ||
size_t | len | ||
) | [static] |
Definition at line 96 of file eap_server_ttls.c.
static int eap_ttls_avp_parse | ( | struct wpabuf * | buf, |
struct eap_ttls_avp * | parse | ||
) | [static] |
Definition at line 166 of file eap_server_ttls.c.
static struct wpabuf* eap_ttls_build_phase2_eap_req | ( | struct eap_sm * | sm, |
struct eap_ttls_data * | data, | ||
u8 | id | ||
) | [static, read] |
Definition at line 448 of file eap_server_ttls.c.
static struct wpabuf* eap_ttls_build_phase2_mschapv2 | ( | struct eap_sm * | sm, |
struct eap_ttls_data * | data | ||
) | [static, read] |
Definition at line 478 of file eap_server_ttls.c.
static struct wpabuf* eap_ttls_build_phase_finished | ( | struct eap_sm * | sm, |
struct eap_ttls_data * | data, | ||
int | final | ||
) | [static, read] |
Definition at line 519 of file eap_server_ttls.c.
static struct wpabuf* eap_ttls_build_start | ( | struct eap_sm * | sm, |
struct eap_ttls_data * | data, | ||
u8 | id | ||
) | [static, read] |
Definition at line 426 of file eap_server_ttls.c.
static struct wpabuf* eap_ttls_buildReq | ( | struct eap_sm * | sm, |
void * | priv, | ||
u8 | id | ||
) | [static, read] |
Definition at line 527 of file eap_server_ttls.c.
static Boolean eap_ttls_check | ( | struct eap_sm * | sm, |
void * | priv, | ||
struct wpabuf * | respData | ||
) | [static] |
Definition at line 578 of file eap_server_ttls.c.
static u8* eap_ttls_getKey | ( | struct eap_sm * | sm, |
void * | priv, | ||
size_t * | len | ||
) | [static] |
Definition at line 1372 of file eap_server_ttls.c.
static int eap_ttls_ia_permute_inner_secret | ( | struct eap_sm * | sm, |
struct eap_ttls_data * | data, | ||
const u8 * | key, | ||
size_t | key_len | ||
) | [static] |
Definition at line 594 of file eap_server_ttls.c.
static u8* eap_ttls_implicit_challenge | ( | struct eap_sm * | sm, |
struct eap_ttls_data * | data, | ||
size_t | len | ||
) | [static] |
Definition at line 320 of file eap_server_ttls.c.
static void* eap_ttls_init | ( | struct eap_sm * | sm | ) | [static] |
Definition at line 374 of file eap_server_ttls.c.
static Boolean eap_ttls_isDone | ( | struct eap_sm * | sm, |
void * | priv | ||
) | [static] |
Definition at line 1317 of file eap_server_ttls.c.
static Boolean eap_ttls_isSuccess | ( | struct eap_sm * | sm, |
void * | priv | ||
) | [static] |
Definition at line 1400 of file eap_server_ttls.c.
static int eap_ttls_phase2_eap_init | ( | struct eap_sm * | sm, |
struct eap_ttls_data * | data, | ||
EapType | eap_type | ||
) | [static] |
Definition at line 918 of file eap_server_ttls.c.
static void eap_ttls_process | ( | struct eap_sm * | sm, |
void * | priv, | ||
struct wpabuf * | respData | ||
) | [static] |
Definition at line 1306 of file eap_server_ttls.c.
static void eap_ttls_process_msg | ( | struct eap_sm * | sm, |
void * | priv, | ||
const struct wpabuf * | respData | ||
) | [static] |
Definition at line 1261 of file eap_server_ttls.c.
static void eap_ttls_process_phase2 | ( | struct eap_sm * | sm, |
struct eap_ttls_data * | data, | ||
struct wpabuf * | in_buf | ||
) | [static] |
Definition at line 1103 of file eap_server_ttls.c.
static void eap_ttls_process_phase2_chap | ( | struct eap_sm * | sm, |
struct eap_ttls_data * | data, | ||
const u8 * | challenge, | ||
size_t | challenge_len, | ||
const u8 * | password, | ||
size_t | password_len | ||
) | [static] |
Definition at line 652 of file eap_server_ttls.c.
static void eap_ttls_process_phase2_eap | ( | struct eap_sm * | sm, |
struct eap_ttls_data * | data, | ||
const u8 * | eap, | ||
size_t | eap_len | ||
) | [static] |
Definition at line 1055 of file eap_server_ttls.c.
static void eap_ttls_process_phase2_eap_response | ( | struct eap_sm * | sm, |
struct eap_ttls_data * | data, | ||
u8 * | in_data, | ||
size_t | in_len | ||
) | [static] |
Definition at line 939 of file eap_server_ttls.c.
static void eap_ttls_process_phase2_mschap | ( | struct eap_sm * | sm, |
struct eap_ttls_data * | data, | ||
u8 * | challenge, | ||
size_t | challenge_len, | ||
u8 * | response, | ||
size_t | response_len | ||
) | [static] |
Definition at line 713 of file eap_server_ttls.c.
static void eap_ttls_process_phase2_mschapv2 | ( | struct eap_sm * | sm, |
struct eap_ttls_data * | data, | ||
u8 * | challenge, | ||
size_t | challenge_len, | ||
u8 * | response, | ||
size_t | response_len | ||
) | [static] |
Definition at line 778 of file eap_server_ttls.c.
static void eap_ttls_process_phase2_pap | ( | struct eap_sm * | sm, |
struct eap_ttls_data * | data, | ||
const u8 * | user_password, | ||
size_t | user_password_len | ||
) | [static] |
Definition at line 625 of file eap_server_ttls.c.
static int eap_ttls_process_version | ( | struct eap_sm * | sm, |
void * | priv, | ||
int | peer_version | ||
) | [static] |
Definition at line 1237 of file eap_server_ttls.c.
static void eap_ttls_reset | ( | struct eap_sm * | sm, |
void * | priv | ||
) | [static] |
Definition at line 413 of file eap_server_ttls.c.
static void eap_ttls_start_tnc | ( | struct eap_sm * | sm, |
struct eap_ttls_data * | data | ||
) | [static] |
Definition at line 1218 of file eap_server_ttls.c.
static void eap_ttls_state | ( | struct eap_ttls_data * | data, |
int | state | ||
) | [static] |
Definition at line 87 of file eap_server_ttls.c.
static const char* eap_ttls_state_txt | ( | int | state | ) | [static] |
Definition at line 62 of file eap_server_ttls.c.
static u8* eap_ttls_v1_derive_key | ( | struct eap_sm * | sm, |
struct eap_ttls_data * | data | ||
) | [static] |
Definition at line 1324 of file eap_server_ttls.c.