Lines Matching refs:anqp
512 static struct nai_realm * nai_realm_parse(struct wpabuf *anqp, u16 *count) in nai_realm_parse() argument
519 if (anqp == NULL) in nai_realm_parse()
521 left = wpabuf_len(anqp); in nai_realm_parse()
525 pos = wpabuf_head_u8(anqp); in nai_realm_parse()
719 static int plmn_id_match(struct wpabuf *anqp, const char *imsi, int mnc_len) in plmn_id_match() argument
745 if (anqp == NULL) in plmn_id_match()
747 pos = wpabuf_head_u8(anqp); in plmn_id_match()
748 end = pos + wpabuf_len(anqp); in plmn_id_match()
968 if (bss->anqp == NULL || bss->anqp->anqp_3gpp == NULL) in interworking_connect_3gpp()
1109 static int roaming_consortium_anqp_match(const struct wpabuf *anqp, in roaming_consortium_anqp_match() argument
1115 if (anqp == NULL) in roaming_consortium_anqp_match()
1118 pos = wpabuf_head(anqp); in roaming_consortium_anqp_match()
1119 end = pos + wpabuf_len(anqp); in roaming_consortium_anqp_match()
1135 static int roaming_consortium_match(const u8 *ie, const struct wpabuf *anqp, in roaming_consortium_match() argument
1139 roaming_consortium_anqp_match(anqp, rc_id, rc_len); in roaming_consortium_match()
1153 (bss->anqp == NULL || bss->anqp->roaming_consortium == NULL)) in cred_no_required_oi_match()
1157 bss->anqp ? in cred_no_required_oi_match()
1158 bss->anqp->roaming_consortium : NULL, in cred_no_required_oi_match()
1198 if (bss->anqp == NULL || bss->anqp->hs20_wan_metrics == NULL) in cred_below_min_backhaul()
1201 wan = wpabuf_head(bss->anqp->hs20_wan_metrics); in cred_below_min_backhaul()
1223 res = interworking_home_sp_cred(wpa_s, cred, bss->anqp ? in cred_below_min_backhaul()
1224 bss->anqp->domain_name : NULL); in cred_below_min_backhaul()
1254 res = interworking_home_sp_cred(wpa_s, cred, bss->anqp ? in cred_over_max_bss_load()
1255 bss->anqp->domain_name : NULL); in cred_over_max_bss_load()
1300 if (bss->anqp == NULL || bss->anqp->hs20_connection_capability == NULL) in cred_conn_capab_missing()
1304 res = interworking_home_sp_cred(wpa_s, cred, bss->anqp ? in cred_conn_capab_missing()
1305 bss->anqp->domain_name : NULL); in cred_conn_capab_missing()
1309 capab = wpabuf_head(bss->anqp->hs20_connection_capability); in cred_conn_capab_missing()
1310 end = capab + wpabuf_len(bss->anqp->hs20_connection_capability); in cred_conn_capab_missing()
1344 (bss->anqp == NULL || bss->anqp->roaming_consortium == NULL)) in interworking_credentials_available_roaming_consortium()
1355 bss->anqp ? in interworking_credentials_available_roaming_consortium()
1356 bss->anqp->roaming_consortium : in interworking_credentials_available_roaming_consortium()
1682 realm = nai_realm_parse(bss->anqp ? bss->anqp->nai_realm : NULL, in interworking_connect_helper()
1865 if (bss->anqp == NULL || bss->anqp->anqp_3gpp == NULL) { in interworking_credentials_available_3gpp()
1868 bss->anqp, bss->anqp ? bss->anqp->anqp_3gpp : NULL); in interworking_credentials_available_3gpp()
1941 ret = plmn_id_match(bss->anqp->anqp_3gpp, imsi, mnc_len); in interworking_credentials_available_3gpp()
1989 if (bss->anqp == NULL || bss->anqp->nai_realm == NULL) in interworking_credentials_available_realm()
1997 realm = nai_realm_parse(bss->anqp->nai_realm, &count); in interworking_credentials_available_realm()
2276 if (bss->anqp == NULL || bss->anqp->domain_name == NULL) { in roaming_prio()
2281 if (interworking_home_sp_cred(wpa_s, cred, bss->anqp->domain_name) > 0) in roaming_prio()
2289 bss->anqp->domain_name)) { in roaming_prio()
2390 res = interworking_home_sp(wpa_s, bss->anqp ? in interworking_select_network()
2391 bss->anqp->domain_name : NULL); in interworking_select_network()
2524 if (other->anqp == NULL) in interworking_match_anqp_info()
2526 if (other->anqp->roaming_consortium == NULL && in interworking_match_anqp_info()
2527 other->anqp->nai_realm == NULL && in interworking_match_anqp_info()
2528 other->anqp->anqp_3gpp == NULL && in interworking_match_anqp_info()
2529 other->anqp->domain_name == NULL) in interworking_match_anqp_info()
2543 other->anqp->users++; in interworking_match_anqp_info()
2544 return other->anqp; in interworking_match_anqp_info()
2584 if (bss->anqp == NULL) { in interworking_next_anqp_fetch()
2585 bss->anqp = interworking_match_anqp_info(wpa_s, in interworking_next_anqp_fetch()
2587 if (bss->anqp) { in interworking_next_anqp_fetch()
2591 bss->anqp = wpa_bss_anqp_alloc(); in interworking_next_anqp_fetch()
2592 if (bss->anqp == NULL) in interworking_next_anqp_fetch()
2725 struct wpa_bss_anqp *anqp = NULL; in interworking_parse_rx_anqp_resp() local
2731 anqp = bss->anqp; in interworking_parse_rx_anqp_resp()
2739 if (anqp) { in interworking_parse_rx_anqp_resp()
2740 wpabuf_free(anqp->capability_list); in interworking_parse_rx_anqp_resp()
2741 anqp->capability_list = wpabuf_alloc_copy(pos, slen); in interworking_parse_rx_anqp_resp()
2748 if (anqp) { in interworking_parse_rx_anqp_resp()
2749 wpabuf_free(anqp->venue_name); in interworking_parse_rx_anqp_resp()
2750 anqp->venue_name = wpabuf_alloc_copy(pos, slen); in interworking_parse_rx_anqp_resp()
2759 if (anqp) { in interworking_parse_rx_anqp_resp()
2760 wpabuf_free(anqp->network_auth_type); in interworking_parse_rx_anqp_resp()
2761 anqp->network_auth_type = wpabuf_alloc_copy(pos, slen); in interworking_parse_rx_anqp_resp()
2769 if (anqp) { in interworking_parse_rx_anqp_resp()
2770 wpabuf_free(anqp->roaming_consortium); in interworking_parse_rx_anqp_resp()
2771 anqp->roaming_consortium = wpabuf_alloc_copy(pos, slen); in interworking_parse_rx_anqp_resp()
2780 if (anqp) { in interworking_parse_rx_anqp_resp()
2781 wpabuf_free(anqp->ip_addr_type_availability); in interworking_parse_rx_anqp_resp()
2782 anqp->ip_addr_type_availability = in interworking_parse_rx_anqp_resp()
2790 if (anqp) { in interworking_parse_rx_anqp_resp()
2791 wpabuf_free(anqp->nai_realm); in interworking_parse_rx_anqp_resp()
2792 anqp->nai_realm = wpabuf_alloc_copy(pos, slen); in interworking_parse_rx_anqp_resp()
2800 if (anqp) { in interworking_parse_rx_anqp_resp()
2801 wpabuf_free(anqp->anqp_3gpp); in interworking_parse_rx_anqp_resp()
2802 anqp->anqp_3gpp = wpabuf_alloc_copy(pos, slen); in interworking_parse_rx_anqp_resp()
2809 if (anqp) { in interworking_parse_rx_anqp_resp()
2810 wpabuf_free(anqp->domain_name); in interworking_parse_rx_anqp_resp()
2811 anqp->domain_name = wpabuf_alloc_copy(pos, slen); in interworking_parse_rx_anqp_resp()