Lines Matching refs:anqp
435 static struct nai_realm * nai_realm_parse(struct wpabuf *anqp, u16 *count) in nai_realm_parse() argument
441 if (anqp == NULL || wpabuf_len(anqp) < 2) in nai_realm_parse()
444 pos = wpabuf_head_u8(anqp); in nai_realm_parse()
445 end = pos + wpabuf_len(anqp); in nai_realm_parse()
590 static int plmn_id_match(struct wpabuf *anqp, const char *imsi, int mnc_len) in plmn_id_match() argument
606 if (anqp == NULL) in plmn_id_match()
608 pos = wpabuf_head_u8(anqp); in plmn_id_match()
609 end = pos + wpabuf_len(anqp); in plmn_id_match()
743 if (bss->anqp == NULL || bss->anqp->anqp_3gpp == NULL) in interworking_connect_3gpp()
774 if (plmn_id_match(bss->anqp->anqp_3gpp, imsi, mnc_len)) in interworking_connect_3gpp()
913 static int roaming_consortium_anqp_match(const struct wpabuf *anqp, in roaming_consortium_anqp_match() argument
919 if (anqp == NULL) in roaming_consortium_anqp_match()
922 pos = wpabuf_head(anqp); in roaming_consortium_anqp_match()
923 end = pos + wpabuf_len(anqp); in roaming_consortium_anqp_match()
939 static int roaming_consortium_match(const u8 *ie, const struct wpabuf *anqp, in roaming_consortium_match() argument
943 roaming_consortium_anqp_match(anqp, rc_id, rc_len); in roaming_consortium_match()
956 (bss->anqp == NULL || bss->anqp->roaming_consortium == NULL)) in interworking_credentials_available_roaming_consortium()
967 bss->anqp ? in interworking_credentials_available_roaming_consortium()
968 bss->anqp->roaming_consortium : in interworking_credentials_available_roaming_consortium()
1159 realm = nai_realm_parse(bss->anqp ? bss->anqp->nai_realm : NULL, in interworking_connect()
1287 if (bss->anqp == NULL || bss->anqp->anqp_3gpp == NULL) in interworking_credentials_available_3gpp()
1320 ret = plmn_id_match(bss->anqp->anqp_3gpp, imsi, mnc_len); in interworking_credentials_available_3gpp()
1340 if (bss->anqp == NULL || bss->anqp->nai_realm == NULL) in interworking_credentials_available_realm()
1348 realm = nai_realm_parse(bss->anqp->nai_realm, &count); in interworking_credentials_available_realm()
1529 res = interworking_home_sp(wpa_s, bss->anqp ? in interworking_select_network()
1530 bss->anqp->domain_name : NULL); in interworking_select_network()
1604 if (other->anqp == NULL) in interworking_match_anqp_info()
1617 other->anqp->users++; in interworking_match_anqp_info()
1618 return other->anqp; in interworking_match_anqp_info()
1642 if (bss->anqp == NULL) { in interworking_next_anqp_fetch()
1643 bss->anqp = interworking_match_anqp_info(wpa_s, in interworking_next_anqp_fetch()
1645 if (bss->anqp) { in interworking_next_anqp_fetch()
1649 bss->anqp = wpa_bss_anqp_alloc(); in interworking_next_anqp_fetch()
1650 if (bss->anqp == NULL) in interworking_next_anqp_fetch()
1748 struct wpa_bss_anqp *anqp = NULL; in interworking_parse_rx_anqp_resp() local
1754 anqp = bss->anqp; in interworking_parse_rx_anqp_resp()
1765 if (anqp) { in interworking_parse_rx_anqp_resp()
1766 wpabuf_free(anqp->venue_name); in interworking_parse_rx_anqp_resp()
1767 anqp->venue_name = wpabuf_alloc_copy(pos, slen); in interworking_parse_rx_anqp_resp()
1776 if (anqp) { in interworking_parse_rx_anqp_resp()
1777 wpabuf_free(anqp->network_auth_type); in interworking_parse_rx_anqp_resp()
1778 anqp->network_auth_type = wpabuf_alloc_copy(pos, slen); in interworking_parse_rx_anqp_resp()
1786 if (anqp) { in interworking_parse_rx_anqp_resp()
1787 wpabuf_free(anqp->roaming_consortium); in interworking_parse_rx_anqp_resp()
1788 anqp->roaming_consortium = wpabuf_alloc_copy(pos, slen); in interworking_parse_rx_anqp_resp()
1797 if (anqp) { in interworking_parse_rx_anqp_resp()
1798 wpabuf_free(anqp->ip_addr_type_availability); in interworking_parse_rx_anqp_resp()
1799 anqp->ip_addr_type_availability = in interworking_parse_rx_anqp_resp()
1807 if (anqp) { in interworking_parse_rx_anqp_resp()
1808 wpabuf_free(anqp->nai_realm); in interworking_parse_rx_anqp_resp()
1809 anqp->nai_realm = wpabuf_alloc_copy(pos, slen); in interworking_parse_rx_anqp_resp()
1817 if (anqp) { in interworking_parse_rx_anqp_resp()
1818 wpabuf_free(anqp->anqp_3gpp); in interworking_parse_rx_anqp_resp()
1819 anqp->anqp_3gpp = wpabuf_alloc_copy(pos, slen); in interworking_parse_rx_anqp_resp()
1826 if (anqp) { in interworking_parse_rx_anqp_resp()
1827 wpabuf_free(anqp->domain_name); in interworking_parse_rx_anqp_resp()
1828 anqp->domain_name = wpabuf_alloc_copy(pos, slen); in interworking_parse_rx_anqp_resp()