Home | History | Annotate | Download | only in wpa_supplicant

Lines Matching full:ssid

33 	int (*parser)(const struct parse_data *data, struct wpa_ssid *ssid,
39 char * (*writer)(const struct parse_data *data, struct wpa_ssid *ssid);
92 struct wpa_ssid *ssid,
139 dst = (char **) (((u8 *) ssid) + (long) data->param1);
140 dst_len = (size_t *) (((u8 *) ssid) + (long) data->param2);
205 struct wpa_ssid *ssid)
210 src = (char **) (((u8 *) ssid) + (long) data->param1);
215 len = *((size_t *) (((u8 *) ssid) + (long) data->param2));
224 struct wpa_ssid *ssid)
229 src = (char **) (((u8 *) ssid) + (long) data->param1);
234 len = *((size_t *) (((u8 *) ssid) + (long) data->param2));
245 struct wpa_ssid *ssid,
250 dst = (int *) (((u8 *) ssid) + (long) data->param1);
276 struct wpa_ssid *ssid)
281 src = (int *) (((u8 *) ssid) + (long) data->param1);
298 struct wpa_ssid *ssid, int line,
303 ssid->bssid_set = 0;
307 if (hwaddr_aton(value, ssid->bssid)) {
312 ssid->bssid_set = 1;
313 wpa_hexdump(MSG_MSGDUMP, "BSSID", ssid->bssid, ETH_ALEN);
320 struct wpa_ssid *ssid)
325 if (!ssid->bssid_set)
331 res = os_snprintf(value, 20, MACSTR, MAC2STR(ssid->bssid));
343 struct wpa_ssid *ssid, int line,
365 if (ssid->passphrase && os_strlen(ssid->passphrase) == len &&
366 os_memcmp(ssid->passphrase, value, len) == 0)
368 ssid->psk_set = 0;
369 os_free(ssid->passphrase);
370 ssid->passphrase = os_malloc(len + 1);
371 if (ssid->passphrase == NULL)
373 os_memcpy(ssid->passphrase, value, len);
374 ssid->passphrase[len] = '\0';
383 if (hexstr2bin(value, ssid->psk, PMK_LEN) ||
390 os_free(ssid->passphrase);
391 ssid->passphrase = NULL;
393 ssid->psk_set = 1;
394 wpa_hexdump_key(MSG_MSGDUMP, "PSK", ssid->psk, PMK_LEN);
401 struct wpa_ssid *ssid)
403 if (ssid->passphrase)
405 (const u8 *) ssid->passphrase,
406 os_strlen(ssid->passphrase));
408 if (ssid->psk_set)
409 return wpa_config_write_string_hex(ssid->psk, PMK_LEN);
417 struct wpa_ssid *ssid, int line,
462 ssid->proto = val;
469 struct wpa_ssid *ssid)
479 if (ssid->proto & WPA_PROTO_WPA) {
487 if (ssid->proto & WPA_PROTO_RSN) {
501 struct wpa_ssid *ssid, int line,
567 ssid->key_mgmt = val;
574 struct wpa_ssid *ssid)
584 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK) {
594 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X) {
604 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA) {
614 if (ssid->key_mgmt & WPA_KEY_MGMT_NONE) {
624 if (ssid->key_mgmt & WPA_KEY_MGMT_WPA_NONE) {
635 if (ssid->key_mgmt & WPA_KEY_MGMT_FT_PSK)
639 if (ssid->key_mgmt & WPA_KEY_MGMT_FT_IEEE8021X)
645 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK_SHA256)
649 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_SHA256)
655 if (ssid->key_mgmt & WPA_KEY_MGMT_WPS)
784 struct wpa_ssid *ssid, int line,
798 ssid->pairwise_cipher = val;
805 struct wpa_ssid *ssid)
807 return wpa_config_write_cipher(ssid->pairwise_cipher);
813 struct wpa_ssid *ssid, int line,
828 ssid->group_cipher = val;
835 struct wpa_ssid *ssid)
837 return wpa_config_write_cipher(ssid->group_cipher);
843 struct wpa_ssid *ssid, int line,
889 ssid->auth_alg = val;
896 struct wpa_ssid *ssid)
906 if (ssid->auth_alg & WPA_AUTH_ALG_OPEN) {
916 if (ssid->auth_alg & WPA_AUTH_ALG_SHARED) {
926 if (ssid->auth_alg & WPA_AUTH_ALG_LEAP) {
942 struct wpa_ssid *ssid, int line,
985 struct wpa_ssid *ssid, int line,
990 freqs = wpa_config_parse_freqs(data, ssid, line, value);
993 os_free(ssid->scan_freq);
994 ssid->scan_freq = freqs;
1001 struct wpa_ssid *ssid, int line,
1006 freqs = wpa_config_parse_freqs(data, ssid, line, value);
1009 os_free(ssid->freq_list);
1010 ssid->freq_list = freqs;
1051 struct wpa_ssid *ssid)
1053 return wpa_config_write_freqs(data, ssid->scan_freq);
1058 struct wpa_ssid *ssid)
1060 return wpa_config_write_freqs(data, ssid->freq_list);
1067 struct wpa_ssid *ssid, int line,
1111 ssid->leap++;
1113 ssid->non_leap++;
1133 ssid->eap.eap_methods = methods;
1139 struct wpa_ssid *ssid)
1143 const struct eap_method_type *eap_methods = ssid->eap.eap_methods;
1174 struct wpa_ssid *ssid, int line,
1181 os_free(ssid->eap.password);
1182 ssid->eap.password = NULL;
1183 ssid->eap.password_len = 0;
1200 os_free(ssid->eap.password);
1201 ssid->eap.password = (u8 *) tmp;
1202 ssid->eap.password_len = res_len;
1203 ssid->eap.flags &= ~EAP_CONFIG_FLAGS_PASSWORD_NTHASH;
1228 os_free(ssid->eap.password);
1229 ssid->eap.password = hash;
1230 ssid->eap.password_len = 16;
1231 ssid->eap.flags |= EAP_CONFIG_FLAGS_PASSWORD_NTHASH;
1238 struct wpa_ssid *ssid)
1242 if (ssid->eap.password == NULL)
1245 if (!(ssid->eap.flags & EAP_CONFIG_FLAGS_PASSWORD_NTHASH)) {
1247 ssid->eap.password, ssid->eap.password_len);
1255 wpa_snprintf_hex(buf + 5, 32 + 1, ssid->eap.password, 16);
1290 struct wpa_ssid *ssid, int line,
1293 return wpa_config_parse_wep_key(ssid->wep_key[0],
1294 &ssid->wep_key_len[0], line,
1300 struct wpa_ssid *ssid, int line,
1303 return wpa_config_parse_wep_key(ssid->wep_key[1],
1304 &ssid->wep_key_len[1], line,
1310 struct wpa_ssid *ssid, int line,
1313 return wpa_config_parse_wep_key(ssid->wep_key[2],
1314 &ssid->wep_key_len[2], line,
1320 struct wpa_ssid *ssid, int line,
1323 return wpa_config_parse_wep_key(ssid->wep_key[3],
1324 &ssid->wep_key_len[3], line,
1330 static char * wpa_config_write_wep_key(struct wpa_ssid *ssid, int idx)
1332 if (ssid->wep_key_len[idx] == 0)
1334 return wpa_config_write_string(ssid->wep_key[idx],
1335 ssid->wep_key_len[idx]);
1340 struct wpa_ssid *ssid)
1342 return wpa_config_write_wep_key(ssid, 0);
1347 struct wpa_ssid *ssid)
1349 return wpa_config_write_wep_key(ssid, 1);
1354 struct wpa_ssid *ssid)
1356 return wpa_config_write_wep_key(ssid, 2);
1361 struct wpa_ssid *ssid)
1363 return wpa_config_write_wep_key(ssid, 3);
1371 struct wpa_ssid *ssid, int line,
1407 os_free(ssid->p2p_client_list);
1408 ssid->p2p_client_list = buf;
1409 ssid->num_p2p_clients = count;
1417 struct wpa_ssid *ssid)
1423 if (ssid->p2p_client_list == NULL || ssid->num_p2p_clients == 0)
1426 value = os_malloc(20 * ssid->num_p2p_clients);
1430 end = value + 20 * ssid->num_p2p_clients;
1432 for (i = 0; i < ssid->num_p2p_clients; i++) {
1434 MAC2STR(ssid->p2p_client_list +
1550 { STR_RANGE_UNICODE(ssid, 0, MAX_SSID_LEN) },
1552 { STR_RANGE(ssid, 0, MAX_SSID_LEN) },
1669 * @ssid: Pointer to the network configuration to be added to the list
1678 struct wpa_ssid *ssid)
1689 if (prev->priority == ssid->priority) {
1692 prev->pnext = ssid;
1704 if (nlist[prio]->priority < ssid->priority)
1711 nlist[prio] = ssid;
1730 struct wpa_ssid *ssid;
1737 ssid = config->ssid;
1738 while (ssid) {
1739 ssid->pnext = NULL;
1740 if (wpa_config_add_prio_network(config, ssid) < 0)
1742 ssid = ssid->next;
1794 * wpa_config_free_ssid - Free network/ssid configuration data
1795 * @ssid: Configuration data for the network
1800 void wpa_config_free_ssid(struct wpa_ssid *ssid)
1802 os_free(ssid->ssid);
1803 os_free(ssid->passphrase);
1805 eap_peer_config_free(&ssid->eap);
1807 os_free(ssid->id_str);
1808 os_free(ssid->scan_freq);
1809 os_free(ssid->freq_list);
1810 os_free(ssid->bgscan);
1811 os_free(ssid->p2p_client_list);
1813 os_free(ssid->ht_mcs);
1815 os_free(ssid);
1831 struct wpa_ssid *ssid, *prev = NULL;
1833 ssid = config->ssid;
1834 while (ssid) {
1835 prev = ssid;
1836 ssid = ssid->next;
1891 struct wpa_ssid *ssid, *next;
1893 ssid = config->ssid;
1894 while (ssid) {
1895 next = ssid->next;
1896 func(arg, ssid);
1897 ssid = next;
1910 struct wpa_ssid *ssid;
1912 ssid = config->ssid;
1913 while (ssid) {
1914 if (id == ssid->id)
1916 ssid = ssid->next;
1919 return ssid;
1931 struct wpa_ssid *ssid, *last = NULL;
1934 ssid = config->ssid;
1935 while (ssid) {
1936 if (ssid->id > id)
1937 id = ssid->id;
1938 last = ssid;
1939 ssid = ssid->next;
1943 ssid = os_zalloc(sizeof(*ssid));
1944 if (ssid == NULL)
1946 ssid->id = id;
1948 last->next = ssid;
1950 config->ssid = ssid;
1954 return ssid;
1966 struct wpa_ssid *ssid, *prev = NULL;
1968 ssid = config->ssid;
1969 while (ssid) {
1970 if (id == ssid->id)
1972 prev = ssid;
1973 ssid = ssid->next;
1976 if (ssid == NULL)
1980 prev->next = ssid->next;
1982 config->ssid = ssid->next;
1985 wpa_config_free_ssid(ssid);
1992 * @ssid: Pointer to network configuration data
1994 void wpa_config_set_network_defaults(struct wpa_ssid *ssid)
1996 ssid->proto = DEFAULT_PROTO;
1997 ssid->pairwise_cipher = DEFAULT_PAIRWISE;
1998 ssid->group_cipher = DEFAULT_GROUP;
1999 ssid->key_mgmt = DEFAULT_KEY_MGMT;
2001 ssid->eapol_flags = DEFAULT_EAPOL_FLAGS;
2002 ssid->eap_workaround = DEFAULT_EAP_WORKAROUND;
2003 ssid->eap.fragment_size = DEFAULT_FRAGMENT_SIZE;
2006 ssid->disable_ht = DEFAULT_DISABLE_HT;
2007 ssid->disable_ht40 = DEFAULT_DISABLE_HT40;
2008 ssid->disable_max_amsdu = DEFAULT_DISABLE_MAX_AMSDU;
2009 ssid->ampdu_factor = DEFAULT_AMPDU_FACTOR;
2010 ssid->ampdu_density = DEFAULT_AMPDU_DENSITY;
2017 * @ssid: Pointer to network configuration data
2018 * @var: Variable name, e.g., "ssid"
2028 int wpa_config_set(struct wpa_ssid *ssid, const char *var, const char *value,
2034 if (ssid == NULL || var == NULL || value == NULL)
2042 if (field->parser(field, ssid, line, value)) {
2063 int wpa_config_set_quoted(struct wpa_ssid *ssid, const char *var,
2078 ret = wpa_config_set(ssid, var, buf, 0);
2086 * @ssid: Pointer to network configuration data
2096 char ** wpa_config_get_all(struct wpa_ssid *ssid, int get_keys)
2104 get_keys = get_keys && ssid->export_keys;
2115 value = field->writer(field, ssid);
2149 * @ssid: Pointer to network configuration data
2150 * @var: Variable name, e.g., "ssid"
2159 char * wpa_config_get(struct wpa_ssid *ssid, const char *var)
2163 if (ssid == NULL || var == NULL)
2169 return field->writer(field, ssid);
2178 * @ssid: Pointer to network configuration data
2179 * @var: Variable name, e.g., "ssid"
2192 char * wpa_config_get_no_key(struct wpa_ssid *ssid, const char *var)
2196 if (ssid == NULL || var == NULL)
2202 char *res = field->writer(field, ssid);
2225 * wpa_config_update_psk - Update WPA PSK based on passphrase and SSID
2226 * @ssid: Pointer to network configuration data
2228 * This function must be called to update WPA PSK when either SSID or the
2231 void wpa_config_update_psk(struct wpa_ssid *ssid)
2234 pbkdf2_sha1(ssid->passphrase,
2235 (char *) ssid->ssid, ssid->ssid_len, 4096,
2236 ssid->psk, PMK_LEN);
2238 ssid->psk, PMK_LEN);
2239 ssid->psk_set = 1;
2367 struct wpa_ssid *ssid;
2370 ssid = config->pssid[prio];
2372 ssid->priority);
2373 while (ssid) {
2374 wpa_printf(MSG_DEBUG, " id=%d ssid='%s'",
2375 ssid->id,
2376 wpa_ssid_txt(ssid->ssid, ssid->ssid_len));
2377 ssid = ssid->pnext;