wpa_supplicant - WPA definitions More...
#include "defs.h"
#include "eapol_common.h"
#include "wpa_common.h"
Go to the source code of this file.
Data Structures | |
struct | wpa_sm_ctx |
struct | rsn_supp_config |
Defines | |
#define | ETH_P_RSN_PREAUTH 0x88c7 |
Enumerations | |
enum | wpa_sm_conf_params { RSNA_PMK_LIFETIME, RSNA_PMK_REAUTH_THRESHOLD, RSNA_SA_TIMEOUT, WPA_PARAM_PROTO, WPA_PARAM_PAIRWISE, WPA_PARAM_GROUP, WPA_PARAM_KEY_MGMT, WPA_PARAM_MGMT_GROUP, WPA_PARAM_RSN_ENABLED } |
Functions | |
struct 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 rsn_supp_config *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, const char *bridge_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_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_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_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_get_mib (struct wpa_sm *sm, char *buf, size_t buflen) |
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. | |
void | wpa_sm_key_request (struct wpa_sm *sm, int error, int pairwise) |
Send EAPOL-Key Request. | |
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_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_parse_own_wpa_ie (struct wpa_sm *sm, struct wpa_ie_data *data) |
Parse own WPA/RSN IE. | |
int | wpa_sm_pmksa_cache_list (struct wpa_sm *sm, char *buf, size_t len) |
wpa_supplicant - WPA definitions
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.
Alternatively, this software may be distributed under the terms of BSD license.
See README and COPYING for more details.
Definition in file wpa.h.
int wpa_parse_wpa_ie | ( | const u8 * | wpa_ie, | |
size_t | wpa_ie_len, | |||
struct wpa_ie_data * | data | |||
) |
Parse WPA/RSN IE.
wpa_ie | Pointer to WPA or RSN IE | |
wpa_ie_len | Length of the WPA/RSN IE | |
data | Pointer to data area for parsing results |
Parse the contents of WPA or RSN IE and write the parsed data into data.
Definition at line 174 of file wpa_ie.c.
void wpa_sm_aborted_cached | ( | struct wpa_sm * | sm | ) |
Notify WPA that PMKSA caching was aborted.
sm | Pointer to WPA state machine data from wpa_sm_init() |
Definition at line 1322 of file wpa.c.
void wpa_sm_deinit | ( | struct wpa_sm * | sm | ) |
Deinitialize WPA state machine.
sm | Pointer to WPA state machine data from wpa_sm_init() |
Definition at line 1844 of file wpa.c.
unsigned int wpa_sm_get_param | ( | struct wpa_sm * | sm, | |
enum wpa_sm_conf_params | param | |||
) |
Get WPA state machine parameters.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
param | Parameter field |
int wpa_sm_get_status | ( | struct wpa_sm * | sm, | |
char * | buf, | |||
size_t | buflen, | |||
int | verbose | |||
) |
Get WPA state machine.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
buf | Buffer for status information | |
buflen | Maximum buffer length | |
verbose | Whether to include verbose status information |
Query WPA state machine for status information. This function fills in a text area with current status information. If the buffer (buf) is not large enough, status information will be truncated to fit the buffer.
Definition at line 2201 of file wpa.c.
struct wpa_sm* wpa_sm_init | ( | struct wpa_sm_ctx * | ctx | ) | [read] |
Initialize WPA state machine.
ctx | Context pointer for callbacks; this needs to be an allocated buffer |
This function is used to allocate a new WPA state machine and the returned value is passed to all WPA state machine calls.
Definition at line 1813 of file wpa.c.
void wpa_sm_key_request | ( | struct wpa_sm * | sm, | |
int | error, | |||
int | pairwise | |||
) |
Send EAPOL-Key Request.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
error | Indicate whether this is an Michael MIC error report | |
pairwise | 1 = error report for pairwise packet, 0 = for group packet |
Send an EAPOL-Key Request to the current authenticator. This function is used to request rekeying and it is usually called when a local Michael MIC failure is detected.
Definition at line 88 of file wpa.c.
void wpa_sm_notify_assoc | ( | struct wpa_sm * | sm, | |
const u8 * | bssid | |||
) |
Notify WPA state machine about association.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
bssid | The BSSID of the new association |
This function is called to let WPA state machine know that the connection was established.
Definition at line 1869 of file wpa.c.
void wpa_sm_notify_disassoc | ( | struct wpa_sm * | sm | ) |
Notify WPA state machine about disassociation.
sm | Pointer to WPA state machine data from wpa_sm_init() |
This function is called to let WPA state machine know that the connection was lost. This will abort any existing pre-authentication session.
int wpa_sm_parse_own_wpa_ie | ( | struct wpa_sm * | sm, | |
struct wpa_ie_data * | data | |||
) |
Parse own WPA/RSN IE.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
data | Pointer to data area for parsing results |
Parse the contents of the own WPA or RSN IE from (Re)AssocReq and write the parsed data into data.
Definition at line 2379 of file wpa.c.
int wpa_sm_rx_eapol | ( | struct wpa_sm * | sm, | |
const u8 * | src_addr, | |||
const u8 * | buf, | |||
size_t | len | |||
) |
Process received WPA EAPOL frames.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
src_addr | Source MAC address of the EAPOL packet | |
buf | Pointer to the beginning of the EAPOL data (EAPOL header) | |
len | Length of the EAPOL frame |
This function is called for each received EAPOL frame. Other than EAPOL-Key frames can be skipped if filtering is done elsewhere. wpa_sm_rx_eapol() is only processing WPA and WPA2 EAPOL-Key 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 1382 of file wpa.c.
int wpa_sm_set_ap_rsn_ie | ( | struct wpa_sm * | sm, | |
const u8 * | ie, | |||
size_t | len | |||
) |
Set AP RSN IE from Beacon/ProbeResp.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
ie | Pointer to IE data (starting from id) | |
len | IE length |
Inform WPA state machine about the RSN IE used in Beacon / Probe Response frame.
Definition at line 2345 of file wpa.c.
int wpa_sm_set_ap_wpa_ie | ( | struct wpa_sm * | sm, | |
const u8 * | ie, | |||
size_t | len | |||
) |
Set AP WPA IE from Beacon/ProbeResp.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
ie | Pointer to IE data (starting from id) | |
len | IE length |
Inform WPA state machine about the WPA IE used in Beacon / Probe Response frame.
Definition at line 2310 of file wpa.c.
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.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
ie | Pointer to IE data (starting from id) | |
len | IE length |
Inform WPA state machine about the WPA/RSN IE used in (Re)Association Request frame. The IE will be used to override the default value generated with wpa_sm_set_assoc_wpa_ie_default().
Definition at line 2275 of file wpa.c.
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.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
wpa_ie | Pointer to buffer for WPA/RSN IE | |
wpa_ie_len | Pointer to the length of the wpa_ie buffer |
Definition at line 2229 of file wpa.c.
void wpa_sm_set_config | ( | struct wpa_sm * | sm, | |
struct rsn_supp_config * | config | |||
) |
Notification of current configration change.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
config | Pointer to current network configuration |
Notify WPA state machine that configuration has changed. config will be stored as a backpointer to network configuration. This can be NULL to clear the stored pointed.
void wpa_sm_set_eapol | ( | struct wpa_sm * | sm, | |
struct eapol_sm * | eapol | |||
) |
Set EAPOL state machine pointer.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
eapol | Pointer to EAPOL state machine allocated with eapol_sm_init() |
void wpa_sm_set_fast_reauth | ( | struct wpa_sm * | sm, | |
int | fast_reauth | |||
) |
Set fast reauthentication (EAP) enabled/disabled.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
fast_reauth | Whether fast reauthentication (EAP) is allowed |
void wpa_sm_set_ifname | ( | struct wpa_sm * | sm, | |
const char * | ifname, | |||
const char * | bridge_ifname | |||
) |
Set network interface name.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
ifname | Interface name | |
bridge_ifname | Optional bridge interface name (for pre-auth) |
void wpa_sm_set_own_addr | ( | struct wpa_sm * | sm, | |
const u8 * | addr | |||
) |
Set own MAC address.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
addr | Own MAC address |
int wpa_sm_set_param | ( | struct wpa_sm * | sm, | |
enum wpa_sm_conf_params | param, | |||
unsigned int | value | |||
) |
Set WPA state machine parameters.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
param | Parameter field | |
value | Parameter value |
void wpa_sm_set_pmk | ( | struct wpa_sm * | sm, | |
const u8 * | pmk, | |||
size_t | pmk_len | |||
) |
Set PMK.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
pmk | The new PMK | |
pmk_len | The length of the new PMK in bytes |
Configure the PMK for WPA state machine.
void wpa_sm_set_pmk_from_pmksa | ( | struct wpa_sm * | sm | ) |
Set PMK based on the current PMKSA.
sm | Pointer to WPA state machine data from wpa_sm_init() |
Take the PMK from the current PMKSA into use. If no PMKSA is active, the PMK will be cleared.
void wpa_sm_set_scard_ctx | ( | struct wpa_sm * | sm, | |
void * | scard_ctx | |||
) |
Set context pointer for smartcard callbacks.
sm | Pointer to WPA state machine data from wpa_sm_init() | |
scard_ctx | Context pointer for smartcard related callback functions |