Lines Matching refs:imsi

163 		if (cred->pcsc || cred->imsi)  in cred_with_3gpp()
175 if (cred->pcsc || cred->imsi) in cred_with_nai_realm()
191 if (cred->domain || cred->pcsc || cred->imsi || in cred_with_domain()
738 static int plmn_id_match(struct wpabuf *anqp, const char *imsi, int mnc_len) in plmn_id_match() argument
756 plmn[0] = (imsi[0] - '0') | ((imsi[1] - '0') << 4); in plmn_id_match()
757 plmn[1] = (imsi[2] - '0') | ((imsi[5] - '0') << 4); in plmn_id_match()
758 plmn[2] = (imsi[3] - '0') | ((imsi[4] - '0') << 4); in plmn_id_match()
760 plmn2[0] = (imsi[0] - '0') | ((imsi[1] - '0') << 4); in plmn_id_match()
761 plmn2[1] = (imsi[2] - '0') | 0xf0; in plmn_id_match()
762 plmn2[2] = (imsi[3] - '0') | ((imsi[4] - '0') << 4); in plmn_id_match()
784 imsi, mnc_len); in plmn_id_match()
821 static int build_root_nai(char *nai, size_t nai_len, const char *imsi, in build_root_nai() argument
835 if (imsi == NULL || os_strlen(imsi) > 16) { in build_root_nai()
839 sep = os_strchr(imsi, '-'); in build_root_nai()
841 plmn_len = sep - imsi; in build_root_nai()
843 } else if (mnc_len && os_strlen(imsi) >= 3 + mnc_len) { in build_root_nai()
845 msin = imsi + plmn_len; in build_root_nai()
856 os_memcpy(pos, imsi, plmn_len); in build_root_nai()
863 *pos++ = imsi[3]; in build_root_nai()
864 *pos++ = imsi[4]; in build_root_nai()
866 *pos++ = imsi[3]; in build_root_nai()
867 *pos++ = imsi[4]; in build_root_nai()
868 *pos++ = imsi[5]; in build_root_nai()
871 imsi[0], imsi[1], imsi[2]); in build_root_nai()
877 static int set_root_nai(struct wpa_ssid *ssid, const char *imsi, char prefix) in set_root_nai() argument
880 if (build_root_nai(nai, sizeof(nai), imsi, 0, prefix) < 0) in set_root_nai()
1055 if (!cred->pcsc && set_root_nai(ssid, cred->imsi, prefix) < 0) { in interworking_connect_3gpp()
1968 if (wpa_s->imsi[0] && wpa_s->mnc_len) in interworking_pcsc_read_imsi()
1971 len = sizeof(wpa_s->imsi) - 1; in interworking_pcsc_read_imsi()
1972 if (scard_get_imsi(wpa_s->scard, wpa_s->imsi, &len)) { in interworking_pcsc_read_imsi()
1978 wpa_s->imsi[len] = '\0'; in interworking_pcsc_read_imsi()
1981 wpa_s->imsi, wpa_s->mnc_len); in interworking_pcsc_read_imsi()
2006 if (!wpa_s->imsi[0]) { in interworking_credentials_available_3gpp()
2011 wpa_s->imsi, in interworking_credentials_available_3gpp()
2014 wpa_s->imsi[len] = '\0'; in interworking_credentials_available_3gpp()
2017 wpa_s->imsi, wpa_s->mnc_len); in interworking_credentials_available_3gpp()
2027 const char *imsi; in interworking_credentials_available_3gpp() local
2036 imsi = wpa_s->imsi; in interworking_credentials_available_3gpp()
2042 if (cred->pcsc && wpa_s->mnc_len > 0 && wpa_s->imsi[0]) { in interworking_credentials_available_3gpp()
2043 imsi = wpa_s->imsi; in interworking_credentials_available_3gpp()
2049 if (cred->imsi == NULL || !cred->imsi[0] || in interworking_credentials_available_3gpp()
2054 sep = os_strchr(cred->imsi, '-'); in interworking_credentials_available_3gpp()
2056 (sep - cred->imsi != 5 && sep - cred->imsi != 6)) in interworking_credentials_available_3gpp()
2058 mnc_len = sep - cred->imsi - 3; in interworking_credentials_available_3gpp()
2059 os_memcpy(imsi_buf, cred->imsi, 3 + mnc_len); in interworking_credentials_available_3gpp()
2061 msin_len = os_strlen(cred->imsi); in interworking_credentials_available_3gpp()
2066 imsi = imsi_buf; in interworking_credentials_available_3gpp()
2074 ret = plmn_id_match(bss->anqp->anqp_3gpp, imsi, mnc_len); in interworking_credentials_available_3gpp()
2297 char *imsi = NULL; in interworking_home_sp_cred() local
2299 if (cred->imsi) in interworking_home_sp_cred()
2300 imsi = cred->imsi; in interworking_home_sp_cred()
2305 imsi = wpa_s->imsi; in interworking_home_sp_cred()
2310 else if (cred->pcsc && wpa_s->mnc_len > 0 && wpa_s->imsi[0]) { in interworking_home_sp_cred()
2311 imsi = wpa_s->imsi; in interworking_home_sp_cred()
2316 imsi && build_root_nai(nai, sizeof(nai), imsi, mnc_len, 0) == 0) { in interworking_home_sp_cred()