Home | History | Annotate | Download | only in wpa_supplicant

Lines Matching refs:cred

142 	struct wpa_cred *cred;
144 for (cred = wpa_s->conf->cred; cred; cred = cred->next) {
145 if (cred->roaming_consortium_len)
147 if (cred->required_roaming_consortium_len)
156 struct wpa_cred *cred;
158 for (cred = wpa_s->conf->cred; cred; cred = cred->next) {
159 if (cred->pcsc || cred->imsi)
168 struct wpa_cred *cred;
170 for (cred = wpa_s->conf->cred; cred; cred = cred->next) {
171 if (cred->pcsc || cred->imsi)
173 if (!cred->eap_method)
175 if (cred->realm && cred->roaming_consortium_len == 0)
184 struct wpa_cred *cred;
186 for (cred = wpa_s->conf->cred; cred; cred = cred->next) {
187 if (cred->domain || cred->pcsc || cred->imsi ||
188 cred->roaming_partner)
199 struct wpa_cred *cred;
201 for (cred = wpa_s->conf->cred; cred; cred = cred->next) {
202 if (cred->min_dl_bandwidth_home ||
203 cred->min_ul_bandwidth_home ||
204 cred->min_dl_bandwidth_roaming ||
205 cred->min_ul_bandwidth_roaming)
214 struct wpa_cred *cred;
216 for (cred = wpa_s->conf->cred; cred; cred = cred->next) {
217 if (cred->num_req_conn_capab)
601 "nai-realm-cred-username: EAP method not supported: %d",
610 "nai-realm-cred-username: Method: %d is not TTLS, PEAP, or FAST",
619 "nai-realm-cred-username: PEAP/FAST: Inner method not supported: %d",
626 "nai-realm-cred-username: MSCHAPv2 not supported");
637 "nai-realm-cred-username: TTLS, but inner not supported: %d",
647 "nai-realm-cred-username: TTLS, inner-non-eap not supported: %d",
657 "nai-realm-cred-username: inner-method not GTC or MSCHAPv2: %d",
671 "nai-realm-cred-cert: Method not supported: %d",
679 "nai-realm-cred-cert: Method not TLS: %d",
689 struct wpa_cred *cred,
694 if (cred->username == NULL ||
695 cred->username[0] == '\0' ||
696 ((cred->password == NULL ||
697 cred->password[0] == '\0') &&
698 (cred->private_key == NULL ||
699 cred->private_key[0] == '\0'))) {
701 "nai-realm-find-eap: incomplete cred info: username: %s password: %s private_key: %s",
702 cred->username ? cred->username : "NULL",
703 cred->password ? cred->password : "NULL",
704 cred->private_key ? cred->private_key : "NULL");
710 if (cred->password && cred->password[0] &&
713 if (cred->private_key && cred->private_key[0] &&
875 struct wpa_cred *cred, struct wpa_bss *bss)
884 if (ssid->parent_cred != cred)
901 struct wpa_cred *cred,
907 if (ssid->parent_cred != cred)
964 struct wpa_cred *cred,
979 if (already_connected(wpa_s, cred, bss)) {
985 remove_duplicate_network(wpa_s, cred, bss);
990 ssid->parent_cred = cred;
994 ssid->priority = cred->priority;
1001 ssid->eap.sim_num = cred->sim_num;
1007 if (cred->pcsc && wpa_s->scard && scard_supports_umts(wpa_s->scard))
1009 if (cred->eap_method && cred->eap_method[0].vendor == EAP_VENDOR_IETF) {
1010 if (cred->eap_method[0].method == EAP_TYPE_SIM ||
1011 cred->eap_method[0].method == EAP_TYPE_AKA ||
1012 cred->eap_method[0].method == EAP_TYPE_AKA_PRIME)
1013 eap_type = cred->eap_method[0].method;
1039 if (!cred->pcsc && set_root_nai(ssid, cred->imsi, prefix) < 0) {
1044 if (cred->milenage && cred->milenage[0]) {
1046 cred->milenage) < 0)
1048 } else if (cred->pcsc) {
1148 static int cred_no_required_oi_match(struct wpa_cred *cred, struct wpa_bss *bss)
1152 if (cred->required_roaming_consortium_len == 0)
1164 cred->required_roaming_consortium,
1165 cred->required_roaming_consortium_len);
1169 static int cred_excluded_ssid(struct wpa_cred *cred, struct wpa_bss *bss)
1173 if (!cred->excluded_ssid)
1176 for (i = 0; i < cred->num_excluded_ssid; i++) {
1177 struct excluded_ssid *e = &cred->excluded_ssid[i];
1188 struct wpa_cred *cred, struct wpa_bss *bss)
1198 if (!cred->min_dl_bandwidth_home &&
1199 !cred->min_ul_bandwidth_home &&
1200 !cred->min_dl_bandwidth_roaming &&
1201 !cred->min_ul_bandwidth_roaming)
1229 res = interworking_home_sp_cred(wpa_s, cred, bss->anqp ?
1232 if (cred->min_dl_bandwidth_home > dl_bandwidth)
1234 if (cred->min_ul_bandwidth_home > ul_bandwidth)
1237 if (cred->min_dl_bandwidth_roaming > dl_bandwidth)
1239 if (cred->min_ul_bandwidth_roaming > ul_bandwidth)
1249 struct wpa_cred *cred, struct wpa_bss *bss)
1254 if (!cred->max_bss_load)
1261 res = interworking_home_sp_cred(wpa_s, cred, bss->anqp ?
1266 return ie[4] > cred->max_bss_load;
1301 struct wpa_cred *cred, struct wpa_bss *bss)
1309 if (!cred->num_req_conn_capab)
1316 res = interworking_home_sp_cred(wpa_s, cred, bss->anqp ?
1324 for (i = 0; i < cred->num_req_conn_capab; i++) {
1325 ports = cred->req_conn_capab_port[i];
1328 cred->req_conn_capab_proto[i]))
1334 cred->req_conn_capab_proto[i],
1350 struct wpa_cred *cred, *selected = NULL;
1360 if (wpa_s->conf->cred == NULL)
1363 for (cred = wpa_s->conf->cred; cred; cred = cred->next) {
1364 if (cred->roaming_consortium_len == 0)
1371 cred->roaming_consortium,
1372 cred->roaming_consortium_len))
1375 if (cred_no_required_oi_match(cred, bss))
1377 if (!ignore_bw && cred_below_min_backhaul(wpa_s, cred, bss))
1379 if (!ignore_bw && cred_over_max_bss_load(wpa_s, cred, bss))
1381 if (!ignore_bw && cred_conn_capab_missing(wpa_s, cred, bss))
1383 if (cred_excluded_ssid(cred, bss)) {
1387 selected = cred;
1392 cred_prio_cmp(selected, cred) < 0) {
1393 selected = cred;
1407 struct wpa_cred *cred, int ttls)
1409 if (cred->eap_method) {
1410 ttls = cred->eap_method->vendor == EAP_VENDOR_IETF &&
1411 cred->eap_method->method == EAP_TYPE_TTLS;
1418 os_memcpy(ssid->eap.eap_methods, cred->eap_method,
1419 sizeof(*cred->eap_method));
1424 if (ttls && cred->username && cred->username[0]) {
1428 pos = os_strchr(cred->username, '@');
1435 } else if (cred->realm) {
1436 size_t buflen = 10 + os_strlen(cred->realm) + 1;
1440 os_snprintf(anon, buflen, "anonymous@%s", cred->realm);
1454 if (!ttls && cred->username && cred->username[0] && cred->realm &&
1455 !os_strchr(cred->username, '@')) {
1460 buflen = os_strlen(cred->username) + 1 +
1461 os_strlen(cred->realm) + 1;
1466 os_snprintf(id, buflen, "%s@%s", cred->username, cred->realm);
1471 } else if (cred->username && cred->username[0] &&
1472 wpa_config_set_quoted(ssid, "identity", cred->username) < 0)
1475 if (cred->password && cred->password[0]) {
1476 if (cred->ext_password &&
1477 wpa_config_set(ssid, "password", cred->password, 0) < 0)
1479 if (!cred->ext_password &&
1480 wpa_config_set_quoted(ssid, "password", cred->password) <
1485 if (cred->client_cert && cred->client_cert[0] &&
1486 wpa_config_set_quoted(ssid, "client_cert", cred->client_cert) < 0)
1490 if (cred->private_key &&
1491 os_strncmp(cred->private_key, "keystore://", 11) == 0) {
1495 cred->private_key + 11) < 0 ||
1500 if (cred->private_key && cred->private_key[0] &&
1501 wpa_config_set_quoted(ssid, "private_key", cred->private_key) < 0)
1504 if (cred->private_key_passwd && cred->private_key_passwd[0] &&
1506 cred->private_key_passwd) < 0)
1509 if (cred->phase1) {
1511 ssid->eap.phase1 = os_strdup(cred->phase1);
1513 if (cred->phase2) {
1515 ssid->eap.phase2 = os_strdup(cred->phase2);
1518 if (cred->ca_cert && cred->ca_cert[0] &&
1519 wpa_config_set_quoted(ssid, "ca_cert", cred->ca_cert) < 0)
1522 if (cred->domain_suffix_match && cred->domain_suffix_match[0] &&
1524 cred->domain_suffix_match) < 0)
1527 ssid->eap.ocsp = cred->ocsp;
1534 struct wpa_supplicant *wpa_s, struct wpa_cred *cred,
1542 if (already_connected(wpa_s, cred, bss)) {
1548 remove_duplicate_network(wpa_s, cred, bss);
1553 ssid->parent_cred = cred;
1556 ssid->priority = cred->priority;
1567 if (cred->eap_method == NULL) {
1574 ssid, cred,
1575 cred->eap_method->vendor == EAP_VENDOR_IETF &&
1576 cred->eap_method->method == EAP_TYPE_TTLS) < 0)
1597 struct wpa_cred *cred, *cred_rc, *cred_3gpp;
1606 if (wpa_s->conf->cred == NULL || bss == NULL)
1640 cred = interworking_credentials_available_realm(wpa_s, bss, 0, excl);
1641 if (cred) {
1644 cred->priority, cred->sp_priority);
1659 if (!cred_rc && !cred && !cred_3gpp) {
1672 cred = interworking_credentials_available_realm(wpa_s, bss, 1,
1674 if (cred) {
1677 cred->priority, cred->sp_priority);
1694 (cred == NULL || cred_prio_cmp(cred_rc, cred) >= 0) &&
1700 (cred == NULL || cred_prio_cmp(cred_3gpp, cred) >= 0)) {
1705 if (cred == NULL) {
1722 if (!nai_realm_match(&realm[i], cred->realm))
1724 eap = nai_realm_find_eap(wpa_s, cred, &realm[i]);
1740 if (already_connected(wpa_s, cred, bss)) {
1747 remove_duplicate_network(wpa_s, cred, bss);
1754 ssid->parent_cred = cred;
1757 ssid->priority = cred->priority;
1832 if (interworking_set_eap_params(ssid, cred,
1891 struct wpa_cred *cred;
1922 for (cred = wpa_s->conf->cred; cred; cred = cred->next) {
1930 if (cred->pcsc && wpa_s->scard) {
1939 if (cred->pcsc && wpa_s->mnc_len > 0 && wpa_s->imsi[0]) {
1946 if (cred->imsi == NULL || !cred->imsi[0] ||
1948 (cred->milenage == NULL || !cred->milenage[0])))
1951 sep = os_strchr(cred->imsi, '-');
1953 (sep - cred->imsi != 5 && sep - cred->imsi != 6))
1955 mnc_len = sep - cred->imsi - 3;
1956 os_memcpy(imsi_buf, cred->imsi, 3 + mnc_len);
1958 msin_len = os_strlen(cred->imsi);
1975 if (cred_no_required_oi_match(cred, bss))
1978 cred_below_min_backhaul(wpa_s, cred, bss))
1981 cred_over_max_bss_load(wpa_s, cred, bss))
1984 cred_conn_capab_missing(wpa_s, cred, bss))
1986 if (cred_excluded_ssid(cred, bss)) {
1990 selected = cred;
1995 cred_prio_cmp(selected, cred) < 0) {
1996 selected = cred;
2014 struct wpa_cred *cred, *selected = NULL;
2022 if (wpa_s->conf->cred == NULL)
2035 for (cred = wpa_s->conf->cred; cred; cred = cred->next) {
2036 if (cred->realm == NULL)
2040 if (!nai_realm_match(&realm[i], cred->realm))
2042 if (nai_realm_find_eap(wpa_s, cred, &realm[i])) {
2043 if (cred_no_required_oi_match(cred, bss))
2046 cred_below_min_backhaul(wpa_s, cred, bss))
2049 cred_over_max_bss_load(wpa_s, cred, bss))
2052 cred_conn_capab_missing(wpa_s, cred, bss))
2054 if (cred_excluded_ssid(cred, bss)) {
2058 selected = cred;
2063 cred_prio_cmp(selected, cred) < 0)
2065 selected = cred;
2090 struct wpa_cred *cred, *cred2;
2100 cred = interworking_credentials_available_realm(wpa_s, bss, ignore_bw,
2104 if (cred && cred2 &&
2105 (cred_prio_cmp(cred2, cred) >= 0 || (!excluded2 && excluded1))) {
2106 cred = cred2;
2109 if (!cred) {
2110 cred = cred2;
2116 if (cred && cred2 &&
2117 (cred_prio_cmp(cred2, cred) >= 0 || (!excluded2 && excluded1))) {
2118 cred = cred2;
2121 if (!cred) {
2122 cred = cred2;
2128 return cred;
2135 struct wpa_cred *cred;
2139 cred = interworking_credentials_available_helper(wpa_s, bss, 0,
2141 if (cred)
2142 return cred;
2186 struct wpa_cred *cred,
2196 if (cred->imsi)
2197 imsi = cred->imsi;
2199 else if (cred->pcsc && wpa_s->scard) {
2207 else if (cred->pcsc && wpa_s->mnc_len > 0 && wpa_s->imsi[0]) {
2228 if (domain_names == NULL || cred->domain == NULL)
2231 for (i = 0; i < cred->num_domain; i++) {
2234 cred->domain[i]);
2235 if (domain_name_list_contains(domain_names, cred->domain[i], 1))
2246 struct wpa_cred *cred;
2248 if (domain_names == NULL || wpa_s->conf->cred == NULL)
2251 for (cred = wpa_s->conf->cred; cred; cred = cred->next) {
2252 int res = interworking_home_sp_cred(wpa_s, cred, domain_names);
2305 static u8 roaming_prio(struct wpa_supplicant *wpa_s, struct wpa_cred *cred,
2315 if (interworking_home_sp_cred(wpa_s, cred, bss->anqp->domain_name) > 0)
2321 for (i = 0; i < cred->num_roaming_partner; i++) {
2322 if (roaming_partner_match(wpa_s, &cred->roaming_partner[i],
2325 cred->roaming_partner[i].priority);
2326 return cred->roaming_partner[i].priority;
2337 struct wpa_cred *cred)
2348 best_prio = roaming_prio(wpa_s, cred, selected);
2350 MACSTR " (cred=%d)", best_prio, MAC2STR(selected->bssid),
2351 cred->id);
2363 MACSTR " (cred=%d)", prio, MAC2STR(bss->bssid),
2367 bh1 = cred_below_min_backhaul(wpa_s, cred, selected);
2368 load1 = cred_over_max_bss_load(wpa_s, cred, selected);
2369 conn1 = cred_conn_capab_missing(wpa_s, cred, selected);
2394 struct wpa_cred *cred, *selected_cred = NULL;
2406 cred = interworking_credentials_available(wpa_s, bss,
2408 if (!cred)
2432 bh = cred_below_min_backhaul(wpa_s, cred, bss);
2433 bss_load = cred_over_max_bss_load(wpa_s, cred, bss);
2434 conn_capab = cred_conn_capab_missing(wpa_s, cred, bss);
2441 cred->id, cred->priority, cred->sp_priority);
2449 cred_prio_cmp(cred, selected2_cred) > 0) {
2452 selected2_cred = cred;
2456 cred_prio_cmp(cred, selected2_home_cred) >
2460 selected2_home_cred = cred;
2464 cred_prio_cmp(cred, selected_cred) > 0) {
2467 selected_cred = cred;
2471 cred_prio_cmp(cred, selected_home_cred) >
2475 selected_home_cred = cred;