#include <stdlib.h>
#include <stdio.h>
#include <netinet/in.h>
#include <string.h>
#include "common.h"
#include "md5.h"
#include "sha1.h"
#include "rc4.h"
#include "aes_wrap.h"
#include "wpa.h"
#include "eloop.h"
#include "wpa_supplicant.h"
#include "config.h"
#include "l2_packet.h"
#include "eapol_sm.h"
#include "preauth.h"
#include "wpa_i.h"
Include dependency graph for wpa.c:
Go to the source code of this file.
Defines | |
#define | WPA_KEY_INFO_TYPE_MASK (BIT(0) | BIT(1) | BIT(2)) |
#define | WPA_KEY_INFO_TYPE_HMAC_MD5_RC4 BIT(0) |
#define | WPA_KEY_INFO_TYPE_HMAC_SHA1_AES BIT(1) |
#define | WPA_KEY_INFO_KEY_TYPE BIT(3) |
#define | WPA_KEY_INFO_KEY_INDEX_MASK (BIT(4) | BIT(5)) |
#define | WPA_KEY_INFO_KEY_INDEX_SHIFT 4 |
#define | WPA_KEY_INFO_INSTALL BIT(6) |
#define | WPA_KEY_INFO_TXRX BIT(6) |
#define | WPA_KEY_INFO_ACK BIT(7) |
#define | WPA_KEY_INFO_MIC BIT(8) |
#define | WPA_KEY_INFO_SECURE BIT(9) |
#define | WPA_KEY_INFO_ERROR BIT(10) |
#define | WPA_KEY_INFO_REQUEST BIT(11) |
#define | WPA_KEY_INFO_ENCR_KEY_DATA BIT(12) |
#define | RSN_SUITE "%02x-%02x-%02x-%d" |
#define | RSN_SUITE_ARG(s) (s)[0], (s)[1], (s)[2], (s)[3] |
Functions | |
int | wpa_parse_wpa_ie (const u8 *wpa_ie, size_t wpa_ie_len, struct wpa_ie_data *data) |
Parse WPA/RSN IE. | |
void | wpa_sm_key_request (struct wpa_sm *sm, int error, int pairwise) |
Send EAPOL-Key Request. | |
void | wpa_sm_aborted_cached (struct wpa_sm *sm) |
Notify WPA that PMKSA caching was aborted. | |
int | wpa_sm_rx_eapol (struct wpa_sm *sm, const u8 *src_addr, const u8 *buf, size_t len) |
Process received WPA EAPOL frames. | |
int | wpa_sm_get_mib (struct wpa_sm *sm, char *buf, size_t buflen) |
Dump text list of MIB entries. | |
wpa_sm * | wpa_sm_init (struct wpa_sm_ctx *ctx) |
Initialize WPA state machine. | |
void | wpa_sm_deinit (struct wpa_sm *sm) |
Deinitialize WPA state machine. | |
void | wpa_sm_notify_assoc (struct wpa_sm *sm, const u8 *bssid) |
Notify WPA state machine about association. | |
void | wpa_sm_notify_disassoc (struct wpa_sm *sm) |
Notify WPA state machine about disassociation. | |
void | wpa_sm_set_pmk (struct wpa_sm *sm, const u8 *pmk, size_t pmk_len) |
Set PMK. | |
void | wpa_sm_set_pmk_from_pmksa (struct wpa_sm *sm) |
Set PMK based on the current PMKSA. | |
void | wpa_sm_set_fast_reauth (struct wpa_sm *sm, int fast_reauth) |
Set fast reauthentication (EAP) enabled/disabled. | |
void | wpa_sm_set_scard_ctx (struct wpa_sm *sm, void *scard_ctx) |
Set context pointer for smartcard callbacks. | |
void | wpa_sm_set_config (struct wpa_sm *sm, struct wpa_ssid *config) |
Notification of current configration change. | |
void | wpa_sm_set_own_addr (struct wpa_sm *sm, const u8 *addr) |
Set own MAC address. | |
void | wpa_sm_set_ifname (struct wpa_sm *sm, const char *ifname) |
Set network interface name. | |
void | wpa_sm_set_eapol (struct wpa_sm *sm, struct eapol_sm *eapol) |
Set EAPOL state machine pointer. | |
int | wpa_sm_set_param (struct wpa_sm *sm, enum wpa_sm_conf_params param, unsigned int value) |
Set WPA state machine parameters. | |
unsigned int | wpa_sm_get_param (struct wpa_sm *sm, enum wpa_sm_conf_params param) |
Get WPA state machine parameters. | |
int | wpa_sm_get_status (struct wpa_sm *sm, char *buf, size_t buflen, int verbose) |
Get WPA state machine. | |
int | wpa_sm_set_assoc_wpa_ie_default (struct wpa_sm *sm, u8 *wpa_ie, size_t *wpa_ie_len) |
Generate own WPA/RSN IE from configuration. | |
int | wpa_sm_set_assoc_wpa_ie (struct wpa_sm *sm, const u8 *ie, size_t len) |
Set own WPA/RSN IE from (Re)AssocReq. | |
int | wpa_sm_set_ap_wpa_ie (struct wpa_sm *sm, const u8 *ie, size_t len) |
Set AP WPA IE from Beacon/ProbeResp. | |
int | wpa_sm_set_ap_rsn_ie (struct wpa_sm *sm, const u8 *ie, size_t len) |
Set AP RSN IE from Beacon/ProbeResp. | |
int | wpa_sm_parse_own_wpa_ie (struct wpa_sm *sm, struct wpa_ie_data *data) |
Parse own WPA/RSN IE. | |
Variables | |
wpa_ie_hdr | packed |
Alternatively, this software may be distributed under the terms of BSD license.
See README and COPYING for more details.
Definition in file wpa.c.
|
Parse WPA/RSN IE.
|
|
Notify WPA that PMKSA caching was aborted.
Definition at line 1905 of file wpa.c. Here is the call graph for this function: |
|
Deinitialize WPA state machine.
Definition at line 2296 of file wpa.c. Here is the call graph for this function: |
|
Dump text list of MIB entries.
|
|
Get WPA state machine parameters.
|
|
Get WPA state machine.
|
|
Initialize WPA state machine.
|
|
Send EAPOL-Key Request.
Definition at line 796 of file wpa.c. Here is the call graph for this function: |
|
Notify WPA state machine about association.
Definition at line 2318 of file wpa.c. Here is the call graph for this function: |
|
Notify WPA state machine about disassociation.
Definition at line 2341 of file wpa.c. Here is the call graph for this function: |
|
Parse own WPA/RSN IE.
Definition at line 2753 of file wpa.c. Here is the call graph for this function: |
|
Process received WPA EAPOL frames.
The received EAPOL-Key packets are validated and valid packets are replied to. In addition, key material (PTK, GTK) is configured at the end of a successful key handshake. Definition at line 1965 of file wpa.c. Here is the call graph for this function: |
|
Set AP RSN IE from Beacon/ProbeResp.
Definition at line 2719 of file wpa.c. Here is the call graph for this function: |
|
Set AP WPA IE from Beacon/ProbeResp.
Definition at line 2684 of file wpa.c. Here is the call graph for this function: |
|
Set own WPA/RSN IE from (Re)AssocReq.
Definition at line 2649 of file wpa.c. Here is the call graph for this function: |
|
Generate own WPA/RSN IE from configuration.
Definition at line 2603 of file wpa.c. Here is the call graph for this function: |
|
Notification of current configration change.
|
|
Set EAPOL state machine pointer.
|
|
Set fast reauthentication (EAP) enabled/disabled.
|
|
Set network interface name.
|
|
Set own MAC address.
|
|
Set WPA state machine parameters.
|
|
Set PMK.
|
|
Set PMK based on the current PMKSA.
|
|
Set context pointer for smartcard callbacks.
Definition at line 2410 of file wpa.c. Here is the call graph for this function: |