Home | History | Annotate | Download | only in wpa_supplicant

Lines Matching full:ssid

39 	int (*parser)(const struct parse_data *data, struct wpa_ssid *ssid,
45 char * (*writer)(const struct parse_data *data, struct wpa_ssid *ssid);
98 struct wpa_ssid *ssid,
145 dst = (char **) (((u8 *) ssid) + (long) data->param1);
146 dst_len = (size_t *) (((u8 *) ssid) + (long) data->param2);
211 struct wpa_ssid *ssid)
216 src = (char **) (((u8 *) ssid) + (long) data->param1);
221 len = *((size_t *) (((u8 *) ssid) + (long) data->param2));
230 struct wpa_ssid *ssid)
235 src = (char **) (((u8 *) ssid) + (long) data->param1);
240 len = *((size_t *) (((u8 *) ssid) + (long) data->param2));
251 struct wpa_ssid *ssid,
256 dst = (int *) (((u8 *) ssid) + (long) data->param1);
282 struct wpa_ssid *ssid)
287 src = (int *) (((u8 *) ssid) + (long) data->param1);
304 struct wpa_ssid *ssid, int line,
309 ssid->bssid_set = 0;
313 if (hwaddr_aton(value, ssid->bssid)) {
318 ssid->bssid_set = 1;
319 wpa_hexdump(MSG_MSGDUMP, "BSSID", ssid->bssid, ETH_ALEN);
326 struct wpa_ssid *ssid)
331 if (!ssid->bssid_set)
337 res = os_snprintf(value, 20, MACSTR, MAC2STR(ssid->bssid));
349 struct wpa_ssid *ssid, int line,
371 if (ssid->passphrase && os_strlen(ssid->passphrase) == len &&
372 os_memcmp(ssid->passphrase, value, len) == 0)
374 ssid->psk_set = 0;
375 os_free(ssid->passphrase);
376 ssid->passphrase = os_malloc(len + 1);
377 if (ssid->passphrase == NULL)
379 os_memcpy(ssid->passphrase, value, len);
380 ssid->passphrase[len] = '\0';
389 if (hexstr2bin(value, ssid->psk, PMK_LEN) ||
396 os_free(ssid->passphrase);
397 ssid->passphrase = NULL;
399 ssid->psk_set = 1;
400 wpa_hexdump_key(MSG_MSGDUMP, "PSK", ssid->psk, PMK_LEN);
407 struct wpa_ssid *ssid)
409 if (ssid->passphrase)
411 (const u8 *) ssid->passphrase,
412 os_strlen(ssid->passphrase));
414 if (ssid->psk_set)
415 return wpa_config_write_string_hex(ssid->psk, PMK_LEN);
423 struct wpa_ssid *ssid, int line,
468 ssid->proto = val;
475 struct wpa_ssid *ssid)
485 if (ssid->proto & WPA_PROTO_WPA) {
493 if (ssid->proto & WPA_PROTO_RSN) {
507 struct wpa_ssid *ssid, int line,
573 ssid->key_mgmt = val;
580 struct wpa_ssid *ssid)
590 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK) {
600 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X) {
610 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA) {
620 if (ssid->key_mgmt & WPA_KEY_MGMT_NONE) {
630 if (ssid->key_mgmt & WPA_KEY_MGMT_WPA_NONE) {
641 if (ssid->key_mgmt & WPA_KEY_MGMT_FT_PSK)
645 if (ssid->key_mgmt & WPA_KEY_MGMT_FT_IEEE8021X)
651 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK_SHA256)
655 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_SHA256)
661 if (ssid->key_mgmt & WPA_KEY_MGMT_WPS)
790 struct wpa_ssid *ssid, int line,
804 ssid->pairwise_cipher = val;
811 struct wpa_ssid *ssid)
813 return wpa_config_write_cipher(ssid->pairwise_cipher);
819 struct wpa_ssid *ssid, int line,
834 ssid->group_cipher = val;
841 struct wpa_ssid *ssid)
843 return wpa_config_write_cipher(ssid->group_cipher);
849 struct wpa_ssid *ssid, int line,
895 ssid->auth_alg = val;
902 struct wpa_ssid *ssid)
912 if (ssid->auth_alg & WPA_AUTH_ALG_OPEN) {
922 if (ssid->auth_alg & WPA_AUTH_ALG_SHARED) {
932 if (ssid->auth_alg & WPA_AUTH_ALG_LEAP) {
948 struct wpa_ssid *ssid, int line,
991 struct wpa_ssid *ssid, int line,
996 freqs = wpa_config_parse_freqs(data, ssid, line, value);
999 os_free(ssid->scan_freq);
1000 ssid->scan_freq = freqs;
1007 struct wpa_ssid *ssid, int line,
1012 freqs = wpa_config_parse_freqs(data, ssid, line, value);
1015 os_free(ssid->freq_list);
1016 ssid->freq_list = freqs;
1057 struct wpa_ssid *ssid)
1059 return wpa_config_write_freqs(data, ssid->scan_freq);
1064 struct wpa_ssid *ssid)
1066 return wpa_config_write_freqs(data, ssid->freq_list);
1073 struct wpa_ssid *ssid, int line,
1117 ssid->leap++;
1119 ssid->non_leap++;
1139 ssid->eap.eap_methods = methods;
1145 struct wpa_ssid *ssid)
1149 const struct eap_method_type *eap_methods = ssid->eap.eap_methods;
1180 struct wpa_ssid *ssid, int line,
1187 os_free(ssid->eap.password);
1188 ssid->eap.password = NULL;
1189 ssid->eap.password_len = 0;
1206 os_free(ssid->eap.password);
1207 ssid->eap.password = (u8 *) tmp;
1208 ssid->eap.password_len = res_len;
1209 ssid->eap.flags &= ~EAP_CONFIG_FLAGS_PASSWORD_NTHASH;
1234 os_free(ssid->eap.password);
1235 ssid->eap.password = hash;
1236 ssid->eap.password_len = 16;
1237 ssid->eap.flags |= EAP_CONFIG_FLAGS_PASSWORD_NTHASH;
1244 struct wpa_ssid *ssid)
1248 if (ssid->eap.password == NULL)
1251 if (!(ssid->eap.flags & EAP_CONFIG_FLAGS_PASSWORD_NTHASH)) {
1253 ssid->eap.password, ssid->eap.password_len);
1261 wpa_snprintf_hex(buf + 5, 32 + 1, ssid->eap.password, 16);
1296 struct wpa_ssid *ssid, int line,
1299 return wpa_config_parse_wep_key(ssid->wep_key[0],
1300 &ssid->wep_key_len[0], line,
1306 struct wpa_ssid *ssid, int line,
1309 return wpa_config_parse_wep_key(ssid->wep_key[1],
1310 &ssid->wep_key_len[1], line,
1316 struct wpa_ssid *ssid, int line,
1319 return wpa_config_parse_wep_key(ssid->wep_key[2],
1320 &ssid->wep_key_len[2], line,
1326 struct wpa_ssid *ssid, int line,
1329 return wpa_config_parse_wep_key(ssid->wep_key[3],
1330 &ssid->wep_key_len[3], line,
1336 static char * wpa_config_write_wep_key(struct wpa_ssid *ssid, int idx)
1338 if (ssid->wep_key_len[idx] == 0)
1340 return wpa_config_write_string(ssid->wep_key[idx],
1341 ssid->wep_key_len[idx]);
1346 struct wpa_ssid *ssid)
1348 return wpa_config_write_wep_key(ssid, 0);
1353 struct wpa_ssid *ssid)
1355 return wpa_config_write_wep_key(ssid, 1);
1360 struct wpa_ssid *ssid)
1362 return wpa_config_write_wep_key(ssid, 2);
1367 struct wpa_ssid *ssid)
1369 return wpa_config_write_wep_key(ssid, 3);
1472 { STR_RANGE_UNICODE(ssid, 0, MAX_SSID_LEN) },
1474 { STR_RANGE(ssid, 0, MAX_SSID_LEN) },
1580 * @ssid: Pointer to the network configuration to be added to the list
1589 struct wpa_ssid *ssid)
1600 if (prev->priority == ssid->priority) {
1603 prev->pnext = ssid;
1615 if (nlist[prio]->priority < ssid->priority)
1622 nlist[prio] = ssid;
1641 struct wpa_ssid *ssid;
1648 ssid = config->ssid;
1649 while (ssid) {
1650 ssid->pnext = NULL;
1651 if (wpa_config_add_prio_network(config, ssid) < 0)
1653 ssid = ssid->next;
1705 * wpa_config_free_ssid - Free network/ssid configuration data
1706 * @ssid: Configuration data for the network
1711 void wpa_config_free_ssid(struct wpa_ssid *ssid)
1713 os_free(ssid->ssid);
1714 os_free(ssid->passphrase);
1716 eap_peer_config_free(&ssid->eap);
1718 os_free(ssid->id_str);
1719 os_free(ssid->scan_freq);
1720 os_free(ssid->freq_list);
1721 os_free(ssid->bgscan);
1722 os_free(ssid);
1738 struct wpa_ssid *ssid, *prev = NULL;
1740 ssid = config->ssid;
1741 while (ssid) {
1742 prev = ssid;
1743 ssid = ssid->next;
1789 struct wpa_ssid *ssid, *next;
1791 ssid = config->ssid;
1792 while (ssid) {
1793 next = ssid->next;
1794 func(arg, ssid);
1795 ssid = next;
1808 struct wpa_ssid *ssid;
1810 ssid = config->ssid;
1811 while (ssid) {
1812 if (id == ssid->id)
1814 ssid = ssid->next;
1817 return ssid;
1829 struct wpa_ssid *ssid, *last = NULL;
1832 ssid = config->ssid;
1833 while (ssid) {
1834 if (ssid->id > id)
1835 id = ssid->id;
1836 last = ssid;
1837 ssid = ssid->next;
1841 ssid = os_zalloc(sizeof(*ssid));
1842 if (ssid == NULL)
1844 ssid->id = id;
1846 last->next = ssid;
1848 config->ssid = ssid;
1852 return ssid;
1864 struct wpa_ssid *ssid, *prev = NULL;
1866 ssid = config->ssid;
1867 while (ssid) {
1868 if (id == ssid->id)
1870 prev = ssid;
1871 ssid = ssid->next;
1874 if (ssid == NULL)
1878 prev->next = ssid->next;
1880 config->ssid = ssid->next;
1883 wpa_config_free_ssid(ssid);
1890 * @ssid: Pointer to network configuration data
1892 void wpa_config_set_network_defaults(struct wpa_ssid *ssid)
1894 ssid->proto = DEFAULT_PROTO;
1895 ssid->pairwise_cipher = DEFAULT_PAIRWISE;
1896 ssid->group_cipher = DEFAULT_GROUP;
1897 ssid->key_mgmt = DEFAULT_KEY_MGMT;
1899 ssid->eapol_flags = DEFAULT_EAPOL_FLAGS;
1900 ssid->eap_workaround = DEFAULT_EAP_WORKAROUND;
1901 ssid->eap.fragment_size = DEFAULT_FRAGMENT_SIZE;
1908 * @ssid: Pointer to network configuration data
1909 * @var: Variable name, e.g., "ssid"
1919 int wpa_config_set(struct wpa_ssid *ssid, const char *var, const char *value,
1925 if (ssid == NULL || var == NULL || value == NULL)
1933 if (field->parser(field, ssid, line, value)) {
1956 * @ssid: Pointer to network configuration data
1966 char ** wpa_config_get_all(struct wpa_ssid *ssid, int get_keys)
1974 get_keys = get_keys && ssid->export_keys;
1985 value = field->writer(field, ssid);
2019 * @ssid: Pointer to network configuration data
2020 * @var: Variable name, e.g., "ssid"
2029 char * wpa_config_get(struct wpa_ssid *ssid, const char *var)
2033 if (ssid == NULL || var == NULL)
2039 return field->writer(field, ssid);
2048 * @ssid: Pointer to network configuration data
2049 * @var: Variable name, e.g., "ssid"
2062 char * wpa_config_get_no_key(struct wpa_ssid *ssid, const char *var)
2066 if (ssid == NULL || var == NULL)
2072 char *res = field->writer(field, ssid);
2095 * wpa_config_update_psk - Update WPA PSK based on passphrase and SSID
2096 * @ssid: Pointer to network configuration data
2098 * This function must be called to update WPA PSK when either SSID or the
2101 void wpa_config_update_psk(struct wpa_ssid *ssid)
2104 pbkdf2_sha1(ssid->passphrase,
2105 (char *) ssid->ssid, ssid->ssid_len, 4096,
2106 ssid->psk, PMK_LEN);
2108 ssid->psk, PMK_LEN);
2109 ssid->psk_set = 1;
2236 struct wpa_ssid *ssid;
2239 ssid = config->pssid[prio];
2241 ssid->priority);
2242 while (ssid) {
2243 wpa_printf(MSG_DEBUG, " id=%d ssid='%s'",
2244 ssid->id,
2245 wpa_ssid_txt(ssid->ssid, ssid->ssid_len));
2246 ssid = ssid->pnext;