Home | History | Annotate | Download | only in wpa_supplicant

Lines Matching refs:ssid

88 		struct wpa_ssid *ssid = NULL;
108 bss = wpa_supplicant_pick_network(wpa_s, &ssid);
142 struct wpa_ssid *ssid,
162 if (ssid->ssid == NULL)
164 bss = wpa_bss_get(wpa_s, cred->mac_addr, ssid->ssid, ssid->ssid_len);
185 if (ie == NULL && (ssid->proto & WPA_PROTO_WPA) &&
186 (ssid->pairwise_cipher & WPA_CIPHER_TKIP)) {
198 if (ccmp && !(ssid->pairwise_cipher & WPA_CIPHER_CCMP) &&
199 (ssid->pairwise_cipher & WPA_CIPHER_TKIP) &&
204 ssid->pairwise_cipher |= WPA_CIPHER_CCMP;
206 ssid->pairwise_cipher = WPA_CIPHER_CCMP;
209 if (wpa2 && !(ssid->proto & WPA_PROTO_RSN) &&
210 (ssid->proto & WPA_PROTO_WPA) &&
215 ssid->proto |= WPA_PROTO_RSN;
217 ssid->proto = WPA_PROTO_RSN;
226 struct wpa_ssid *ssid = wpa_s->current_ssid;
255 wpa_hexdump_ascii(MSG_DEBUG, "WPS: SSID", cred->ssid, cred->ssid_len);
291 if (ssid && (ssid->key_mgmt & WPA_KEY_MGMT_WPS)) {
295 if (ssid->eap.identity &&
296 ssid->eap.identity_len == WSC_ID_REGISTRAR_LEN &&
297 os_memcmp(ssid->eap.identity, WSC_ID_REGISTRAR,
301 os_free(ssid->eap.identity);
302 ssid->eap.identity = NULL;
303 ssid->eap.identity_len = 0;
304 os_free(ssid->eap.phase1);
305 ssid->eap.phase1 = NULL;
306 os_free(ssid->eap.eap_methods);
307 ssid->eap.eap_methods = NULL;
308 if (!ssid->p2p_group) {
309 ssid->temporary = 0;
310 ssid->bssid_set = 0;
312 ssid->disabled_until.sec = 0;
313 ssid->disabled_until.usec = 0;
314 ssid->auth_failures = 0;
318 ssid = wpa_config_add_network(wpa_s->conf);
319 if (ssid == NULL)
321 wpas_notify_network_added(wpa_s, ssid);
324 wpa_config_set_network_defaults(ssid);
326 os_free(ssid->ssid);
327 ssid->ssid = os_malloc(cred->ssid_len);
328 if (ssid->ssid) {
329 os_memcpy(ssid->ssid, cred->ssid, cred->ssid_len);
330 ssid->ssid_len = cred->ssid_len;
354 ssid->wep_key[key_idx],
360 ssid->wep_key_len[key_idx] = cred->key_len / 2;
362 os_memcpy(ssid->wep_key[key_idx], cred->key,
364 ssid->wep_key_len[key_idx] = cred->key_len;
366 ssid->wep_tx_keyidx = key_idx;
369 ssid->pairwise_cipher = WPA_CIPHER_TKIP;
372 ssid->pairwise_cipher = WPA_CIPHER_CCMP;
378 ssid->auth_alg = WPA_AUTH_ALG_OPEN;
379 ssid->key_mgmt = WPA_KEY_MGMT_NONE;
380 ssid->proto = 0;
387 ssid->id, ssid->id);
388 ssid->disabled = 1;
393 ssid->auth_alg = WPA_AUTH_ALG_SHARED;
394 ssid->key_mgmt = WPA_KEY_MGMT_NONE;
395 ssid->proto = 0;
398 ssid->auth_alg = WPA_AUTH_ALG_OPEN;
399 ssid->key_mgmt = WPA_KEY_MGMT_PSK;
400 ssid->proto = WPA_PROTO_WPA;
403 ssid->auth_alg = WPA_AUTH_ALG_OPEN;
404 ssid->key_mgmt = WPA_KEY_MGMT_PSK;
405 ssid->proto = WPA_PROTO_RSN;
409 if (ssid->key_mgmt == WPA_KEY_MGMT_PSK) {
411 if (hexstr2bin((const char *) cred->key, ssid->psk,
417 ssid->psk_set = 1;
418 ssid->export_keys = 1;
420 os_free(ssid->passphrase);
421 ssid->passphrase = os_malloc(cred->key_len + 1);
422 if (ssid->passphrase == NULL)
424 os_memcpy(ssid->passphrase, cred->key, cred->key_len);
425 ssid->passphrase[cred->key_len] = '\0';
426 wpa_config_update_psk(ssid);
427 ssid->export_keys = 1;
436 wpas_wps_security_workaround(wpa_s, ssid, cred);
536 struct wpa_ssid *ssid;
541 for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next) {
542 if (ssid->disabled_for_connect && ssid->disabled) {
543 ssid->disabled_for_connect = 0;
544 ssid->disabled = 0;
545 wpas_notify_network_enabled_changed(wpa_s, ssid);
679 "uuid=%s ssid=%s auth_type=0x%04x encr_type=0x%04x "
681 uuid_str, wpa_ssid_txt(cred->ssid, cred->ssid_len),
765 enum wps_request_type wpas_wps_get_req_type(struct wpa_ssid *ssid)
767 if (eap_is_wps_pbc_enrollee(&ssid->eap) ||
768 eap_is_wps_pin_enrollee(&ssid->eap))
778 struct wpa_ssid *ssid, *remove_ssid = NULL, *prev_current;
788 ssid = wpa_s->conf->ssid;
789 while (ssid) {
790 if (ssid->key_mgmt & WPA_KEY_MGMT_WPS) {
791 if (ssid == wpa_s->current_ssid) {
793 if (ssid != NULL)
796 id = ssid->id;
797 remove_ssid = ssid;
800 ssid = ssid->next;
828 struct wpa_ssid *ssid;
830 ssid = wpa_config_add_network(wpa_s->conf);
831 if (ssid == NULL)
833 wpas_notify_network_added(wpa_s, ssid);
834 wpa_config_set_network_defaults(ssid);
835 ssid->temporary = 1;
836 if (wpa_config_set(ssid, "key_mgmt", "WPS", 0) < 0 ||
837 wpa_config_set(ssid, "eap", "WSC", 0) < 0 ||
838 wpa_config_set(ssid, "identity", registrar ?
841 wpas_notify_network_removed(wpa_s, ssid);
842 wpa_config_remove_network(wpa_s->conf, ssid->id);
852 os_memcpy(ssid->bssid, bssid, ETH_ALEN);
853 ssid->bssid_set = 1;
856 * Note: With P2P, the SSID may change at the time the WPS
858 * on the current SSID in the scan results.
865 os_free(ssid->ssid);
866 ssid->ssid = os_malloc(bss->ssid_len);
867 if (ssid->ssid == NULL)
869 os_memcpy(ssid->ssid, bss->ssid, bss->ssid_len);
870 ssid->ssid_len = bss->ssid_len;
871 wpa_hexdump_ascii(MSG_DEBUG, "WPS: Picked SSID from "
873 ssid->ssid, ssid->ssid_len);
878 wpa_printf(MSG_DEBUG, "WPS: More than one SSID found "
880 os_free(ssid->ssid);
881 ssid->ssid = NULL;
882 ssid->ssid_len = 0;
887 return ssid;
894 struct wpa_ssid *ssid;
912 ssid = wpa_s->conf->ssid;
913 while (ssid) {
914 int was_disabled = ssid->disabled;
915 ssid->disabled_for_connect = 0;
923 ssid->disabled = ssid != selected;
924 if (was_disabled != ssid->disabled) {
925 if (ssid->disabled)
926 ssid->disabled_for_connect = 1;
928 ssid);
931 ssid = ssid->next;
946 struct wpa_ssid *ssid;
948 ssid = wpas_wps_add_network(wpa_s, 0, bssid);
949 if (ssid == NULL)
951 ssid->temporary = 1;
952 ssid->p2p_group = p2p_group;
955 ssid->ssid = os_zalloc(wpa_s->go_params->ssid_len + 1);
956 if (ssid->ssid) {
957 ssid->ssid_len = wpa_s->go_params->ssid_len;
958 os_memcpy(ssid->ssid, wpa_s->go_params->ssid,
959 ssid->ssid_len);
961 "SSID", ssid->ssid, ssid->ssid_len);
965 if (wpa_config_set(ssid, "phase1", "\"pbc=1\"", 0) < 0)
968 ssid->eap.fragment_size = wpa_s->wps_fragment_size;
971 wpas_wps_reassoc(wpa_s, ssid, bssid);
979 struct wpa_ssid *ssid;
984 ssid = wpas_wps_add_network(wpa_s, 0, bssid);
985 if (ssid == NULL)
987 ssid->temporary = 1;
988 ssid->p2p_group = p2p_group;
991 ssid->ssid = os_zalloc(wpa_s->go_params->ssid_len + 1);
992 if (ssid->ssid) {
993 ssid->ssid_len = wpa_s->go_params->ssid_len;
994 os_memcpy(ssid->ssid, wpa_s->go_params->ssid,
995 ssid->ssid_len);
997 "SSID", ssid->ssid, ssid->ssid_len);
1009 if (wpa_config_set(ssid, "phase1", val, 0) < 0)
1012 ssid->eap.fragment_size = wpa_s->wps_fragment_size;
1016 wpas_wps_reassoc(wpa_s, ssid, bssid);
1054 struct wpa_ssid *ssid;
1062 ssid = wpas_wps_add_network(wpa_s, 1, bssid);
1063 if (ssid == NULL)
1065 ssid->temporary = 1;
1084 if (wpa_config_set(ssid, "phase1", val, 0) < 0)
1087 ssid->eap.fragment_size = wpa_s->wps_fragment_size;
1090 wpas_wps_reassoc(wpa_s, ssid, bssid);
1323 struct wpa_ssid *ssid, struct wpa_bss *bss)
1327 if (!(ssid->key_mgmt & WPA_KEY_MGMT_WPS))
1331 if (eap_is_wps_pbc_enrollee(&ssid->eap)) {
1351 if (eap_is_wps_pin_enrollee(&ssid->eap)) {
1391 struct wpa_ssid *ssid,
1397 if (eap_is_wps_pbc_enrollee(&ssid->eap)) {
1400 /* allow wildcard SSID for WPS PBC */
1403 } else if (eap_is_wps_pin_enrollee(&ssid->eap)) {
1408 /* allow wildcard SSID for WPS PIN */
1413 if (!ret && ssid->bssid_set &&
1414 os_memcmp(ssid->bssid, bss->bssid, ETH_ALEN) == 0) {
1415 /* allow wildcard SSID due to hardcoded BSSID match */
1448 struct wpa_bss *selected, struct wpa_ssid *ssid)
1455 if (!eap_is_wps_pbc_enrollee(&ssid->eap))
1549 struct wpa_ssid *ssid;
1551 for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next) {
1552 if ((ssid->key_mgmt & WPA_KEY_MGMT_WPS) && !ssid->disabled)
1659 static int wpas_wps_network_to_cred(struct wpa_ssid *ssid,
1663 if (ssid->ssid_len > 32)
1665 os_memcpy(cred->ssid, ssid->ssid, ssid->ssid_len);
1666 cred->ssid_len = ssid->ssid_len;
1667 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK) {
1668 cred->auth_type = (ssid->proto & WPA_PROTO_RSN) ?
1670 if (ssid->pairwise_cipher & WPA_CIPHER_CCMP)
1674 if (ssid->passphrase) {
1675 cred->key_len = os_strlen(ssid->passphrase);
1678 os_memcpy(cred->key, ssid->passphrase, cred->key_len);
1679 } else if (ssid->psk_set) {
1681 os_memcpy(cred->key, ssid->psk, 32);
1698 struct wpa_ssid *ssid;
1707 ssid = wpa_config_get_network(wpa_s->conf, id);
1708 if (ssid == NULL || ssid->ssid == NULL)
1711 if (wpas_wps_network_to_cred(ssid, &cred) < 0)
1737 if ((len & 1) || len > 2 * sizeof(cred.ssid) ||
1738 hexstr2bin(settings->ssid_hex, cred.ssid, len / 2))
1833 struct wpa_ssid *ssid;
1835 for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next) {
1836 if (!ssid->disabled && ssid->key_mgmt == WPA_KEY_MGMT_WPS)
1902 struct wpa_ssid *ssid)
1907 if (wpas_wps_network_to_cred(ssid, &cred) < 0)
1933 struct wpa_ssid *ssid;
1939 ssid = wpa_config_get_network(wpa_s->conf, id);
1940 if (ssid == NULL)
1942 return wpas_wps_network_config_token(wpa_s, ndef, ssid);