Lines Matching refs:auth_data
4481 else if (ifmgd->auth_data) in ieee80211_ap_probereq_get()
4482 cbss = ifmgd->auth_data->bss; in ieee80211_ap_probereq_get()
4660 struct ieee80211_mgd_auth_data *auth_data = sdata->u.mgd.auth_data; in ieee80211_destroy_auth_data() local
4664 sdata->u.mgd.auth_data = NULL; in ieee80211_destroy_auth_data()
4673 sta_info_destroy_addr(sdata, auth_data->ap_addr); in ieee80211_destroy_auth_data()
4685 cfg80211_put_bss(sdata->local->hw.wiphy, auth_data->bss); in ieee80211_destroy_auth_data()
4686 kfree(auth_data); in ieee80211_destroy_auth_data()
4749 struct ieee80211_mgd_auth_data *auth_data = sdata->u.mgd.auth_data; in ieee80211_auth_challenge() local
4755 .link_id = auth_data->link_id, in ieee80211_auth_challenge()
4763 auth_data->expected_transaction = 4; in ieee80211_auth_challenge()
4768 ieee80211_send_auth(sdata, 3, auth_data->algorithm, 0, in ieee80211_auth_challenge()
4771 auth_data->ap_addr, auth_data->ap_addr, in ieee80211_auth_challenge()
4772 auth_data->key, auth_data->key_len, in ieee80211_auth_challenge()
4773 auth_data->key_idx, tx_flags); in ieee80211_auth_challenge()
4779 const u8 *ap_addr = ifmgd->auth_data->ap_addr; in ieee80211_mark_sta_auth()
4785 ifmgd->auth_data->done = true; in ieee80211_mark_sta_auth()
4786 ifmgd->auth_data->timeout = jiffies + IEEE80211_AUTH_WAIT_ASSOC; in ieee80211_mark_sta_auth()
4787 ifmgd->auth_data->timeout_started = true; in ieee80211_mark_sta_auth()
4788 run_again(sdata, ifmgd->auth_data->timeout); in ieee80211_mark_sta_auth()
4823 if (!ifmgd->auth_data || ifmgd->auth_data->done) in ieee80211_rx_mgmt_auth()
4826 if (!ether_addr_equal(ifmgd->auth_data->ap_addr, mgmt->bssid)) in ieee80211_rx_mgmt_auth()
4833 info.link_id = ifmgd->auth_data->link_id; in ieee80211_rx_mgmt_auth()
4835 if (auth_alg != ifmgd->auth_data->algorithm || in ieee80211_rx_mgmt_auth()
4837 auth_transaction != ifmgd->auth_data->expected_transaction) || in ieee80211_rx_mgmt_auth()
4839 (auth_transaction < ifmgd->auth_data->expected_transaction || in ieee80211_rx_mgmt_auth()
4842 mgmt->sa, auth_alg, ifmgd->auth_data->algorithm, in ieee80211_rx_mgmt_auth()
4844 ifmgd->auth_data->expected_transaction); in ieee80211_rx_mgmt_auth()
4857 ifmgd->auth_data->waiting = true; in ieee80211_rx_mgmt_auth()
4858 ifmgd->auth_data->timeout = in ieee80211_rx_mgmt_auth()
4860 ifmgd->auth_data->timeout_started = true; in ieee80211_rx_mgmt_auth()
4861 run_again(sdata, ifmgd->auth_data->timeout); in ieee80211_rx_mgmt_auth()
4876 switch (ifmgd->auth_data->algorithm) { in ieee80211_rx_mgmt_auth()
4886 if (ifmgd->auth_data->expected_transaction != 4) { in ieee80211_rx_mgmt_auth()
4894 ifmgd->auth_data->algorithm); in ieee80211_rx_mgmt_auth()
4901 if (ifmgd->auth_data->algorithm != WLAN_AUTH_SAE || in ieee80211_rx_mgmt_auth()
4903 ifmgd->auth_data->expected_transaction == 2)) { in ieee80211_rx_mgmt_auth()
4906 } else if (ifmgd->auth_data->algorithm == WLAN_AUTH_SAE && in ieee80211_rx_mgmt_auth()
4909 } else if (ifmgd->auth_data->algorithm == WLAN_AUTH_SAE && in ieee80211_rx_mgmt_auth()
4912 ifmgd->auth_data->peer_confirmed = true; in ieee80211_rx_mgmt_auth()
8203 struct ieee80211_mgd_auth_data *auth_data = ifmgd->auth_data; in ieee80211_auth() local
8213 if (WARN_ON_ONCE(!auth_data)) in ieee80211_auth()
8216 auth_data->tries++; in ieee80211_auth()
8218 if (auth_data->tries > IEEE80211_AUTH_MAX_TRIES) { in ieee80211_auth()
8220 auth_data->ap_addr); in ieee80211_auth()
8226 cfg80211_unlink_bss(local->hw.wiphy, auth_data->bss); in ieee80211_auth()
8231 if (auth_data->algorithm == WLAN_AUTH_SAE) in ieee80211_auth()
8234 info.link_id = auth_data->link_id; in ieee80211_auth()
8238 auth_data->ap_addr, auth_data->tries, in ieee80211_auth()
8241 auth_data->expected_transaction = 2; in ieee80211_auth()
8243 if (auth_data->algorithm == WLAN_AUTH_SAE) { in ieee80211_auth()
8244 trans = auth_data->sae_trans; in ieee80211_auth()
8245 status = auth_data->sae_status; in ieee80211_auth()
8246 auth_data->expected_transaction = trans; in ieee80211_auth()
8253 ieee80211_send_auth(sdata, trans, auth_data->algorithm, status, in ieee80211_auth()
8254 auth_data->data, auth_data->data_len, in ieee80211_auth()
8255 auth_data->ap_addr, auth_data->ap_addr, in ieee80211_auth()
8259 if (auth_data->algorithm == WLAN_AUTH_SAE) in ieee80211_auth()
8260 auth_data->timeout = jiffies + in ieee80211_auth()
8263 auth_data->timeout = jiffies + IEEE80211_AUTH_TIMEOUT; in ieee80211_auth()
8265 auth_data->timeout = in ieee80211_auth()
8269 auth_data->timeout_started = true; in ieee80211_auth()
8270 run_again(sdata, auth_data->timeout); in ieee80211_auth()
8345 if (ifmgd->auth_data && ieee80211_is_auth(fc)) { in ieee80211_sta_work()
8347 if (ifmgd->auth_data->algorithm == in ieee80211_sta_work()
8349 ifmgd->auth_data->timeout = in ieee80211_sta_work()
8353 ifmgd->auth_data->timeout = in ieee80211_sta_work()
8356 run_again(sdata, ifmgd->auth_data->timeout); in ieee80211_sta_work()
8358 ifmgd->auth_data->timeout = jiffies - 1; in ieee80211_sta_work()
8360 ifmgd->auth_data->timeout_started = true; in ieee80211_sta_work()
8385 if (ifmgd->auth_data && ifmgd->auth_data->timeout_started && in ieee80211_sta_work()
8386 time_after(jiffies, ifmgd->auth_data->timeout)) { in ieee80211_sta_work()
8387 if (ifmgd->auth_data->done || ifmgd->auth_data->waiting) { in ieee80211_sta_work()
8401 memcpy(ap_addr, ifmgd->auth_data->ap_addr, ETH_ALEN); in ieee80211_sta_work()
8408 } else if (ifmgd->auth_data && ifmgd->auth_data->timeout_started) in ieee80211_sta_work()
8409 run_again(sdata, ifmgd->auth_data->timeout); in ieee80211_sta_work()
8620 if (ifmgd->auth_data || ifmgd->assoc_data) { in ieee80211_mgd_quiesce()
8621 const u8 *ap_addr = ifmgd->auth_data ? in ieee80211_mgd_quiesce()
8622 ifmgd->auth_data->ap_addr : in ieee80211_mgd_quiesce()
8636 if (ifmgd->auth_data) in ieee80211_mgd_quiesce()
8879 if (WARN_ON(!ifmgd->auth_data && !ifmgd->assoc_data)) { in ieee80211_prep_connection()
9117 struct ieee80211_mgd_auth_data *auth_data; in ieee80211_mgd_auth() local
9169 auth_data = kzalloc(sizeof(*auth_data) + req->auth_data_len + in ieee80211_mgd_auth()
9171 if (!auth_data) in ieee80211_mgd_auth()
9174 memcpy(auth_data->ap_addr, in ieee80211_mgd_auth()
9177 auth_data->bss = req->bss; in ieee80211_mgd_auth()
9178 auth_data->link_id = req->link_id; in ieee80211_mgd_auth()
9182 __le16 *pos = (__le16 *) req->auth_data; in ieee80211_mgd_auth()
9184 auth_data->sae_trans = le16_to_cpu(pos[0]); in ieee80211_mgd_auth()
9185 auth_data->sae_status = le16_to_cpu(pos[1]); in ieee80211_mgd_auth()
9187 memcpy(auth_data->data, req->auth_data + 4, in ieee80211_mgd_auth()
9189 auth_data->data_len += req->auth_data_len - 4; in ieee80211_mgd_auth()
9197 cont_auth = ifmgd->auth_data && req->bss == ifmgd->auth_data->bss && in ieee80211_mgd_auth()
9198 ifmgd->auth_data->link_id == req->link_id; in ieee80211_mgd_auth()
9201 memcpy(&auth_data->data[auth_data->data_len], in ieee80211_mgd_auth()
9203 auth_data->data_len += req->ie_len; in ieee80211_mgd_auth()
9207 auth_data->key_len = req->key_len; in ieee80211_mgd_auth()
9208 auth_data->key_idx = req->key_idx; in ieee80211_mgd_auth()
9209 memcpy(auth_data->key, req->key, req->key_len); in ieee80211_mgd_auth()
9212 ieee80211_parse_cfg_selectors(auth_data->userspace_selectors, in ieee80211_mgd_auth()
9216 auth_data->algorithm = auth_alg; in ieee80211_mgd_auth()
9220 if (ifmgd->auth_data) { in ieee80211_mgd_auth()
9222 auth_data->peer_confirmed = in ieee80211_mgd_auth()
9223 ifmgd->auth_data->peer_confirmed; in ieee80211_mgd_auth()
9229 ifmgd->auth_data = auth_data; in ieee80211_mgd_auth()
9237 auth_data->peer_confirmed && auth_data->sae_trans == 2) in ieee80211_mgd_auth()
9245 sdata->vif.cfg.ap_addr, auth_data->ap_addr); in ieee80211_mgd_auth()
9257 memcpy(sdata->vif.cfg.ap_addr, auth_data->ap_addr, ETH_ALEN); in ieee80211_mgd_auth()
9270 auth_data->userspace_selectors); in ieee80211_mgd_auth()
9285 auth_data->ap_addr, link->conf->addr); in ieee80211_mgd_auth()
9289 sta_info_destroy_addr(sdata, auth_data->ap_addr); in ieee80211_mgd_auth()
9294 cfg80211_ref_bss(local->hw.wiphy, auth_data->bss); in ieee80211_mgd_auth()
9304 ifmgd->auth_data = NULL; in ieee80211_mgd_auth()
9305 kfree(auth_data); in ieee80211_mgd_auth()
9621 match_auth = ifmgd->auth_data && in ieee80211_mgd_assoc()
9622 ether_addr_equal(ifmgd->auth_data->ap_addr, in ieee80211_mgd_assoc()
9624 ifmgd->auth_data->link_id == req->link_id; in ieee80211_mgd_assoc()
9737 if (ifmgd->auth_data && !ifmgd->auth_data->done) { in ieee80211_mgd_assoc()
9748 if (ifmgd->auth_data && !match_auth) in ieee80211_mgd_assoc()
9898 if (ifmgd->auth_data) in ieee80211_mgd_assoc()
9903 if (!ifmgd->auth_data) { in ieee80211_mgd_assoc()
9924 if (ifmgd->auth_data && in ieee80211_mgd_deauth()
9925 ether_addr_equal(ifmgd->auth_data->ap_addr, req->bssid)) { in ieee80211_mgd_deauth()
9931 info.link_id = ifmgd->auth_data->link_id; in ieee80211_mgd_deauth()
10038 if (ifmgd->auth_data) in ieee80211_mgd_stop()