52 char passphrase[64+1];
58 &net80211_key_setting, passphrase,
62 DBGC (
ctx,
"WPA-PSK %p: no passphrase provided!\n",
ctx );
70 DBGC (
ctx,
"WPA-PSK %p: derived PMK from passphrase `%s':\n",
ctx,
87 switch (
ctx->state ) {
struct net80211_device * dev
802.11 device we are authenticating for
static int wpa_psk_step(struct net80211_device *dev)
Step WPA-PSK authentication.
static int wpa_psk_start(struct net80211_device *dev)
Start WPA-PSK authentication.
union ieee80211_ie * rsn_ie
RSN or WPA information element to include with association.
#define EACCES
Permission denied.
FILE_LICENCE(GPL2_OR_LATER)
struct golan_eq_context ctx
void net80211_deauthenticate(struct net80211_device *dev, int rc)
Deauthenticate from current network and try again.
static struct settings * netdev_settings(struct net_device *netdev)
Get per-netdevice configuration settings block.
u8 pmk[WPA_PMK_LEN]
The Pairwise Master Key to use in handshaking.
char essid[IEEE80211_MAX_SSID_LEN+1]
SSID of the access point we are or will be associated with.
#define WPA_PMK_LEN
Usual length of a Pairwise Master Key.
void * priv
Pointer to private data.
Common definitions for all types of WPA-protected networks.
Pre-shared key handshaking.
#define __unused
Declare a variable or data structure as unused.
4-Way Handshake succeeded
enum net80211_security_proto protocol
The security handshaking protocol implemented.
static void wpa_psk_stop(struct net80211_device *dev)
Disable handling of received WPA authentication frames.
static int wpa_psk_init(struct net80211_device *dev)
Initialise WPA-PSK state.
Common context for WPA security handshaking.
int fetch_string_setting(struct settings *settings, const struct setting *setting, char *data, size_t len)
Fetch value of string setting.
int wpa_make_rsn_ie(struct net80211_device *dev, union ieee80211_ie **ie_ret)
Construct RSN or WPA information element.
The iPXE 802.11 MAC layer.
Structure encapsulating the complete state of an 802.11 device.
void wpa_stop(struct net80211_device *dev)
Disable handling of received WPA handshake frames.
size_t strlen(const char *src)
Get length of string.
struct net80211_handshaker * handshaker
Security handshaker being used.
int wpa_start(struct net80211_device *dev, struct wpa_common_ctx *ctx, const void *pmk, size_t pmk_len)
Set up generic WPA support to handle 4-Way Handshake.
Interface to an 802.11 security handshaking protocol.
struct net_device * netdev
The net_device that wraps us.
static int wpa_psk_no_change_key(struct net80211_device *dev __unused)
Do-nothing function; you can't change a WPA key post-authentication.
struct net80211_handshaker wpa_psk_handshaker __net80211_handshaker
WPA-PSK security handshaker.