Lines Matching refs:sme
65 if (!index_within_array(groups, wpa_s->sme.sae_group_index)) in sme_set_sae_group()
69 int group = groups[wpa_s->sme.sae_group_index]; in sme_set_sae_group()
72 if (sae_set_group(&wpa_s->sme.sae, group) == 0) { in sme_set_sae_group()
74 wpa_s->sme.sae.group); in sme_set_sae_group()
77 wpa_s->sme.sae_group_index++; in sme_set_sae_group()
104 &wpa_s->sme.sae) < 0) { in sme_auth_build_sae_commit()
109 len = wpa_s->sme.sae_token ? wpabuf_len(wpa_s->sme.sae_token) : 0; in sme_auth_build_sae_commit()
116 sae_write_commit(&wpa_s->sme.sae, buf, wpa_s->sme.sae_token); in sme_auth_build_sae_commit()
132 sae_write_confirm(&wpa_s->sme.sae, buf); in sme_auth_build_sae_confirm()
174 if (wpa_s->sme.ssid_len != params.ssid_len || in sme_send_authentication()
175 os_memcmp(wpa_s->sme.ssid, params.ssid, params.ssid_len) != 0) in sme_send_authentication()
176 wpa_s->sme.prev_bssid_set = 0; in sme_send_authentication()
178 wpa_s->sme.freq = params.freq; in sme_send_authentication()
179 os_memcpy(wpa_s->sme.ssid, params.ssid, params.ssid_len); in sme_send_authentication()
180 wpa_s->sme.ssid_len = params.ssid_len; in sme_send_authentication()
241 wpa_s->sme.assoc_req_ie_len = sizeof(wpa_s->sme.assoc_req_ie); in sme_send_authentication()
243 wpa_s->sme.assoc_req_ie, in sme_send_authentication()
244 &wpa_s->sme.assoc_req_ie_len)) { in sme_send_authentication()
257 wpa_s->sme.assoc_req_ie_len = 0; in sme_send_authentication()
259 wpa_s->sme.assoc_req_ie_len = sizeof(wpa_s->sme.assoc_req_ie); in sme_send_authentication()
261 wpa_s->sme.assoc_req_ie, in sme_send_authentication()
262 &wpa_s->sme.assoc_req_ie_len)) { in sme_send_authentication()
273 sizeof(wpa_s->sme.assoc_req_ie)) { in sme_send_authentication()
274 wpa_s->sme.assoc_req_ie_len = wpabuf_len(wps_ie); in sme_send_authentication()
275 os_memcpy(wpa_s->sme.assoc_req_ie, wpabuf_head(wps_ie), in sme_send_authentication()
276 wpa_s->sme.assoc_req_ie_len); in sme_send_authentication()
278 wpa_s->sme.assoc_req_ie_len = 0; in sme_send_authentication()
284 wpa_s->sme.assoc_req_ie_len = 0; in sme_send_authentication()
298 if (wpa_s->sme.assoc_req_ie_len + 5 < in sme_send_authentication()
299 sizeof(wpa_s->sme.assoc_req_ie)) { in sme_send_authentication()
301 u8 *pos = wpa_s->sme.assoc_req_ie + in sme_send_authentication()
302 wpa_s->sme.assoc_req_ie_len; in sme_send_authentication()
309 wpa_s->sme.assoc_req_ie_len += 5; in sme_send_authentication()
312 if (wpa_s->sme.ft_used && in sme_send_authentication()
313 os_memcmp(md, wpa_s->sme.mobility_domain, 2) == 0 && in sme_send_authentication()
318 params.ie = wpa_s->sme.ft_ies; in sme_send_authentication()
319 params.ie_len = wpa_s->sme.ft_ies_len; in sme_send_authentication()
325 wpa_s->sme.mfp = ssid->ieee80211w == MGMT_FRAME_PROTECTION_DEFAULT ? in sme_send_authentication()
327 if (wpa_s->sme.mfp != NO_MGMT_FRAME_PROTECTION) { in sme_send_authentication()
335 wpa_s->sme.mfp = MGMT_FRAME_PROTECTION_REQUIRED; in sme_send_authentication()
345 pos = wpa_s->sme.assoc_req_ie + wpa_s->sme.assoc_req_ie_len; in sme_send_authentication()
346 len = sizeof(wpa_s->sme.assoc_req_ie) - in sme_send_authentication()
347 wpa_s->sme.assoc_req_ie_len; in sme_send_authentication()
351 wpa_s->sme.assoc_req_ie_len += res; in sme_send_authentication()
361 os_memcpy(wpa_s->sme.assoc_req_ie + in sme_send_authentication()
362 wpa_s->sme.assoc_req_ie_len, in sme_send_authentication()
364 wpa_s->sme.assoc_req_ie_len += wpabuf_len(hs20); in sme_send_authentication()
372 u8 *pos = wpa_s->sme.assoc_req_ie; in sme_send_authentication()
373 if (wpa_s->sme.assoc_req_ie_len > 0 && pos[0] == WLAN_EID_RSN) in sme_send_authentication()
376 wpa_s->sme.assoc_req_ie_len - in sme_send_authentication()
377 (pos - wpa_s->sme.assoc_req_ie)); in sme_send_authentication()
378 wpa_s->sme.assoc_req_ie_len += ext_capab_len; in sme_send_authentication()
393 wpa_s->sme.sae.state = start ? SAE_COMMITTED : SAE_CONFIRMED; in sme_send_authentication()
413 wpa_s->sme.auth_alg = params.auth_alg; in sme_send_authentication()
439 wpa_s->sme.sae.state = SAE_NOTHING; in sme_authenticate()
440 wpa_s->sme.sae.send_confirm = 0; in sme_authenticate()
456 wpa_s->sme.sae.state == SAE_COMMITTED && in sme_sae_auth()
460 wpabuf_free(wpa_s->sme.sae_token); in sme_sae_auth()
461 wpa_s->sme.sae_token = wpabuf_alloc_copy(data, len); in sme_sae_auth()
469 wpa_s->sme.sae.state == SAE_COMMITTED && in sme_sae_auth()
472 wpa_s->sme.sae_group_index++; in sme_sae_auth()
489 if (wpa_s->sme.sae.state != SAE_COMMITTED) in sme_sae_auth()
491 if (sae_parse_commit(&wpa_s->sme.sae, data, len, NULL, NULL, in sme_sae_auth()
496 if (sae_process_commit(&wpa_s->sme.sae) < 0) { in sme_sae_auth()
502 wpabuf_free(wpa_s->sme.sae_token); in sme_sae_auth()
503 wpa_s->sme.sae_token = NULL; in sme_sae_auth()
509 if (wpa_s->sme.sae.state != SAE_CONFIRMED) in sme_sae_auth()
511 if (sae_check_confirm(&wpa_s->sme.sae, data, len) < 0) in sme_sae_auth()
513 wpa_s->sme.sae.state = SAE_ACCEPTED; in sme_sae_auth()
514 sae_clear_temp_data(&wpa_s->sme.sae); in sme_sae_auth()
571 wpa_sm_set_pmk(wpa_s->wpa, wpa_s->sme.sae.pmk, PMK_LEN); in sme_event_auth()
581 wpa_s->sme.auth_alg == data->auth.auth_type || in sme_event_auth()
642 params.ssid = wpa_s->sme.ssid; in sme_associate()
643 params.ssid_len = wpa_s->sme.ssid_len; in sme_associate()
644 params.freq = wpa_s->sme.freq; in sme_associate()
647 params.wpa_ie = wpa_s->sme.assoc_req_ie_len ? in sme_associate()
648 wpa_s->sme.assoc_req_ie : NULL; in sme_associate()
649 params.wpa_ie_len = wpa_s->sme.assoc_req_ie_len; in sme_associate()
668 if (auth_type == WLAN_AUTH_FT && wpa_s->sme.ft_ies) { in sme_associate()
669 params.wpa_ie = wpa_s->sme.ft_ies; in sme_associate()
670 params.wpa_ie_len = wpa_s->sme.ft_ies_len; in sme_associate()
674 params.mgmt_frame_protection = wpa_s->sme.mfp; in sme_associate()
675 if (wpa_s->sme.prev_bssid_set) in sme_associate()
676 params.prev_bssid = wpa_s->sme.prev_bssid; in sme_associate()
728 os_free(wpa_s->sme.ft_ies); in sme_update_ft_ies()
729 wpa_s->sme.ft_ies = NULL; in sme_update_ft_ies()
730 wpa_s->sme.ft_ies_len = 0; in sme_update_ft_ies()
731 wpa_s->sme.ft_used = 0; in sme_update_ft_ies()
735 os_memcpy(wpa_s->sme.mobility_domain, md, MOBILITY_DOMAIN_ID_LEN); in sme_update_ft_ies()
737 os_free(wpa_s->sme.ft_ies); in sme_update_ft_ies()
738 wpa_s->sme.ft_ies = os_malloc(ies_len); in sme_update_ft_ies()
739 if (wpa_s->sme.ft_ies == NULL) in sme_update_ft_ies()
741 os_memcpy(wpa_s->sme.ft_ies, ies, ies_len); in sme_update_ft_ies()
742 wpa_s->sme.ft_ies_len = ies_len; in sme_update_ft_ies()
758 wpa_s->sme.prev_bssid_set = 0; in sme_deauth()
811 if (wpa_s->sme.prev_bssid_set) { in sme_event_disassoc()
820 wpa_drv_deauthenticate(wpa_s, wpa_s->sme.prev_bssid, in sme_event_disassoc()
880 os_free(wpa_s->sme.ft_ies); in sme_deinit()
881 wpa_s->sme.ft_ies = NULL; in sme_deinit()
882 wpa_s->sme.ft_ies_len = 0; in sme_deinit()
887 wpabuf_free(wpa_s->sme.sae_token); in sme_deinit()
888 wpa_s->sme.sae_token = NULL; in sme_deinit()
889 sae_clear_data(&wpa_s->sme.sae); in sme_deinit()
986 if (!wpa_s->sme.sched_obss_scan) in sme_proc_obss_scan()
989 wpa_s->sme.sched_obss_scan = 0; in sme_proc_obss_scan()
1099 wpa_s->sme.sched_obss_scan = 1; in sme_obss_scan_timeout()
1102 eloop_register_timeout(wpa_s->sme.obss_scan_int, 0, in sme_obss_scan_timeout()
1116 wpa_s->sme.sched_obss_scan = 0; in sme_sched_obss_scan()
1158 wpa_s->sme.obss_scan_int = WPA_GET_LE16(ie + 6); in sme_sched_obss_scan()
1159 if (wpa_s->sme.obss_scan_int < 10) { in sme_sched_obss_scan()
1162 wpa_s->sme.obss_scan_int); in sme_sched_obss_scan()
1163 wpa_s->sme.obss_scan_int = 10; in sme_sched_obss_scan()
1166 wpa_s->sme.obss_scan_int); in sme_sched_obss_scan()
1167 eloop_register_timeout(wpa_s->sme.obss_scan_int, 0, in sme_sched_obss_scan()
1182 os_time_sub(&now, &wpa_s->sme.sa_query_start, &passed); in sme_check_sa_query_timeout()
1221 if (wpa_s->sme.sa_query_count > 0 && in sme_sa_query_timer()
1225 nbuf = os_realloc_array(wpa_s->sme.sa_query_trans_id, in sme_sa_query_timer()
1226 wpa_s->sme.sa_query_count + 1, in sme_sa_query_timer()
1230 if (wpa_s->sme.sa_query_count == 0) { in sme_sa_query_timer()
1232 os_get_time(&wpa_s->sme.sa_query_start); in sme_sa_query_timer()
1234 trans_id = nbuf + wpa_s->sme.sa_query_count * WLAN_SA_QUERY_TR_ID_LEN; in sme_sa_query_timer()
1235 wpa_s->sme.sa_query_trans_id = nbuf; in sme_sa_query_timer()
1236 wpa_s->sme.sa_query_count++; in sme_sa_query_timer()
1246 wpa_s->sme.sa_query_count); in sme_sa_query_timer()
1261 os_free(wpa_s->sme.sa_query_trans_id); in sme_stop_sa_query()
1262 wpa_s->sme.sa_query_trans_id = NULL; in sme_stop_sa_query()
1263 wpa_s->sme.sa_query_count = 0; in sme_stop_sa_query()
1284 if (wpa_s->sme.sa_query_count > 0) in sme_event_unprot_disconnect()
1298 if (wpa_s->sme.sa_query_trans_id == NULL || in sme_sa_query_rx()
1308 for (i = 0; i < wpa_s->sme.sa_query_count; i++) { in sme_sa_query_rx()
1309 if (os_memcmp(wpa_s->sme.sa_query_trans_id + in sme_sa_query_rx()
1315 if (i >= wpa_s->sme.sa_query_count) { in sme_sa_query_rx()