iPXE
|
Functions | |
int | net80211_prepare_assoc (struct net80211_device *dev, struct net80211_wlan *wlan) |
Prepare 802.11 device channel and rate set for communication. More... | |
int | net80211_send_auth (struct net80211_device *dev, struct net80211_wlan *wlan, int method) |
Send 802.11 initial authentication frame. More... | |
int | net80211_send_assoc (struct net80211_device *dev, struct net80211_wlan *wlan) |
Send 802.11 association frame. More... | |
void | net80211_deauthenticate (struct net80211_device *dev, int rc) |
Deauthenticate from current network and try again. More... | |
int net80211_prepare_assoc | ( | struct net80211_device * | dev, |
struct net80211_wlan * | wlan | ||
) |
Prepare 802.11 device channel and rate set for communication.
dev | 802.11 device |
wlan | WLAN to prepare for communication with |
rc | Return status code |
Definition at line 2105 of file net80211.c.
References assert(), net80211_wlan::beacon, net80211_device::bssid, net80211_wlan::bssid, net80211_wlan::channel, net80211_device_operations::config, net80211_device::crypto, io_buffer::data, DBGC, ENOMEM, ENOTSUP, net80211_device::essid, net80211_wlan::essid, ETH_ALEN, for_each_table_entry, free, net80211_device::gcrypto, net80211_device::handshaker, net80211_wlan::handshaking, hdr, ieee80211_beacon, net80211_handshaker::init, net80211_device::last_beacon_timestamp, memcpy(), NET80211_ASSOCIATED, NET80211_CFG_RATE, net80211_change_channel(), NET80211_HANDSHAKERS, net80211_process_capab(), net80211_process_ie(), NET80211_SECPROT_NONE, net80211_set_state(), net80211_device::netdev, netdev_is_open(), NULL, net80211_device::op, net80211_handshaker::priv, net80211_device::rate, rc, net80211_device::rsn_ie, net80211_handshaker::started, net80211_handshaker::stop, strcpy(), io_buffer::tail, net80211_device::tx_beacon_interval, and zalloc().
Referenced by net80211_step_associate().
int net80211_send_auth | ( | struct net80211_device * | dev, |
struct net80211_wlan * | wlan, | ||
int | method | ||
) |
Send 802.11 initial authentication frame.
dev | 802.11 device |
wlan | WLAN to authenticate with |
method | Authentication method |
rc | Return status code |
method may be 0 for Open System authentication or 1 for Shared Key authentication. Open System provides no security in association whatsoever, relying on encryption for confidentiality, but Shared Key actively introduces security problems and is very rarely used.
Definition at line 2200 of file net80211.c.
References ieee80211_auth::algorithm, alloc_iob(), net80211_wlan::bssid, IEEE80211_STYPE_AUTH, IEEE80211_TYP_FRAME_HEADER_LEN, iob_put, iob_reserve, method, net80211_set_state(), net80211_tx_mgmt(), NET80211_WAITING, ieee80211_auth::status, and ieee80211_auth::tx_seq.
Referenced by net80211_step_associate().
int net80211_send_assoc | ( | struct net80211_device * | dev, |
struct net80211_wlan * | wlan | ||
) |
Send 802.11 association frame.
dev | 802.11 device |
wlan | WLAN to associate with |
rc | Return status code |
Definition at line 2287 of file net80211.c.
References alloc_iob(), net80211_wlan::bssid, ieee80211_assoc_req::capability, net80211_wlan::crypto, io_buffer::data, DBGP, DBGP_HD, net80211_hw_info::flags, net80211_device::hw, IEEE80211_CAPAB_MANAGED, IEEE80211_CAPAB_PRIVACY, IEEE80211_CAPAB_SHORT_PMBL, IEEE80211_CAPAB_SHORT_SLOT, IEEE80211_STYPE_ASSOC_REQ, IEEE80211_TYP_FRAME_HEADER_LEN, ieee80211_assoc_req::info_element, iob_put, iob_reserve, ieee80211_assoc_req::listen_interval, net80211_marshal_request_info(), net80211_set_state(), net80211_tx_mgmt(), and NET80211_WAITING.
Referenced by net80211_step_associate().
void net80211_deauthenticate | ( | struct net80211_device * | dev, |
int | rc | ||
) |
Deauthenticate from current network and try again.
dev | 802.11 device |
rc | Return status code indicating reason |
The deauthentication will be sent using an 802.11 "unspecified reason", as is common, but rc will be set as a link-up error to aid the user in debugging.
Definition at line 2390 of file net80211.c.
References net80211_device::assoc_rc, IEEE80211_REASON_UNSPECIFIED, net80211_autoassociate(), net80211_send_disassoc(), net80211_device::netdev, netdev_link_err(), and rc.
Referenced by wpa_fail(), and wpa_psk_start().