• Home
  • Raw
  • Download

Lines Matching refs:ssid

110 		struct wpa_ssid *ssid = NULL;  in wpas_wps_eapol_cb()  local
130 bss = wpa_supplicant_pick_network(wpa_s, &ssid); in wpas_wps_eapol_cb()
173 struct wpa_ssid *ssid, in wpas_wps_security_workaround() argument
193 if (ssid->ssid == NULL) in wpas_wps_security_workaround()
195 bss = wpa_bss_get(wpa_s, cred->mac_addr, ssid->ssid, ssid->ssid_len); in wpas_wps_security_workaround()
216 if (ie == NULL && (ssid->proto & WPA_PROTO_WPA) && in wpas_wps_security_workaround()
217 (ssid->pairwise_cipher & WPA_CIPHER_TKIP)) { in wpas_wps_security_workaround()
229 if (ccmp && !(ssid->pairwise_cipher & WPA_CIPHER_CCMP) && in wpas_wps_security_workaround()
230 (ssid->pairwise_cipher & WPA_CIPHER_TKIP) && in wpas_wps_security_workaround()
235 ssid->pairwise_cipher |= WPA_CIPHER_CCMP; in wpas_wps_security_workaround()
237 ssid->pairwise_cipher = WPA_CIPHER_CCMP; in wpas_wps_security_workaround()
240 if (wpa2 && !(ssid->proto & WPA_PROTO_RSN) && in wpas_wps_security_workaround()
241 (ssid->proto & WPA_PROTO_WPA) && in wpas_wps_security_workaround()
246 ssid->proto |= WPA_PROTO_RSN; in wpas_wps_security_workaround()
248 ssid->proto = WPA_PROTO_RSN; in wpas_wps_security_workaround()
256 struct wpa_ssid *ssid, *next; in wpas_wps_remove_dup_network() local
258 for (ssid = wpa_s->conf->ssid, next = ssid ? ssid->next : NULL; ssid; in wpas_wps_remove_dup_network()
259 ssid = next, next = ssid ? ssid->next : NULL) { in wpas_wps_remove_dup_network()
264 if (ssid == new_ssid) in wpas_wps_remove_dup_network()
267 if (ssid->bssid_set || new_ssid->bssid_set) { in wpas_wps_remove_dup_network()
268 if (ssid->bssid_set != new_ssid->bssid_set) in wpas_wps_remove_dup_network()
270 if (os_memcmp(ssid->bssid, new_ssid->bssid, ETH_ALEN) != in wpas_wps_remove_dup_network()
276 if (ssid->ssid_len == 0 || ssid->ssid_len != new_ssid->ssid_len) in wpas_wps_remove_dup_network()
279 if (ssid->ssid && new_ssid->ssid) { in wpas_wps_remove_dup_network()
280 if (os_memcmp(ssid->ssid, new_ssid->ssid, in wpas_wps_remove_dup_network()
281 ssid->ssid_len) != 0) in wpas_wps_remove_dup_network()
283 } else if (ssid->ssid || new_ssid->ssid) in wpas_wps_remove_dup_network()
287 if (ssid->auth_alg != new_ssid->auth_alg || in wpas_wps_remove_dup_network()
288 ssid->key_mgmt != new_ssid->key_mgmt || in wpas_wps_remove_dup_network()
289 ssid->group_cipher != new_ssid->group_cipher) in wpas_wps_remove_dup_network()
298 if (ssid->wps_run && ssid->wps_run == new_ssid->wps_run && in wpas_wps_remove_dup_network()
299 wpa_key_mgmt_wpa_psk(ssid->key_mgmt)) { in wpas_wps_remove_dup_network()
300 if (new_ssid->passphrase && ssid->passphrase && in wpas_wps_remove_dup_network()
301 os_strcmp(new_ssid->passphrase, ssid->passphrase) != in wpas_wps_remove_dup_network()
309 (!ssid->psk_set || in wpas_wps_remove_dup_network()
310 os_memcmp(new_ssid->psk, ssid->psk, 32) != 0)) { in wpas_wps_remove_dup_network()
316 if ((new_ssid->passphrase && !ssid->passphrase) || in wpas_wps_remove_dup_network()
317 (!new_ssid->passphrase && ssid->passphrase)) { in wpas_wps_remove_dup_network()
325 new_ssid->proto |= ssid->proto; in wpas_wps_remove_dup_network()
326 new_ssid->pairwise_cipher |= ssid->pairwise_cipher; in wpas_wps_remove_dup_network()
332 if (ssid->proto != new_ssid->proto || in wpas_wps_remove_dup_network()
333 ssid->pairwise_cipher != new_ssid->pairwise_cipher) in wpas_wps_remove_dup_network()
338 wpa_printf(MSG_DEBUG, "Remove duplicate network %d", ssid->id); in wpas_wps_remove_dup_network()
339 wpas_notify_network_removed(wpa_s, ssid); in wpas_wps_remove_dup_network()
340 wpa_config_remove_network(wpa_s->conf, ssid->id); in wpas_wps_remove_dup_network()
349 struct wpa_ssid *ssid = wpa_s->current_ssid; in wpa_supplicant_wps_cred() local
377 wpa_hexdump_ascii(MSG_DEBUG, "WPS: SSID", cred->ssid, cred->ssid_len); in wpa_supplicant_wps_cred()
412 if (ssid && (ssid->key_mgmt & WPA_KEY_MGMT_WPS)) { in wpa_supplicant_wps_cred()
416 if (ssid->eap.identity && in wpa_supplicant_wps_cred()
417 ssid->eap.identity_len == WSC_ID_REGISTRAR_LEN && in wpa_supplicant_wps_cred()
418 os_memcmp(ssid->eap.identity, WSC_ID_REGISTRAR, in wpa_supplicant_wps_cred()
422 os_free(ssid->eap.identity); in wpa_supplicant_wps_cred()
423 ssid->eap.identity = NULL; in wpa_supplicant_wps_cred()
424 ssid->eap.identity_len = 0; in wpa_supplicant_wps_cred()
425 os_free(ssid->eap.phase1); in wpa_supplicant_wps_cred()
426 ssid->eap.phase1 = NULL; in wpa_supplicant_wps_cred()
427 os_free(ssid->eap.eap_methods); in wpa_supplicant_wps_cred()
428 ssid->eap.eap_methods = NULL; in wpa_supplicant_wps_cred()
429 if (!ssid->p2p_group) { in wpa_supplicant_wps_cred()
430 ssid->temporary = 0; in wpa_supplicant_wps_cred()
431 ssid->bssid_set = 0; in wpa_supplicant_wps_cred()
433 ssid->disabled_until.sec = 0; in wpa_supplicant_wps_cred()
434 ssid->disabled_until.usec = 0; in wpa_supplicant_wps_cred()
435 ssid->auth_failures = 0; in wpa_supplicant_wps_cred()
439 ssid = wpa_config_add_network(wpa_s->conf); in wpa_supplicant_wps_cred()
440 if (ssid == NULL) in wpa_supplicant_wps_cred()
450 ssid->p2p_group = wpa_s->current_ssid->p2p_group; in wpa_supplicant_wps_cred()
451 ssid->temporary = wpa_s->current_ssid->temporary; in wpa_supplicant_wps_cred()
453 wpas_notify_network_added(wpa_s, ssid); in wpa_supplicant_wps_cred()
456 wpa_config_set_network_defaults(ssid); in wpa_supplicant_wps_cred()
457 ssid->wps_run = wpa_s->wps_run; in wpa_supplicant_wps_cred()
459 os_free(ssid->ssid); in wpa_supplicant_wps_cred()
460 ssid->ssid = os_malloc(cred->ssid_len); in wpa_supplicant_wps_cred()
461 if (ssid->ssid) { in wpa_supplicant_wps_cred()
462 os_memcpy(ssid->ssid, cred->ssid, cred->ssid_len); in wpa_supplicant_wps_cred()
463 ssid->ssid_len = cred->ssid_len; in wpa_supplicant_wps_cred()
470 ssid->pairwise_cipher = WPA_CIPHER_TKIP; in wpa_supplicant_wps_cred()
473 ssid->pairwise_cipher = WPA_CIPHER_CCMP; in wpa_supplicant_wps_cred()
479 ssid->auth_alg = WPA_AUTH_ALG_OPEN; in wpa_supplicant_wps_cred()
480 ssid->key_mgmt = WPA_KEY_MGMT_NONE; in wpa_supplicant_wps_cred()
481 ssid->proto = 0; in wpa_supplicant_wps_cred()
488 ssid->id, ssid->id); in wpa_supplicant_wps_cred()
489 ssid->disabled = 1; in wpa_supplicant_wps_cred()
494 ssid->auth_alg = WPA_AUTH_ALG_OPEN; in wpa_supplicant_wps_cred()
495 ssid->key_mgmt = WPA_KEY_MGMT_PSK; in wpa_supplicant_wps_cred()
496 ssid->proto = WPA_PROTO_WPA; in wpa_supplicant_wps_cred()
499 ssid->auth_alg = WPA_AUTH_ALG_OPEN; in wpa_supplicant_wps_cred()
500 ssid->key_mgmt = WPA_KEY_MGMT_PSK; in wpa_supplicant_wps_cred()
501 ssid->proto = WPA_PROTO_RSN; in wpa_supplicant_wps_cred()
505 if (ssid->key_mgmt == WPA_KEY_MGMT_PSK) { in wpa_supplicant_wps_cred()
507 if (hexstr2bin((const char *) cred->key, ssid->psk, in wpa_supplicant_wps_cred()
513 ssid->psk_set = 1; in wpa_supplicant_wps_cred()
514 ssid->export_keys = 1; in wpa_supplicant_wps_cred()
516 os_free(ssid->passphrase); in wpa_supplicant_wps_cred()
517 ssid->passphrase = os_malloc(cred->key_len + 1); in wpa_supplicant_wps_cred()
518 if (ssid->passphrase == NULL) in wpa_supplicant_wps_cred()
520 os_memcpy(ssid->passphrase, cred->key, cred->key_len); in wpa_supplicant_wps_cred()
521 ssid->passphrase[cred->key_len] = '\0'; in wpa_supplicant_wps_cred()
522 wpa_config_update_psk(ssid); in wpa_supplicant_wps_cred()
523 ssid->export_keys = 1; in wpa_supplicant_wps_cred()
532 wpas_wps_security_workaround(wpa_s, ssid, cred); in wpa_supplicant_wps_cred()
534 wpas_wps_remove_dup_network(wpa_s, ssid); in wpa_supplicant_wps_cred()
629 struct wpa_ssid *ssid; in wpas_wps_reenable_networks() local
634 for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next) { in wpas_wps_reenable_networks()
635 if (ssid->disabled_for_connect && ssid->disabled) { in wpas_wps_reenable_networks()
636 ssid->disabled_for_connect = 0; in wpas_wps_reenable_networks()
637 ssid->disabled = 0; in wpas_wps_reenable_networks()
638 wpas_notify_network_enabled_changed(wpa_s, ssid); in wpas_wps_reenable_networks()
775 uuid_str, wpa_ssid_txt(cred->ssid, cred->ssid_len), in wpa_supplicant_wps_event_er_ap_settings()
876 enum wps_request_type wpas_wps_get_req_type(struct wpa_ssid *ssid) in wpas_wps_get_req_type() argument
878 if (eap_is_wps_pbc_enrollee(&ssid->eap) || in wpas_wps_get_req_type()
879 eap_is_wps_pin_enrollee(&ssid->eap)) in wpas_wps_get_req_type()
889 struct wpa_ssid *ssid, *remove_ssid = NULL, *prev_current; in wpas_clear_wps() local
903 ssid = wpa_s->conf->ssid; in wpas_clear_wps()
904 while (ssid) { in wpas_clear_wps()
905 if (ssid->key_mgmt & WPA_KEY_MGMT_WPS) { in wpas_clear_wps()
906 if (ssid == wpa_s->current_ssid) { in wpas_clear_wps()
910 id = ssid->id; in wpas_clear_wps()
911 remove_ssid = ssid; in wpas_clear_wps()
914 ssid = ssid->next; in wpas_clear_wps()
943 struct wpa_ssid *ssid; in wpas_wps_add_network() local
945 ssid = wpa_config_add_network(wpa_s->conf); in wpas_wps_add_network()
946 if (ssid == NULL) in wpas_wps_add_network()
948 wpas_notify_network_added(wpa_s, ssid); in wpas_wps_add_network()
949 wpa_config_set_network_defaults(ssid); in wpas_wps_add_network()
950 ssid->temporary = 1; in wpas_wps_add_network()
951 if (wpa_config_set(ssid, "key_mgmt", "WPS", 0) < 0 || in wpas_wps_add_network()
952 wpa_config_set(ssid, "eap", "WSC", 0) < 0 || in wpas_wps_add_network()
953 wpa_config_set(ssid, "identity", registrar ? in wpas_wps_add_network()
956 wpas_notify_network_removed(wpa_s, ssid); in wpas_wps_add_network()
957 wpa_config_remove_network(wpa_s->conf, ssid->id); in wpas_wps_add_network()
963 os_memcpy(ssid->go_p2p_dev_addr, dev_addr, ETH_ALEN); in wpas_wps_add_network()
972 os_memcpy(ssid->bssid, bssid, ETH_ALEN); in wpas_wps_add_network()
973 ssid->bssid_set = 1; in wpas_wps_add_network()
985 os_free(ssid->ssid); in wpas_wps_add_network()
986 ssid->ssid = os_malloc(bss->ssid_len); in wpas_wps_add_network()
987 if (ssid->ssid == NULL) in wpas_wps_add_network()
989 os_memcpy(ssid->ssid, bss->ssid, bss->ssid_len); in wpas_wps_add_network()
990 ssid->ssid_len = bss->ssid_len; in wpas_wps_add_network()
993 ssid->ssid, ssid->ssid_len); in wpas_wps_add_network()
1000 os_free(ssid->ssid); in wpas_wps_add_network()
1001 ssid->ssid = NULL; in wpas_wps_add_network()
1002 ssid->ssid_len = 0; in wpas_wps_add_network()
1007 return ssid; in wpas_wps_add_network()
1014 struct wpa_ssid *ssid; in wpas_wps_temp_disable() local
1021 ssid = wpa_s->conf->ssid; in wpas_wps_temp_disable()
1022 while (ssid) { in wpas_wps_temp_disable()
1023 int was_disabled = ssid->disabled; in wpas_wps_temp_disable()
1024 ssid->disabled_for_connect = 0; in wpas_wps_temp_disable()
1032 ssid->disabled = ssid != selected; in wpas_wps_temp_disable()
1033 if (was_disabled != ssid->disabled) { in wpas_wps_temp_disable()
1034 if (ssid->disabled) in wpas_wps_temp_disable()
1035 ssid->disabled_for_connect = 1; in wpas_wps_temp_disable()
1037 ssid); in wpas_wps_temp_disable()
1040 ssid = ssid->next; in wpas_wps_temp_disable()
1084 struct wpa_ssid *ssid; in wpas_wps_start_pbc() local
1086 ssid = wpas_wps_add_network(wpa_s, 0, NULL, bssid); in wpas_wps_start_pbc()
1087 if (ssid == NULL) in wpas_wps_start_pbc()
1089 ssid->temporary = 1; in wpas_wps_start_pbc()
1090 ssid->p2p_group = p2p_group; in wpas_wps_start_pbc()
1093 ssid->ssid = os_zalloc(wpa_s->go_params->ssid_len + 1); in wpas_wps_start_pbc()
1094 if (ssid->ssid) { in wpas_wps_start_pbc()
1095 ssid->ssid_len = wpa_s->go_params->ssid_len; in wpas_wps_start_pbc()
1096 os_memcpy(ssid->ssid, wpa_s->go_params->ssid, in wpas_wps_start_pbc()
1097 ssid->ssid_len); in wpas_wps_start_pbc()
1099 "SSID", ssid->ssid, ssid->ssid_len); in wpas_wps_start_pbc()
1103 if (wpa_config_set(ssid, "phase1", "\"pbc=1\"", 0) < 0) in wpas_wps_start_pbc()
1106 ssid->eap.fragment_size = wpa_s->wps_fragment_size; in wpas_wps_start_pbc()
1109 wpas_wps_reassoc(wpa_s, ssid, bssid, 0); in wpas_wps_start_pbc()
1120 struct wpa_ssid *ssid; in wpas_wps_start_dev_pw() local
1128 ssid = wpas_wps_add_network(wpa_s, 0, dev_addr, bssid); in wpas_wps_start_dev_pw()
1129 if (ssid == NULL) { in wpas_wps_start_dev_pw()
1133 ssid->temporary = 1; in wpas_wps_start_dev_pw()
1134 ssid->p2p_group = p2p_group; in wpas_wps_start_dev_pw()
1136 ssid->ssid = os_malloc(ssid_len); in wpas_wps_start_dev_pw()
1137 if (ssid->ssid) { in wpas_wps_start_dev_pw()
1138 os_memcpy(ssid->ssid, ssid_val, ssid_len); in wpas_wps_start_dev_pw()
1139 ssid->ssid_len = ssid_len; in wpas_wps_start_dev_pw()
1152 ssid->ssid = os_zalloc(wpa_s->go_params->ssid_len + 1); in wpas_wps_start_dev_pw()
1153 if (ssid->ssid) { in wpas_wps_start_dev_pw()
1154 ssid->ssid_len = wpa_s->go_params->ssid_len; in wpas_wps_start_dev_pw()
1155 os_memcpy(ssid->ssid, wpa_s->go_params->ssid, in wpas_wps_start_dev_pw()
1156 ssid->ssid_len); in wpas_wps_start_dev_pw()
1158 "SSID", ssid->ssid, ssid->ssid_len); in wpas_wps_start_dev_pw()
1173 if (wpa_config_set(ssid, "phase1", val, 0) < 0) { in wpas_wps_start_dev_pw()
1178 ssid->eap.fragment_size = wpa_s->wps_fragment_size; in wpas_wps_start_dev_pw()
1182 wpas_wps_reassoc(wpa_s, ssid, bssid, freq); in wpas_wps_start_dev_pw()
1233 struct wpa_ssid *ssid; in wpas_wps_start_reg() local
1241 ssid = wpas_wps_add_network(wpa_s, 1, NULL, bssid); in wpas_wps_start_reg()
1242 if (ssid == NULL) in wpas_wps_start_reg()
1244 ssid->temporary = 1; in wpas_wps_start_reg()
1263 if (wpa_config_set(ssid, "phase1", val, 0) < 0) in wpas_wps_start_reg()
1266 ssid->eap.fragment_size = wpa_s->wps_fragment_size; in wpas_wps_start_reg()
1269 wpas_wps_reassoc(wpa_s, ssid, bssid, 0); in wpas_wps_start_reg()
1533 struct wpa_ssid *ssid, struct wpa_bss *bss) in wpas_wps_ssid_bss_match() argument
1537 if (!(ssid->key_mgmt & WPA_KEY_MGMT_WPS)) in wpas_wps_ssid_bss_match()
1541 if (eap_is_wps_pbc_enrollee(&ssid->eap)) { in wpas_wps_ssid_bss_match()
1561 if (eap_is_wps_pin_enrollee(&ssid->eap)) { in wpas_wps_ssid_bss_match()
1601 struct wpa_ssid *ssid, in wpas_wps_ssid_wildcard_ok() argument
1607 if (eap_is_wps_pbc_enrollee(&ssid->eap)) { in wpas_wps_ssid_wildcard_ok()
1613 } else if (eap_is_wps_pin_enrollee(&ssid->eap)) { in wpas_wps_ssid_wildcard_ok()
1623 if (!ret && ssid->bssid_set && in wpas_wps_ssid_wildcard_ok()
1624 os_memcmp(ssid->bssid, bss->bssid, ETH_ALEN) == 0) { in wpas_wps_ssid_wildcard_ok()
1658 struct wpa_bss *selected, struct wpa_ssid *ssid) in wpas_wps_scan_pbc_overlap() argument
1665 if (!eap_is_wps_pbc_enrollee(&ssid->eap)) in wpas_wps_scan_pbc_overlap()
1759 struct wpa_ssid *ssid; in wpas_wps_searching() local
1761 for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next) { in wpas_wps_searching()
1762 if ((ssid->key_mgmt & WPA_KEY_MGMT_WPS) && !ssid->disabled) in wpas_wps_searching()
1869 static int wpas_wps_network_to_cred(struct wpa_ssid *ssid, in wpas_wps_network_to_cred() argument
1873 if (ssid->ssid_len > 32) in wpas_wps_network_to_cred()
1875 os_memcpy(cred->ssid, ssid->ssid, ssid->ssid_len); in wpas_wps_network_to_cred()
1876 cred->ssid_len = ssid->ssid_len; in wpas_wps_network_to_cred()
1877 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK) { in wpas_wps_network_to_cred()
1878 cred->auth_type = (ssid->proto & WPA_PROTO_RSN) ? in wpas_wps_network_to_cred()
1880 if (ssid->pairwise_cipher & WPA_CIPHER_CCMP) in wpas_wps_network_to_cred()
1884 if (ssid->passphrase) { in wpas_wps_network_to_cred()
1885 cred->key_len = os_strlen(ssid->passphrase); in wpas_wps_network_to_cred()
1888 os_memcpy(cred->key, ssid->passphrase, cred->key_len); in wpas_wps_network_to_cred()
1889 } else if (ssid->psk_set) { in wpas_wps_network_to_cred()
1891 os_memcpy(cred->key, ssid->psk, 32); in wpas_wps_network_to_cred()
1908 struct wpa_ssid *ssid; in wpas_wps_er_set_config() local
1917 ssid = wpa_config_get_network(wpa_s->conf, id); in wpas_wps_er_set_config()
1918 if (ssid == NULL || ssid->ssid == NULL) in wpas_wps_er_set_config()
1921 if (wpas_wps_network_to_cred(ssid, &cred) < 0) in wpas_wps_er_set_config()
1947 if ((len & 1) || len > 2 * sizeof(cred.ssid) || in wpas_wps_er_config()
1948 hexstr2bin(settings->ssid_hex, cred.ssid, len / 2)) in wpas_wps_er_config()
2101 struct wpa_ssid *ssid) in wpas_wps_network_config_token() argument
2106 if (wpas_wps_network_to_cred(ssid, &cred) < 0) in wpas_wps_network_config_token()
2132 struct wpa_ssid *ssid; in wpas_wps_nfc_config_token() local
2138 ssid = wpa_config_get_network(wpa_s->conf, id); in wpas_wps_nfc_config_token()
2139 if (ssid == NULL) in wpas_wps_nfc_config_token()
2141 return wpas_wps_network_config_token(wpa_s, ndef, ssid); in wpas_wps_nfc_config_token()
2172 const u8 *ssid, size_t ssid_len, int freq) in wpas_wps_start_nfc() argument
2227 ssid, ssid_len, freq); in wpas_wps_start_nfc()
2508 if (attr.ssid == NULL) { in wpas_wps_nfc_rx_handover_sel()
2515 wpa_hexdump_ascii(MSG_DEBUG, "WPS: SSID", attr.ssid, attr.ssid_len); in wpas_wps_nfc_rx_handover_sel()
2565 attr.ssid, attr.ssid_len, freq); in wpas_wps_nfc_rx_handover_sel()