#include "includes.h"
#include "common.h"
#include "crypto/aes_wrap.h"
#include "crypto/sha1.h"
#include "crypto/tls.h"
#include "eap_common/eap_tlv_common.h"
#include "eap_common/eap_fast_common.h"
#include "eap_i.h"
#include "eap_tls_common.h"
Go to the source code of this file.
Classes | |
struct | eap_fast_data |
Defines | |
#define | PAC_OPAQUE_TYPE_IDENTITY 3 |
#define | PAC_OPAQUE_TYPE_KEY 1 |
#define | PAC_OPAQUE_TYPE_LIFETIME 2 |
#define | PAC_OPAQUE_TYPE_PAD 0 |
Functions | |
static struct wpabuf * | eap_fast_build_crypto_binding (struct eap_sm *sm, struct eap_fast_data *data) |
static struct wpabuf * | eap_fast_build_pac (struct eap_sm *sm, struct eap_fast_data *data) |
static struct wpabuf * | eap_fast_build_phase2_req (struct eap_sm *sm, struct eap_fast_data *data, u8 id) |
static struct wpabuf * | eap_fast_build_start (struct eap_sm *sm, struct eap_fast_data *data, u8 id) |
static struct wpabuf * | eap_fast_buildReq (struct eap_sm *sm, void *priv, u8 id) |
static Boolean | eap_fast_check (struct eap_sm *sm, void *priv, struct wpabuf *respData) |
static void | eap_fast_derive_key_auth (struct eap_sm *sm, struct eap_fast_data *data) |
static void | eap_fast_derive_key_provisioning (struct eap_sm *sm, struct eap_fast_data *data) |
static int | eap_fast_encrypt_phase2 (struct eap_sm *sm, struct eap_fast_data *data, struct wpabuf *plain, int piggyback) |
static u8 * | eap_fast_get_emsk (struct eap_sm *sm, void *priv, size_t *len) |
static int | eap_fast_get_phase2_key (struct eap_sm *sm, struct eap_fast_data *data, u8 *isk, size_t isk_len) |
static u8 * | eap_fast_getKey (struct eap_sm *sm, void *priv, size_t *len) |
static void * | eap_fast_init (struct eap_sm *sm) |
static Boolean | eap_fast_isDone (struct eap_sm *sm, void *priv) |
static Boolean | eap_fast_isSuccess (struct eap_sm *sm, void *priv) |
static int | eap_fast_pac_type (u8 *pac, size_t len, u16 type) |
static int | eap_fast_parse_tlvs (struct wpabuf *data, struct eap_fast_tlv_parse *tlv) |
static int | eap_fast_phase1_done (struct eap_sm *sm, struct eap_fast_data *data) |
static int | eap_fast_phase2_init (struct eap_sm *sm, struct eap_fast_data *data, EapType eap_type) |
static void | eap_fast_process (struct eap_sm *sm, void *priv, struct wpabuf *respData) |
static void | eap_fast_process_msg (struct eap_sm *sm, void *priv, const struct wpabuf *respData) |
static int | eap_fast_process_phase1 (struct eap_sm *sm, struct eap_fast_data *data) |
static void | eap_fast_process_phase2 (struct eap_sm *sm, struct eap_fast_data *data, struct wpabuf *in_buf) |
static void | eap_fast_process_phase2_eap (struct eap_sm *sm, struct eap_fast_data *data, u8 *in_data, size_t in_len) |
static void | eap_fast_process_phase2_response (struct eap_sm *sm, struct eap_fast_data *data, u8 *in_data, size_t in_len) |
static int | eap_fast_process_phase2_start (struct eap_sm *sm, struct eap_fast_data *data) |
static void | eap_fast_process_phase2_tlvs (struct eap_sm *sm, struct eap_fast_data *data, struct wpabuf *in_data) |
static int | eap_fast_process_version (struct eap_sm *sm, void *priv, int peer_version) |
static EapType | eap_fast_req_failure (struct eap_sm *sm, struct eap_fast_data *data) |
static void | eap_fast_reset (struct eap_sm *sm, void *priv) |
static int | eap_fast_session_ticket_cb (void *ctx, const u8 *ticket, size_t len, const u8 *client_random, const u8 *server_random, u8 *master_secret) |
static void | eap_fast_state (struct eap_fast_data *data, int state) |
static const char * | eap_fast_state_txt (int state) |
static int | eap_fast_update_icmk (struct eap_sm *sm, struct eap_fast_data *data) |
static int | eap_fast_validate_crypto_binding (struct eap_fast_data *data, struct eap_tlv_crypto_binding_tlv *b, size_t bind_len) |
int | eap_server_fast_register (void) |
#define PAC_OPAQUE_TYPE_IDENTITY 3 |
Definition at line 34 of file eap_server_fast.c.
#define PAC_OPAQUE_TYPE_KEY 1 |
Definition at line 32 of file eap_server_fast.c.
#define PAC_OPAQUE_TYPE_LIFETIME 2 |
Definition at line 33 of file eap_server_fast.c.
#define PAC_OPAQUE_TYPE_PAD 0 |
Definition at line 31 of file eap_server_fast.c.
static struct wpabuf* eap_fast_build_crypto_binding | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data | |||
) | [static, read] |
Definition at line 596 of file eap_server_fast.c.
static struct wpabuf* eap_fast_build_pac | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data | |||
) | [static, read] |
Definition at line 682 of file eap_server_fast.c.
static struct wpabuf* eap_fast_build_phase2_req | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data, | |||
u8 | id | |||
) | [static, read] |
Definition at line 576 of file eap_server_fast.c.
static struct wpabuf* eap_fast_build_start | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data, | |||
u8 | id | |||
) | [static, read] |
Definition at line 523 of file eap_server_fast.c.
Definition at line 847 of file eap_server_fast.c.
static Boolean eap_fast_check | ( | struct eap_sm * | sm, | |
void * | priv, | |||
struct wpabuf * | respData | |||
) | [static] |
Definition at line 921 of file eap_server_fast.c.
static void eap_fast_derive_key_auth | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data | |||
) | [static] |
Definition at line 272 of file eap_server_fast.c.
static void eap_fast_derive_key_provisioning | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data | |||
) | [static] |
Definition at line 302 of file eap_server_fast.c.
static int eap_fast_encrypt_phase2 | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data, | |||
struct wpabuf * | plain, | |||
int | piggyback | |||
) | [static] |
Definition at line 811 of file eap_server_fast.c.
Definition at line 1564 of file eap_server_fast.c.
static int eap_fast_get_phase2_key | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data, | |||
u8 * | isk, | |||
size_t | isk_len | |||
) | [static] |
Definition at line 334 of file eap_server_fast.c.
Definition at line 1545 of file eap_server_fast.c.
static void* eap_fast_init | ( | struct eap_sm * | sm | ) | [static] |
Definition at line 412 of file eap_server_fast.c.
Definition at line 1538 of file eap_server_fast.c.
Definition at line 1583 of file eap_server_fast.c.
Definition at line 1226 of file eap_server_fast.c.
static int eap_fast_parse_tlvs | ( | struct wpabuf * | data, | |
struct eap_fast_tlv_parse * | tlv | |||
) | [static] |
Definition at line 1123 of file eap_server_fast.c.
static int eap_fast_phase1_done | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data | |||
) | [static] |
Definition at line 549 of file eap_server_fast.c.
static int eap_fast_phase2_init | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data, | |||
EapType | eap_type | |||
) | [static] |
Definition at line 937 of file eap_server_fast.c.
Definition at line 1527 of file eap_server_fast.c.
static void eap_fast_process_msg | ( | struct eap_sm * | sm, | |
void * | priv, | |||
const struct wpabuf * | respData | |||
) | [static] |
Definition at line 1499 of file eap_server_fast.c.
static int eap_fast_process_phase1 | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data | |||
) | [static] |
Definition at line 1441 of file eap_server_fast.c.
static void eap_fast_process_phase2 | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data, | |||
struct wpabuf * | in_buf | |||
) | [static] |
Definition at line 1371 of file eap_server_fast.c.
static void eap_fast_process_phase2_eap | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data, | |||
u8 * | in_data, | |||
size_t | in_len | |||
) | [static] |
Definition at line 1086 of file eap_server_fast.c.
static void eap_fast_process_phase2_response | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data, | |||
u8 * | in_data, | |||
size_t | in_len | |||
) | [static] |
Definition at line 964 of file eap_server_fast.c.
static int eap_fast_process_phase2_start | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data | |||
) | [static] |
Definition at line 1464 of file eap_server_fast.c.
static void eap_fast_process_phase2_tlvs | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data, | |||
struct wpabuf * | in_data | |||
) | [static] |
Definition at line 1241 of file eap_server_fast.c.
static int eap_fast_process_version | ( | struct eap_sm * | sm, | |
void * | priv, | |||
int | peer_version | |||
) | [static] |
Definition at line 1416 of file eap_server_fast.c.
static EapType eap_fast_req_failure | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data | |||
) | [static] |
Definition at line 116 of file eap_server_fast.c.
static void eap_fast_reset | ( | struct eap_sm * | sm, | |
void * | priv | |||
) | [static] |
Definition at line 506 of file eap_server_fast.c.
static int eap_fast_session_ticket_cb | ( | void * | ctx, | |
const u8 * | ticket, | |||
size_t | len, | |||
const u8 * | client_random, | |||
const u8 * | server_random, | |||
u8 * | master_secret | |||
) | [static] |
Definition at line 125 of file eap_server_fast.c.
static void eap_fast_state | ( | struct eap_fast_data * | data, | |
int | state | |||
) | [static] |
Definition at line 107 of file eap_server_fast.c.
static const char* eap_fast_state_txt | ( | int | state | ) | [static] |
Definition at line 80 of file eap_server_fast.c.
static int eap_fast_update_icmk | ( | struct eap_sm * | sm, | |
struct eap_fast_data * | data | |||
) | [static] |
Definition at line 379 of file eap_server_fast.c.
static int eap_fast_validate_crypto_binding | ( | struct eap_fast_data * | data, | |
struct eap_tlv_crypto_binding_tlv * | b, | |||
size_t | bind_len | |||
) | [static] |
Definition at line 1170 of file eap_server_fast.c.
int eap_server_fast_register | ( | void | ) |
Definition at line 1590 of file eap_server_fast.c.