Lines Matching refs:parse

2431 	struct ieee802_11_elems parse;  in wpa_ft_process_rdie()  local
2452 if (ieee802_11_parse_elems((u8 *) ies, ies_len, &parse, 1) == in wpa_ft_process_rdie()
2460 if (parse.wmm_tspec) { in wpa_ft_process_rdie()
2463 if (parse.wmm_tspec_len + 2 < (int) sizeof(*tspec)) { in wpa_ft_process_rdie()
2465 "(%d)", (int) parse.wmm_tspec_len); in wpa_ft_process_rdie()
2478 os_memcpy(tspec, parse.wmm_tspec - 2, sizeof(*tspec)); in wpa_ft_process_rdie()
2482 if (parse.wmm_tspec && sm->wpa_auth->conf.ap_mlme) { in wpa_ft_process_rdie()
2502 if (parse.wmm_tspec && !sm->wpa_auth->conf.ap_mlme) { in wpa_ft_process_rdie()
2571 struct wpa_ft_ies parse; in wpa_sm_write_assoc_resp_ies() local
2808 if (wpa_ft_parse_ies(req_ies, req_ies_len, &parse, in wpa_sm_write_assoc_resp_ies()
2809 sm->wpa_key_mgmt, false) == 0 && parse.ric) { in wpa_sm_write_assoc_resp_ies()
2810 pos = wpa_ft_process_ric(sm, pos, end, parse.ric, in wpa_sm_write_assoc_resp_ies()
2811 parse.ric_len); in wpa_sm_write_assoc_resp_ies()
2873 wpa_ft_parse_ies_free(&parse); in wpa_sm_write_assoc_resp_ies()
3053 struct wpa_ft_ies *parse) in wpa_ft_set_key_mgmt() argument
3060 key_mgmt = parse->key_mgmt & sm->wpa_auth->conf.wpa_key_mgmt; in wpa_ft_set_key_mgmt()
3063 MACSTR, parse->key_mgmt, MAC2STR(sm->addr)); in wpa_ft_set_key_mgmt()
3080 ciphers = parse->pairwise_cipher & sm->wpa_auth->conf.rsn_pairwise; in wpa_ft_set_key_mgmt()
3084 parse->pairwise_cipher, MAC2STR(sm->addr)); in wpa_ft_set_key_mgmt()
3176 struct wpa_ft_ies parse; in wpa_ft_process_auth_req() local
3196 if (wpa_ft_parse_ies(ies, ies_len, &parse, 0, false)) { in wpa_ft_process_auth_req()
3201 mdie = (struct rsn_mdie *) parse.mdie; in wpa_ft_process_auth_req()
3202 if (mdie == NULL || parse.mdie_len < sizeof(*mdie) || in wpa_ft_process_auth_req()
3211 if (!parse.ftie || parse.ftie_len < sizeof(struct rsn_ftie)) { in wpa_ft_process_auth_req()
3217 if (parse.r0kh_id == NULL) { in wpa_ft_process_auth_req()
3224 parse.r0kh_id, parse.r0kh_id_len); in wpa_ft_process_auth_req()
3225 os_memcpy(sm->r0kh_id, parse.r0kh_id, parse.r0kh_id_len); in wpa_ft_process_auth_req()
3226 sm->r0kh_id_len = parse.r0kh_id_len; in wpa_ft_process_auth_req()
3228 if (parse.rsn_pmkid == NULL) { in wpa_ft_process_auth_req()
3234 if (wpa_ft_set_key_mgmt(sm, &parse) < 0) in wpa_ft_process_auth_req()
3238 parse.rsn_pmkid, WPA_PMK_NAME_LEN); in wpa_ft_process_auth_req()
3242 if (wpa_derive_pmk_r1_name(parse.rsn_pmkid, in wpa_ft_process_auth_req()
3263 if (parse.key_mgmt != WPA_KEY_MGMT_FT_SAE_EXT_KEY && in wpa_ft_process_auth_req()
3264 ((wpa_key_mgmt_sha384(parse.key_mgmt) && in wpa_ft_process_auth_req()
3266 (!wpa_key_mgmt_sha384(parse.key_mgmt) && in wpa_ft_process_auth_req()
3269 if (wpa_derive_pmk_r1_name(parse.rsn_pmkid, in wpa_ft_process_auth_req()
3289 parse.r0kh_id, parse.r0kh_id_len, in wpa_ft_process_auth_req()
3290 parse.rsn_pmkid, in wpa_ft_process_auth_req()
3300 if (wpa_ft_pull_pmk_r1(sm, ies, ies_len, parse.rsn_pmkid) < 0) { in wpa_ft_process_auth_req()
3328 ftie = (const struct rsn_ftie_sha512 *) parse.ftie; in wpa_ft_process_auth_req()
3329 if (!ftie || parse.ftie_len < sizeof(*ftie)) { in wpa_ft_process_auth_req()
3339 ftie = (const struct rsn_ftie_sha384 *) parse.ftie; in wpa_ft_process_auth_req()
3340 if (!ftie || parse.ftie_len < sizeof(*ftie)) { in wpa_ft_process_auth_req()
3350 ftie = (const struct rsn_ftie *) parse.ftie; in wpa_ft_process_auth_req()
3351 if (!ftie || parse.ftie_len < sizeof(*ftie)) { in wpa_ft_process_auth_req()
3374 &sm->PTK, ptk_name, parse.key_mgmt, in wpa_ft_process_auth_req()
3381 wpa_ltf_keyseed(&sm->PTK, parse.key_mgmt, pairwise)) { in wpa_ft_process_auth_req()
3414 ret = wpa_write_rsn_ie(conf, pos, end - pos, parse.rsn_pmkid); in wpa_ft_process_auth_req()
3424 ret = wpa_write_ftie(conf, parse.key_mgmt, pmk_r1_len, in wpa_ft_process_auth_req()
3425 parse.r0kh_id, parse.r0kh_id_len, in wpa_ft_process_auth_req()
3440 wpa_ft_parse_ies_free(&parse); in wpa_ft_process_auth_req()
3492 struct wpa_ft_ies parse; in wpa_ft_validate_reassoc() local
3509 if (wpa_ft_parse_ies(ies, ies_len, &parse, sm->wpa_key_mgmt, in wpa_ft_validate_reassoc()
3515 if (parse.rsn == NULL) { in wpa_ft_validate_reassoc()
3520 if (parse.rsn_pmkid == NULL) { in wpa_ft_validate_reassoc()
3526 if (os_memcmp_const(parse.rsn_pmkid, sm->pmk_r1_name, WPA_PMK_NAME_LEN) in wpa_ft_validate_reassoc()
3534 mdie = (struct rsn_mdie *) parse.mdie; in wpa_ft_validate_reassoc()
3535 if (mdie == NULL || parse.mdie_len < sizeof(*mdie) || in wpa_ft_validate_reassoc()
3553 if (!parse.ftie || !parse.fte_anonce || !parse.fte_snonce || in wpa_ft_validate_reassoc()
3554 parse.fte_mic_len != mic_len) { in wpa_ft_validate_reassoc()
3557 parse.fte_mic_len, mic_len); in wpa_ft_validate_reassoc()
3562 if (os_memcmp(parse.fte_snonce, sm->SNonce, WPA_NONCE_LEN) != 0) { in wpa_ft_validate_reassoc()
3565 parse.fte_snonce, WPA_NONCE_LEN); in wpa_ft_validate_reassoc()
3572 if (os_memcmp(parse.fte_anonce, sm->ANonce, WPA_NONCE_LEN) != 0) { in wpa_ft_validate_reassoc()
3575 parse.fte_anonce, WPA_NONCE_LEN); in wpa_ft_validate_reassoc()
3582 if (parse.r0kh_id == NULL) { in wpa_ft_validate_reassoc()
3588 if (parse.r0kh_id_len != sm->r0kh_id_len || in wpa_ft_validate_reassoc()
3589 os_memcmp_const(parse.r0kh_id, sm->r0kh_id, parse.r0kh_id_len) != 0) in wpa_ft_validate_reassoc()
3594 parse.r0kh_id, parse.r0kh_id_len); in wpa_ft_validate_reassoc()
3601 if (parse.r1kh_id == NULL) { in wpa_ft_validate_reassoc()
3607 if (os_memcmp_const(parse.r1kh_id, conf->r1_key_holder, in wpa_ft_validate_reassoc()
3612 parse.r1kh_id, FT_R1KH_ID_LEN); in wpa_ft_validate_reassoc()
3619 if (parse.rsn_pmkid == NULL || in wpa_ft_validate_reassoc()
3620 os_memcmp_const(parse.rsn_pmkid, sm->pmk_r1_name, WPA_PMK_NAME_LEN)) in wpa_ft_validate_reassoc()
3623 "RSNIE (pmkid=%d)", !!parse.rsn_pmkid); in wpa_ft_validate_reassoc()
3629 if (parse.ric) in wpa_ft_validate_reassoc()
3630 count += ieee802_11_ie_count(parse.ric, parse.ric_len); in wpa_ft_validate_reassoc()
3631 if (parse.rsnxe) in wpa_ft_validate_reassoc()
3633 if (parse.fte_elem_count != count) { in wpa_ft_validate_reassoc()
3636 parse.fte_elem_count, count); in wpa_ft_validate_reassoc()
3649 parse.mdie - 2, parse.mdie_len + 2, in wpa_ft_validate_reassoc()
3650 parse.ftie - 2, parse.ftie_len + 2, in wpa_ft_validate_reassoc()
3651 parse.rsn - 2, parse.rsn_len + 2, in wpa_ft_validate_reassoc()
3652 parse.ric, parse.ric_len, in wpa_ft_validate_reassoc()
3653 parse.rsnxe ? parse.rsnxe - 2 : NULL, in wpa_ft_validate_reassoc()
3654 parse.rsnxe ? parse.rsnxe_len + 2 : 0, in wpa_ft_validate_reassoc()
3661 if (os_memcmp_const(mic, parse.fte_mic, mic_len) != 0) { in wpa_ft_validate_reassoc()
3666 parse.fte_mic, mic_len); in wpa_ft_validate_reassoc()
3669 parse.mdie - 2, parse.mdie_len + 2); in wpa_ft_validate_reassoc()
3671 parse.ftie - 2, parse.ftie_len + 2); in wpa_ft_validate_reassoc()
3673 parse.rsn - 2, parse.rsn_len + 2); in wpa_ft_validate_reassoc()
3675 parse.rsnxe ? parse.rsnxe - 2 : NULL, in wpa_ft_validate_reassoc()
3676 parse.rsnxe ? parse.rsnxe_len + 2 : 0); in wpa_ft_validate_reassoc()
3681 if (parse.fte_rsnxe_used && in wpa_ft_validate_reassoc()
3684 !parse.rsnxe) { in wpa_ft_validate_reassoc()
3710 res = ocv_verify_tx_params(parse.oci, parse.oci_len, &ci, in wpa_ft_validate_reassoc()
3732 wpa_ft_parse_ies_free(&parse); in wpa_ft_validate_reassoc()