Home | History | Annotate | Download | only in wpa_supplicant

Lines Matching full:ssid

113 int wpa_set_wep_keys(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid)
118 if (ssid->wep_key_len[i] == 0)
123 i, i == ssid->wep_tx_keyidx, NULL, 0,
124 ssid->wep_key[i], ssid->wep_key_len[i]);
132 struct wpa_ssid *ssid)
142 if (ssid->mode != WPAS_MODE_IBSS) {
144 "IBSS/ad-hoc) for WPA-None", ssid->mode);
148 if (!ssid->psk_set) {
156 os_memcpy(key, ssid->psk, 16);
161 os_memcpy(key, ssid->psk, 16);
167 os_memcpy(key, ssid->psk, 16 + 8);
168 os_memcpy(key + 16 + 8, ssid->psk + 16, 8);
258 struct wpa_ssid *ssid = wpa_s->current_ssid;
261 if (ssid->mode == WPAS_MODE_IBSS &&
288 if (ssid->eapol_flags & EAPOL_FLAG_REQUIRE_KEY_UNICAST) {
291 if (ssid->eapol_flags & EAPOL_FLAG_REQUIRE_KEY_BROADCAST) {
301 eapol_conf.workaround = ssid->eap_workaround;
306 eapol_sm_notify_config(wpa_s->eapol, &ssid->eap, &eapol_conf);
314 * @ssid: Configuration data for the network
321 struct wpa_ssid *ssid)
325 if (ssid->key_mgmt & WPA_KEY_MGMT_WPS)
327 else if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA)
339 if (ssid->wep_key_len[i] > 5) {
343 } else if (ssid->wep_key_len[i] > 0) {
396 struct wpa_ssid *ssid;
397 for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next)
398 wpas_notify_network_removed(wpa_s, ssid);
664 struct wpa_ssid *ssid = wpa_s->current_ssid;
669 ssid ? ssid->id : -1,
670 ssid && ssid->id_str ? ssid->id_str : "");
672 wpas_clear_temp_disabled(wpa_s, ssid, 1);
885 struct wpa_ssid *ssid,
899 if (!(ie->group_cipher & ssid->group_cipher)) {
902 ie->group_cipher, ssid->group_cipher);
905 if (!(ie->pairwise_cipher & ssid->pairwise_cipher)) {
908 ie->pairwise_cipher, ssid->pairwise_cipher);
911 if (!(ie->key_mgmt & ssid->key_mgmt)) {
914 ie->key_mgmt, ssid->key_mgmt);
920 (ssid->ieee80211w == MGMT_FRAME_PROTECTION_DEFAULT ?
921 wpa_s->conf->pmf : ssid->ieee80211w) ==
938 * @ssid: Configuration data for the selected network
949 struct wpa_bss *bss, struct wpa_ssid *ssid,
962 if (bss_rsn && (ssid->proto & WPA_PROTO_RSN) &&
964 (ie.group_cipher & ssid->group_cipher) &&
965 (ie.pairwise_cipher & ssid->pairwise_cipher) &&
966 (ie.key_mgmt & ssid->key_mgmt)) {
969 } else if (bss_wpa && (ssid->proto & WPA_PROTO_WPA) &&
971 (ie.group_cipher & ssid->group_cipher) &&
972 (ie.pairwise_cipher & ssid->pairwise_cipher) &&
973 (ie.key_mgmt & ssid->key_mgmt)) {
980 if (ssid->proto & WPA_PROTO_RSN)
984 if (wpa_supplicant_suites_from_ai(wpa_s, ssid, &ie) < 0) {
986 ie.group_cipher = ssid->group_cipher;
987 ie.pairwise_cipher = ssid->pairwise_cipher;
988 ie.key_mgmt = ssid->key_mgmt;
991 ssid->ieee80211w != NO_MGMT_FRAME_PROTECTION ?
1004 if (ssid->ieee80211w) {
1013 !!(ssid->proto & WPA_PROTO_RSN));
1023 sel = ie.group_cipher & ssid->group_cipher;
1033 sel = ie.pairwise_cipher & ssid->pairwise_cipher;
1043 sel = ie.key_mgmt & ssid->key_mgmt;
1097 if ((ssid->ieee80211w == MGMT_FRAME_PROTECTION_DEFAULT ?
1098 wpa_s->conf->pmf : ssid
1112 (ssid->ieee80211w == MGMT_FRAME_PROTECTION_DEFAULT ?
1113 wpa_s->conf->pmf : ssid->ieee80211w));
1121 if (wpa_key_mgmt_wpa_psk(ssid->key_mgmt)) {
1122 wpa_sm_set_pmk(wpa_s->wpa, ssid->psk, PMK_LEN);
1124 if (bss && ssid->bssid_set && ssid->ssid_len == 0 &&
1125 ssid->passphrase) {
1127 pbkdf2_sha1(ssid->passphrase, bss->ssid, bss->ssid_len,
1135 if (ssid->ext_psk) {
1137 ssid->ext_psk);
1161 pbkdf2_sha1(pw_str, bss->ssid, bss->ssid_len,
1215 *pos |= 0x02; /* Bit 25 - SSID List */
1266 * @ssid: Configuration data for the selected network
1271 struct wpa_bss *bss, struct wpa_ssid *ssid)
1297 if (ssid->mode == WPAS_MODE_AP || ssid->mode == WPAS_MODE_P2P_GO ||
1298 ssid->mode == WPAS_MODE_P2P_GROUP_FORMATION) {
1305 if (wpa_supplicant_create_ap(wpa_s, ssid) < 0) {
1307 if (ssid->mode == WPAS_MODE_P2P_GROUP_FORMATION)
1326 ssid->mode == IEEE80211_MODE_INFRA) {
1327 sme_authenticate(wpa_s, bss, ssid);
1338 " (SSID='%s' freq=%d MHz)", MAC2STR(bss->bssid),
1339 wpa_ssid_txt(bss->ssid, bss->ssid_len), bss->freq);
1356 } else if ((ssid->ssid == NULL || ssid->ssid_len == 0) &&
1358 (ssid->key_mgmt & WPA_KEY_MGMT_WPS)) {
1367 wpa_msg(wpa_s, MSG_INFO, "Trying to associate with SSID '%s'",
1368 wpa_ssid_txt(ssid->ssid, ssid->ssid_len));
1379 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA) {
1380 if (ssid->leap) {
1381 if (ssid->non_leap == 0)
1389 if (ssid->auth_alg) {
1390 algs = ssid->auth_alg;
1397 wpa_key_mgmt_wpa(ssid->key_mgmt)) {
1399 try_opportunistic = (ssid->proactive_key_caching < 0 ?
1401 ssid->proactive_key_caching) &&
1402 (ssid->proto & WPA_PROTO_RSN);
1404 ssid, try_opportunistic) == 0)
1407 if (wpa_supplicant_set_suites(wpa_s, bss, ssid,
1413 } else if ((ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA) && bss &&
1414 wpa_key_mgmt_wpa_ieee8021x(ssid->key_mgmt)) {
1420 wpa_supplicant_set_non_wpa_policy(wpa_s, ssid);
1423 } else if (wpa_key_mgmt_wpa_any(ssid->key_mgmt)) {
1425 if (wpa_supplicant_set_suites(wpa_s, NULL, ssid,
1433 } else if (ssid->key_mgmt & WPA_KEY_MGMT_WPS) {
1435 wps_ie = wps_build_assoc_req_ie(wpas_wps_get_req_type(ssid));
1442 wpa_supplicant_set_non_wpa_policy(wpa_s, ssid);
1450 wpa_supplicant_set_non_wpa_policy(wpa_s, ssid);
1463 ssid->p2p_group);
1485 if (is_hs20_network(wpa_s, ssid, bss)) {
1517 if (wpa_set_wep_keys(wpa_s, ssid)) {
1527 if ((ssid->eapol_flags &
1543 wpa_supplicant_set_wpa_none_key(wpa_s, ssid);
1548 params.ssid = bss->ssid;
1550 if (!wpas_driver_bss_selection(wpa_s) || ssid->bssid_set) {
1555 ssid->bssid_set);
1560 params.ssid = ssid->ssid;
1561 params.ssid_len = ssid->ssid_len;
1564 if (ssid->mode == WPAS_MODE_IBSS && ssid->bssid_set &&
1566 params.bssid = ssid->bssid;
1570 if (ssid->mode == WPAS_MODE_IBSS && ssid->frequency > 0 &&
1572 params.freq = ssid->frequency; /* Initial channel for IBSS */
1580 params.mode = ssid->mode;
1581 params.bg_scan_period = ssid->bg_scan_period;
1583 if (ssid->wep_key_len[i])
1584 params.wep_key[i] = ssid->wep_key[i];
1585 params.wep_key_len[i] = ssid->wep_key_len[i];
1587 params.wep_tx_keyidx = ssid->wep_tx_keyidx;
1592 params.passphrase = ssid->passphrase;
1593 if (ssid->psk_set)
1594 params.psk = ssid->psk;
1601 ssid->ieee80211w == MGMT_FRAME_PROTECTION_DEFAULT ?
1602 wpa_s->conf->pmf : ssid->ieee80211w;
1617 params.p2p = ssid->p2p_group;
1629 wpa_supplicant_apply_ht_overrides(wpa_s, ssid, &params);
1640 if (wpas_p2p_handle_frequency_conflicts(wpa_s, params.freq, ssid) < 0)
1667 wpa_supplicant_set_wpa_none_key(wpa_s, ssid);
1673 } else if (ssid->mode == WPAS_MODE_IBSS &&
1688 timeout = ssid->mode == WPAS_MODE_IBSS ? 10 : 5;
1691 timeout = ssid->mode == WPAS_MODE_IBSS ? 20 : 10;
1699 wpa_set_wep_keys(wpa_s, ssid);
1702 if (wpa_s->current_ssid && wpa_s->current_ssid != ssid) {
1710 wpa_s->current_ssid = ssid;
1790 struct wpa_ssid *ssid)
1792 if (!ssid || !ssid->disabled || ssid->disabled == 2)
1795 ssid->disabled = 0;
1796 wpas_clear_temp_disabled(wpa_s, ssid, 1);
1797 wpas_notify_network_enabled_changed(wpa_s, ssid);
1811 * @ssid: wpa_ssid structure for a configured network or %NULL
1816 struct wpa_ssid *ssid)
1818 if (ssid == NULL) {
1819 for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next)
1820 wpa_supplicant_enable_one_network(wpa_s, ssid);
1822 wpa_supplicant_enable_one_network(wpa_s, ssid);
1840 * @ssid: wpa_ssid structure for a configured network or %NULL
1845 struct wpa_ssid *ssid)
1850 if (ssid == NULL) {
1854 for (other_ssid = wpa_s->conf->ssid; other_ssid;
1870 } else if (ssid->disabled != 2) {
1871 if (ssid == wpa_s->current_ssid)
1875 was_disabled = ssid->disabled;
1877 ssid->disabled = 1;
1879 if (was_disabled != ssid->disabled) {
1880 wpas_notify_network_enabled_changed(wpa_s, ssid);
1895 * @ssid: wpa_ssid structure for a configured network or %NULL for any network
1898 struct wpa_ssid *ssid)
1904 if (ssid && ssid != wpa_s->current_ssid && wpa_s->current_ssid) {
1910 if (ssid)
1911 wpas_clear_temp_disabled(wpa_s, ssid, 1);
1917 for (other_ssid = wpa_s->conf->ssid; other_ssid;
1923 other_ssid->disabled = ssid ? (ssid->id != other_ssid->id) : 0;
1931 if (ssid && ssid == wpa_s->current_ssid && wpa_s->current_ssid) {
1938 if (ssid) {
1939 wpa_s->current_ssid = ssid;
1949 if (ssid)
1950 wpas_notify_network_selected(wpa_s, ssid);
2108 u8 ssid[MAX_SSID_LEN];
2114 res = wpa_drv_get_ssid(wpa_s, ssid);
2116 wpa_msg(wpa_s, MSG_WARNING, "Could not read SSID from "
2131 entry = wpa_s->conf->ssid;
2135 os_memcmp(ssid, entry->ssid, ssid_len) == 0) || wired) &&
2142 (entry->ssid == NULL || entry->ssid_len == 0) &&
2667 struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid,
2673 if (!ssid)
2676 params->disable_ht = ssid->disable_ht;
2682 wpa_set_htcap_mcs(wpa_s, htcaps, htcaps_mask, ssid->ht_mcs);
2684 ssid->disable_max_amsdu);
2685 wpa_set_ampdu_factor(wpa_s, htcaps, htcaps_mask, ssid->ampdu_factor);
2686 wpa_set_ampdu_density(wpa_s, htcaps, htcaps_mask, ssid->ampdu_density);
2687 wpa_set_disable_ht40(wpa_s, htcaps, htcaps_mask, ssid->disable_ht40);
2688 wpa_set_disable_sgi(wpa_s, htcaps, htcaps_mask, ssid->disable_sgi);
2696 struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid,
2702 if (!ssid)
2705 params->disable_vht = ssid->disable_vht;
2713 vhtcaps->vht_capabilities_info = ssid->vht_capa;
2714 vhtcaps_mask->vht_capabilities_info = ssid->vht_capa_mask;
2717 if (ssid->vht_tx_mcs_nss_ ##i >= 0) { \
2721 ssid->vht_tx_mcs_nss_ ##i << 2 * (i - 1); \
2723 if (ssid->vht_rx_mcs_nss_ ##i >= 0) { \
2727 ssid->vht_rx_mcs_nss_ ##i << 2 * (i - 1); \
3152 struct wpa_ssid *ssid;
3191 for (ssid = wpa_s->conf->ssid; ssid; ssid = ssid->next)
3192 wpas_notify_network_added(wpa_s, ssid);
3575 os_memcmp(bss->ssid, cbss->ssid, bss->ssid_len) == 0 &&
3698 struct wpa_ssid *ssid,
3703 struct eap_peer_config *eap = &ssid->eap;
3715 if (ssid == wpa_s->current_ssid)
3723 if (ssid == wpa_s->current_ssid)
3731 if (ssid == wpa_s->current_ssid)
3738 if (ssid == wpa_s->current_ssid)
3753 if (ssid == wpa_s->current_ssid)
3770 int wpas_network_disabled(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid)
3775 if (ssid == NULL)
3778 if (ssid->disabled)
3787 size_t len = ssid->wep_key_len[i];
3799 if (wpa_key_mgmt_wpa_psk(ssid->key_mgmt) && !ssid->psk_set &&
3800 !ssid->ext_psk)
3819 struct wpa_ssid *ssid = wpa_s->current_ssid;
3823 if (ssid == NULL) {
3825 "SSID block");
3829 if (ssid->key_mgmt == WPA_KEY_MGMT_WPS)
3832 ssid->auth_failures++;
3835 if (ssid->p2p_group &&
3845 if (ssid->auth_failures > 50)
3847 else if (ssid->auth_failures > 20)
3849 else if (ssid->auth_failures > 10)
3851 else if (ssid->auth_failures > 5)
3853 else if (ssid->auth_failures > 1)
3859 if (now.sec + dur <= ssid->disabled_until.sec)
3862 ssid->disabled_until.sec = now.sec + dur;
3865 "id=%d ssid=\"%s\" auth_failures=%u duration=%d",
3866 ssid->id, wpa_ssid_txt(ssid->ssid, ssid->ssid_len),
3867 ssid->auth_failures, dur);
3872 struct wpa_ssid *ssid, int clear_failures)
3874 if (ssid == NULL)
3877 if (ssid->disabled_until.sec) {
3879 "id=%d ssid=\"%s\"",
3880 ssid->id, wpa_ssid_txt(ssid->ssid, ssid->ssid_len));
3882 ssid->disabled_until.sec = 0;
3883 ssid->disabled_until.usec = 0;
3885 ssid->auth_failures = 0;
3906 int disallowed_ssid(struct wpa_supplicant *wpa_s, const u8 *ssid,
3911 if (wpa_s->disallow_aps_ssid == NULL || ssid == NULL)
3917 os_memcmp(ssid, s->ssid, ssid_len) == 0)