Home | History | Annotate | Download | only in wpa_supplicant

Lines Matching full:ssid

106 			       const u8 *ssid, size_t ssid_len);
108 const u8 *ssid, size_t ssid_len);
113 const u8 *ssid, size_t ssid_len);
333 /* P2P Wildcard SSID */
339 params->ssids[0].ssid = n;
439 const u8 *ssid,
445 for (s = wpa_s->conf->ssid; s; s = s->next) {
448 os_memcmp(ssid, s->ssid, ssid_len) != 0)
501 for (s = wpa_s->conf->ssid; s; s = s->next) {
503 "P2P: sup:%p ssid:%p disabled:%d p2p:%d mode:%d",
529 for (s = wpa_s->conf->ssid; s; s = s->next) {
556 for (s = wpa_s->conf->ssid; s; s = s->next) {
578 for (s = wpa_s->conf->ssid; s; s = s->next) {
611 wpa_printf(MSG_DEBUG, "P2P: GO(iface)=%p persistent(ssid)=%p",
616 for (s = tmp_wpa_s->conf->ssid; s; s = s->next) {
618 "P2P: sup:%p ssid:%p disabled:%d p2p:%d mode:%d",
778 struct wpa_ssid *ssid;
782 ssid = wpa_s->current_ssid;
783 if (ssid == NULL) {
785 * The current SSID was not known, but there may still be a
789 ssid = wpa_s->conf->ssid;
790 while (ssid) {
791 if (ssid->p2p_group && ssid->disabled != 2)
793 ssid = ssid->next;
795 if (ssid == NULL &&
806 (ssid && ssid->mode == WPAS_MODE_INFRA)) {
813 if (removal_reason != P2P_GROUP_REMOVAL_SILENT && ssid)
814 wpas_notify_p2p_group_removed(wpa_s, ssid, gtype);
919 if (ssid && (ssid->p2p_group ||
920 ssid->mode == WPAS_MODE_P2P_GROUP_FORMATION ||
921 (ssid->key_mgmt & WPA_KEY_MGMT_WPS))) {
922 int id = ssid->id;
923 if (ssid == wpa_s->current_ssid) {
955 const u8 *ssid, size_t ssid_len)
968 bss = wpa_bss_get(wpa_s, bssid, ssid, ssid_len);
977 bss = wpa_bss_get(wpa_s, iface_addr, ssid, ssid_len);
1023 struct wpa_ssid *ssid,
1031 for (s = wpa_s->conf->ssid; s; s = s->next) {
1034 s->ssid_len == ssid->ssid_len &&
1035 os_memcmp(ssid->ssid, s->ssid, ssid->ssid_len) == 0)
1042 if (ssid->passphrase && !s->passphrase)
1044 else if (ssid->passphrase && s->passphrase &&
1045 os_strcmp(ssid->passphrase, s->passphrase) != 0)
1072 s->mode = ssid->mode;
1078 if (ssid->passphrase) {
1080 s->passphrase = os_strdup(ssid->passphrase);
1082 if (ssid->psk_set) {
1084 os_memcpy(s->psk, ssid->psk, 32);
1088 if (s->ssid == NULL || s->ssid_len < ssid->ssid_len) {
1089 os_free(s->ssid);
1090 s->ssid = os_malloc(ssid->ssid_len);
1092 if (s->ssid) {
1093 s->ssid_len = ssid->ssid_len;
1094 os_memcpy(s->ssid, ssid->ssid, s->ssid_len);
1096 if (ssid->mode == WPAS_MODE_P2P_GO && wpa_s->global->add_psk) {
1114 struct wpa_ssid *ssid, *s;
1120 ssid = wpa_s->current_ssid;
1121 if (ssid == NULL || ssid->mode != WPAS_MODE_P2P_GO ||
1122 !ssid->p2p_persistent_group)
1125 for (s = p2p_wpa_s->conf->ssid; s; s = s->next) {
1129 if (s->ssid_len == ssid->ssid_len &&
1130 os_memcmp(s->ssid, ssid->ssid, s->ssid_len) == 0)
1191 int go, struct wpa_ssid *ssid, int freq,
1204 if (ssid)
1205 ssid_txt = wpa_ssid_txt(ssid->ssid, ssid->ssid_len);
1218 "%s %s ssid=\"%s\" freq=%d%s%s%s%s%s go_dev_addr="
1228 "%s %s ssid=\"%s\" freq=%d go_dev_addr=" MACSTR "%s%s",
1238 struct wpa_ssid *ssid;
1271 ssid = wpa_s->current_ssid;
1272 if (ssid && ssid->mode == WPAS_MODE_P2P_GROUP_FORMATION) {
1273 ssid->mode = WPAS_MODE_P2P_GO;
1279 if (ssid) {
1280 client = ssid->mode == WPAS_MODE_INFRA;
1281 if (ssid->mode == WPAS_MODE_P2P_GO) {
1282 persistent = ssid->p2p_persistent_group;
1288 ssid->ssid,
1289 ssid->ssid_len);
1305 wpas_p2p_group_started(wpa_s, 1, ssid,
1306 ssid ? ssid->frequency : 0,
1307 ssid && ssid->passphrase == NULL &&
1308 ssid->psk_set ? ssid->psk : NULL,
1309 ssid ? ssid->passphrase : NULL,
1317 ssid, go_dev_addr);
1322 if (network_id < 0 && ssid)
1323 network_id = ssid->id;
1325 wpas_notify_p2p_group_started(wpa_s, ssid, network_id, 0);
1554 wpa_hexdump_ascii(MSG_DEBUG, "P2P: Start WPS Enrollee for SSID",
1555 res->ssid, res->ssid_len);
1585 struct wpa_ssid *ssid)
1594 persistent = wpas_p2p_get_persistent(wpa_s->parent, NULL, ssid->ssid,
1595 ssid->ssid_len);
1616 hpsk->next = hapd->conf->ssid.wpa_psk;
1617 hapd->conf->ssid.wpa_psk = hpsk;
1670 struct wpa_ssid *ssid;
1676 ssid = wpa_s->current_ssid;
1677 if (ssid && ssid->mode == WPAS_MODE_P2P_GO) {
1681 wpas_p2p_group_started(wpa_s, 1, ssid, ssid->frequency,
1702 wpa_s->parent, ssid,
1704 wpas_p2p_add_psk_list(wpa_s, ssid);
1707 network_id = ssid->id;
1708 wpas_notify_p2p_group_started(wpa_s, ssid, network_id, 0);
1765 struct wpa_ssid *ssid;
1774 ssid = wpa_config_add_network(wpa_s->conf);
1775 if (ssid == NULL) {
1784 wpa_config_set_network_defaults(ssid);
1785 ssid->temporary = 1;
1786 ssid->p2p_group = 1;
1787 ssid->p2p_persistent_group = params->persistent_group;
1788 ssid->mode = group_formation ? WPAS_MODE_P2P_GROUP_FORMATION :
1790 ssid->frequency = params->freq;
1791 ssid->ht40 = params->ht40;
1792 ssid->vht = params->vht;
1793 ssid->ssid = os_zalloc(params->ssid_len + 1);
1794 if (ssid->ssid) {
1795 os_memcpy(ssid->ssid, params->ssid, params->ssid_len);
1796 ssid->ssid_len = params->ssid_len;
1798 ssid->auth_alg = WPA_AUTH_ALG_OPEN;
1799 ssid->key_mgmt = WPA_KEY_MGMT_PSK;
1800 ssid->proto = WPA_PROTO_RSN;
1801 ssid->pairwise_cipher = WPA_CIPHER_CCMP;
1802 ssid->group_cipher = WPA_CIPHER_CCMP;
1808 ssid->pairwise_cipher = WPA_CIPHER_GCMP;
1809 ssid->group_cipher = WPA_CIPHER_GCMP;
1812 ssid->passphrase = os_strdup(params->passphrase);
1813 if (ssid->passphrase == NULL) {
1816 wpa_config_remove_network(wpa_s->conf, ssid->id);
1820 ssid->passphrase = NULL;
1821 ssid->psk_set = params->psk_set;
1822 if (ssid->psk_set)
1823 os_memcpy(ssid->psk, params->psk, sizeof(ssid->psk));
1824 else if (ssid->passphrase)
1825 wpa_config_update_psk(ssid);
1826 ssid->ap_max_inactivity = wpa_s->parent->conf->p2p_go_max_inactivity;
1832 wpa_s->connect_without_scan = ssid;
2099 struct wpa_ssid *ssid;
2100 ssid = wpa_config_get_network(wpa_s->conf,
2102 if (ssid && ssid->disabled == 2 &&
2103 ssid->mode == WPAS_MODE_P2P_GO && ssid->passphrase) {
2104 size_t len = os_strlen(ssid->passphrase);
2107 os_memcpy(res->passphrase, ssid->passphrase, len);
2452 os_memcmp(group_id + ETH_ALEN, s->ssid,
2630 const u8 *go_dev_addr, const u8 *ssid,
2644 " to join an active group (SSID: %s)",
2645 MAC2STR(sa), wpa_ssid_txt(ssid, ssid_len));
2676 grp = wpas_get_p2p_group(wpa_s, ssid, ssid_len, go);
2693 for (s = wpa_s->conf->ssid; s; s = s->next) {
2697 os_memcmp(ssid, s->ssid, ssid_len) == 0)
2778 const u8 *ssid, size_t ssid_len,
2785 for (s = wpa_s->conf->ssid; s; s = s->next) {
2788 os_memcmp(ssid, s->ssid, ssid_len) == 0)
2794 " was accepted; op_freq=%d MHz, SSID=%s",
2795 MAC2STR(sa), op_freq, wpa_ssid_txt(ssid, ssid_len));
2805 ssid, ssid_len);
2847 struct wpa_ssid *ssid,
2853 if (ssid == NULL)
2856 for (i = 0; ssid->p2p_client_list && i < ssid->num_p2p_clients; i++) {
2857 if (os_memcmp(ssid->p2p_client_list + i * 2 * ETH_ALEN, peer,
2861 if (i >= ssid->num_p2p_clients || !ssid->p2p_client_list) {
2862 if (ssid->mode != WPAS_MODE_P2P_GO &&
2863 os_memcmp(ssid->bssid, peer, ETH_ALEN) == 0) {
2865 "due to invitation result", ssid->id);
2866 wpas_notify_network_removed(wpa_s, ssid);
2867 wpa_config_remove_network(wpa_s->conf, ssid->id);
2875 MAC2STR(peer), ssid->id,
2877 os_memmove(ssid->p2p_client_list + i * 2 * ETH_ALEN,
2878 ssid->p2p_client_list + (i + 1) * 2 * ETH_ALEN,
2879 (ssid->num_p2p_clients - i - 1) * 2 * ETH_ALEN);
2880 ssid->num_p2p_clients--;
2890 struct wpa_ssid *ssid;
2895 ssid = wpa_s->current_ssid;
2896 if (ssid == NULL || ssid->mode != WPAS_MODE_P2P_GO ||
2897 !ssid->p2p_persistent_group)
2899 ssid = wpas_p2p_get_persistent(wpa_s->parent, peer,
2900 ssid->ssid, ssid->ssid_len);
2901 wpas_remove_persistent_peer(wpa_s, ssid, peer, 1);
2911 struct wpa_ssid *ssid;
2940 ssid = wpa_config_get_network(
2942 wpas_remove_persistent_peer(wpa_s, ssid, peer, 1);
2948 ssid = wpa_config_get_network(wpa_s->conf,
2950 if (ssid == NULL) {
2968 if (neg_freq > 0 && ssid->mode == WPAS_MODE_P2P_GO &&
2971 else if (peer_oper_freq > 0 && ssid->mode != WPAS_MODE_P2P_GO &&
2977 wpa_printf(MSG_DEBUG, "P2P: Persistent group invitation success - op_freq=%d MHz SSID=%s",
2978 freq, wpa_ssid_txt(ssid->ssid, ssid->ssid_len));
2979 wpas_p2p_group_add_persistent(wpa_s, ssid,
2980 ssid->mode == WPAS_MODE_P2P_GO,
2985 ssid->mode == WPAS_MODE_P2P_GO ?
3363 const u8 *ssid, size_t ssid_len)
3374 os_memcmp(ssid, s->ssid, ssid_len) != 0)
3388 struct wpa_ssid *ssid = wpa_s->current_ssid;
3389 if (ssid == NULL)
3391 if (ssid->mode != WPAS_MODE_INFRA)
3509 static int wpas_get_persistent_group(void *ctx, const u8 *addr, const u8 *ssid,
3516 s = wpas_p2p_get_persistent(wpa_s, addr, ssid, ssid_len);
3518 os_memcpy(ret_ssid, s->ssid, s->ssid_len);
3529 u8 *ssid, size_t *ssid_len, int *group_iface)
3547 os_memcpy(ssid, s->ssid, s->ssid_len);
3555 const u8 *ssid, size_t ssid_len)
3564 if (go && ssid && ssid_len &&
3567 os_memcmp(ssid, s->ssid, ssid_len) == 0)
3594 /* Return TRUE if valid SSID remains */
3685 os_memcmp(stale->ssid, s->ssid, s->ssid_len) == 0)
4170 struct wpa_ssid *ssid, unsigned int pref_freq)
4184 persistent_group, ssid ? ssid->ssid : NULL,
4185 ssid ? ssid->ssid_len : 0,
4197 struct wpa_ssid *ssid, unsigned int pref_freq)
4204 persistent_group, ssid ? ssid->ssid : NULL,
4205 ssid ? ssid->ssid_len : 0, pref_freq,
4414 MACSTR " and SSID %s",
4433 "from BSS table: %d MHz (SSID %s)", freq,
4434 wpa_ssid_txt(bss->ssid, bss->ssid_len));
4521 const u8 *ssid, size_t ssid_len)
4531 /* P2P Wildcard SSID */
4533 if (ssid && ssid_len) {
4534 params.ssids[0].ssid = ssid;
4536 os_memcpy(wpa_s->p2p_join_ssid, ssid, ssid_len);
4539 params.ssids[0].ssid = (u8 *) P2P_WILDCARD_SSID;
4618 const u8 *ssid, size_t ssid_len)
4624 if (ssid && ssid_len) {
4625 wpa_printf(MSG_DEBUG, "P2P: Group SSID specified: %s",
4626 wpa_ssid_txt(ssid, ssid_len));
4639 wpas_p2p_join_scan_req(wpa_s, op_freq, ssid, ssid_len);
4645 const u8 *ssid, size_t ssid_len)
4677 if (freq && ssid && ssid_len) {
4680 os_memcpy(res.ssid, ssid, ssid_len);
4687 os_memcpy(res.ssid, bss->ssid, bss->ssid_len);
4688 wpa_printf(MSG_DEBUG, "P2P: Join target GO operating frequency from BSS table: %d MHz (SSID %s)",
4690 wpa_ssid_txt(bss->ssid, bss->ssid_len));
4830 * parameters or -1 to generate new values (SSID/passphrase)
4849 struct wpa_ssid *ssid = NULL;
4855 ssid = wpa_config_get_network(wpa_s->conf, persistent_id);
4856 if (ssid == NULL || ssid->disabled != 2 ||
4857 ssid->mode != WPAS_MODE_P2P_GO)
4953 force_freq, persistent_group, ssid,
4961 persistent_group, ssid, pref_freq) < 0) {
5460 struct wpa_ssid *ssid;
5469 ssid = wpa_config_add_network(wpa_s->conf);
5470 if (ssid == NULL)
5472 wpa_config_set_network_defaults(ssid);
5473 ssid->temporary = 1;
5474 ssid->proto = WPA_PROTO_RSN;
5475 ssid->pairwise_cipher = WPA_CIPHER_CCMP;
5476 ssid->group_cipher = WPA_CIPHER_CCMP;
5477 ssid->key_mgmt = WPA_KEY_MGMT_PSK;
5478 ssid->ssid = os_malloc(params->ssid_len);
5479 if (ssid->ssid == NULL) {
5480 wpa_config_remove_network(wpa_s->conf, ssid->id);
5483 os_memcpy(ssid->ssid, params->ssid, params->ssid_len);
5484 ssid->ssid_len = params->ssid_len;
5485 ssid->p2p_group = 1;
5486 ssid->export_keys = 1;
5488 os_memcpy(ssid->psk, params->psk, 32);
5489 ssid->psk_set = 1;
5492 ssid->passphrase = os_strdup(params->passphrase);
5503 wpa_supplicant_select_network(wpa_s, ssid);
5510 struct wpa_ssid *ssid, int addr_allocated,
5518 if (ssid->disabled != 2 || ssid->ssid == NULL)
5521 if (wpas_get_p2p_group(wpa_s, ssid->ssid, ssid->ssid_len, &go) &&
5522 go == (ssid->mode == WPAS_MODE_P2P_GO)) {
5553 if (ssid->mode == WPAS_MODE_P2P_GO) {
5564 } else if (ssid->mode == WPAS_MODE_INFRA) {
5569 wpa_bss_get_p2p_dev_addr(wpa_s, ssid->bssid);
5580 return wpas_start_p2p_client(wpa_s, ssid, addr_allocated, freq);
5589 params.psk_set = ssid->psk_set;
5591 os_memcpy(params.psk, ssid->psk, sizeof(params.psk));
5592 if (ssid->passphrase) {
5593 if (os_strlen(ssid->passphrase) >= sizeof(params.passphrase)) {
5598 os_strlcpy(params.passphrase, ssid->passphrase,
5601 os_memcpy(params.ssid, ssid->ssid, ssid->ssid_len);
5602 params.ssid_len = ssid->ssid_len;
5662 struct wpa_ssid *ssid)
5674 if (ssid->p2p_persistent_group && wpa_s->conf->persistent_reconnect)
5676 else if (ssid->p2p_persistent_group)
5684 os_memcpy(cfg->ssid, ssid->ssid, ssid->ssid_len);
5685 cfg->ssid_len = ssid->ssid_len;
5686 cfg->freq = ssid->frequency;
5694 if (ssid->mode != WPAS_MODE_P2P_GROUP_FORMATION)
5704 struct wpa_ssid *ssid = wpa_s->current_ssid;
5712 if (ssid && ssid->mode == WPAS_MODE_INFRA) {
5715 wpas_p2p_persistent_group(wpa_s, go_dev_addr, ssid->ssid,
5716 ssid->ssid_len);
5724 if (ssid && ssid->mode == WPAS_MODE_INFRA) {
5737 } else if (ssid) {
6107 struct wpa_ssid *ssid, const u8 *go_dev_addr, int freq,
6124 if (ssid->mode == WPAS_MODE_P2P_GO) {
6144 peer_addr = ssid->bssid;
6146 wpa_s->pending_invite_ssid_id = ssid->id;
6172 ssid->ssid, ssid->ssid_len, force_freq, go_dev_addr,
6184 struct wpa_ssid *ssid;
6202 ssid = wpa_s->current_ssid;
6203 if (ssid == NULL) {
6204 wpa_printf(MSG_DEBUG, "P2P: No current SSID to use for "
6210 persistent = ssid->p2p_persistent_group &&
6212 ssid->ssid, ssid->ssid_len);
6214 if (ssid->mode == WPAS_MODE_P2P_GO) {
6219 freq = ssid->frequency;
6246 ssid->ssid, ssid->ssid_len, force_freq,
6253 struct wpa_ssid *ssid = wpa_s->current_ssid;
6261 if (ssid == NULL || ssid->mode != WPAS_MODE_P2P_GROUP_FORMATION) {
6266 if (!wpa_s->show_group_started || !ssid)
6272 if (ssid->bssid_set)
6273 os_memcpy(go_dev_addr, ssid->bssid, ETH_ALEN);
6274 persistent = wpas_p2p_persistent_group(wpa_s, go_dev_addr, ssid->ssid,
6275 ssid->ssid_len);
6298 wpas_p2p_group_started(wpa_s, 0, ssid, freq,
6299 ssid->passphrase == NULL && ssid->psk_set ?
6300 ssid->psk : NULL,
6301 ssid->passphrase, go_dev_addr, persistent,
6306 ssid, go_dev_addr);
6308 network_id = ssid->id;
6309 wpas_notify_p2p_group_started(wpa_s, ssid, network_id, 1);
7006 struct wpa_ssid *ssid)
7008 if (wpa_s->p2p_in_provisioning && ssid->p2p_group &&
7028 const u8 *addr, const u8 *ssid,
7034 for (s = wpa_s->conf->ssid; s; s = s->next) {
7037 if (ssid &&
7039 os_memcmp(ssid, s->ssid, ssid_len) != 0))
7209 struct wpa_ssid *ssid = wpa_s->current_ssid;
7227 if (ssid->mode == WPAS_MODE_P2P_GROUP_FORMATION) {
7247 if (ssid->mode != WPAS_MODE_P2P_GO || !ssid->p2p_persistent_group) {
7252 persistent = wpas_p2p_get_persistent(wpa_s->parent, NULL, ssid->ssid,
7253 ssid->ssid_len);
7327 psk = hapd->conf->ssid.wpa_psk;
7338 hapd->conf->ssid.wpa_psk = psk->next;
7374 for (s = p2p_wpa_s->conf->ssid; s; s = s->next) {
7405 struct wpa_ssid *ssid)
7434 ssid);
7436 WPA_EVENT_FREQ_CONFLICT " id=%d", ssid->id);
7454 struct wpa_ssid *ssid = wpa_s->current_ssid;
7456 if (ssid == NULL || !ssid->p2p_group)
7460 wpa_s->p2p_last_4way_hs_fail == ssid) {
7465 ssid->ssid,
7466 ssid->ssid_len) <= 0) {
7474 ssid->ssid,
7475 ssid->ssid_len);
7495 wpa_s->p2p_last_4way_hs_fail = ssid;
7549 struct wpa_ssid **ssid, u8 *go_dev_addr)
7555 if (ssid)
7556 *ssid = NULL;
7563 if (ssid)
7564 *ssid = iface->current_ssid;
7577 struct wpa_ssid *ssid;
7579 int cli_freq = wpas_p2p_cli_freq(wpa_s, &ssid, go_dev_addr);
7599 go_dev_addr, ssid ? ssid->ssid : NULL,
7600 ssid ? ssid->ssid_len : 0);
7610 struct wpa_ssid *ssid;
7612 int cli_freq = wpas_p2p_cli_freq(wpa_s, &ssid, go_dev_addr);
7632 go_dev_addr, ssid ? ssid->ssid : NULL,
7633 ssid ? ssid->ssid_len : 0);
7667 struct wpa_ssid *ssid;
7672 ssid = wpa_s->current_ssid;
7673 if (ssid == NULL)
7675 if (ssid->mode != WPAS_MODE_P2P_GO)
7713 persistent = ssid->p2p_persistent_group &&
7716 ssid->ssid, ssid->ssid_len);
7721 ssid->ssid, ssid->ssid_len, ssid->frequency,
7839 " ssid=\"%s\"",