Home | History | Annotate | Download | only in wpa_supplicant

Lines Matching defs:imsi

125 		if (cred->pcsc || cred->imsi)
137 if (cred->pcsc || cred->imsi)
153 if (cred->domain || cred->pcsc || cred->imsi)
600 static int plmn_id_match(struct wpabuf *anqp, const char *imsi, int mnc_len)
618 plmn[0] = (imsi[0] - '0') | ((imsi[1] - '0') << 4);
619 plmn[1] = (imsi[2] - '0') | ((imsi[5] - '0') << 4);
620 plmn[2] = (imsi[3] - '0') | ((imsi[4] - '0') << 4);
622 plmn2[0] = (imsi[0] - '0') | ((imsi[1] - '0') << 4);
623 plmn2[1] = (imsi[2] - '0') | 0xf0;
624 plmn2[2] = (imsi[3] - '0') | ((imsi[4] - '0') << 4);
644 wpa_printf(MSG_DEBUG, "Interworking: Matching against MCC/MNC alternatives: %02x:%02x:%02x or %02x:%02x:%02x (IMSI %s, MNC length %d)",
646 imsi, mnc_len);
683 static int build_root_nai(char *nai, size_t nai_len, const char *imsi,
693 * <aka:0|sim:1><IMSI>@wlan.mnc<MNC>.mcc<MCC>.3gppnetwork.org
697 if (imsi == NULL || os_strlen(imsi) > 16) {
698 wpa_printf(MSG_DEBUG, "No valid IMSI available");
701 sep = os_strchr(imsi, '-');
703 plmn_len = sep - imsi;
705 } else if (mnc_len && os_strlen(imsi) >= 3 + mnc_len) {
707 msin = imsi + plmn_len;
718 os_memcpy(pos, imsi, plmn_len);
725 *pos++ = imsi[3];
726 *pos++ = imsi[4];
728 *pos++ = imsi[3];
729 *pos++ = imsi[4];
730 *pos++ = imsi[5];
733 imsi[0], imsi[1], imsi[2]);
739 static int set_root_nai(struct wpa_ssid *ssid, const char *imsi, char prefix)
742 if (build_root_nai(nai, sizeof(nai), imsi, 0, prefix) < 0)
836 if (!cred->pcsc && set_root_nai(ssid, cred->imsi, prefix) < 0) {
1358 const char *imsi;
1365 wpa_s->imsi[0]) {
1366 imsi = wpa_s->imsi;
1372 if (cred->pcsc && wpa_s->mnc_len > 0 && wpa_s->imsi[0]) {
1373 imsi = wpa_s->imsi;
1379 if (cred->imsi == NULL || !cred->imsi[0] ||
1383 sep = os_strchr(cred->imsi, '-');
1385 (sep - cred->imsi != 5 && sep - cred->imsi != 6))
1387 mnc_len = sep - cred->imsi - 3;
1388 os_memcpy(imsi_buf, cred->imsi, 3 + mnc_len);
1390 msin_len = os_strlen(cred->imsi);
1395 imsi = imsi_buf;
1402 ret = plmn_id_match(bss->anqp->anqp_3gpp, imsi, mnc_len);
1520 char *imsi = NULL;
1522 if (cred->imsi)
1523 imsi = cred->imsi;
1526 wpa_s->scard && wpa_s->imsi[0]) {
1527 imsi = wpa_s->imsi;
1532 imsi && build_root_nai(nai, sizeof(nai), imsi, mnc_len, 0) == 0) {