Home | History | Annotate | Download | only in wpa_supplicant

Lines Matching refs:ssid

38 	int (*parser)(const struct parse_data *data, struct wpa_ssid *ssid,
44 char * (*writer)(const struct parse_data *data, struct wpa_ssid *ssid);
97 struct wpa_ssid *ssid,
144 dst = (char **) (((u8 *) ssid) + (long) data->param1);
145 dst_len = (size_t *) (((u8 *) ssid) + (long) data->param2);
210 struct wpa_ssid *ssid)
215 src = (char **) (((u8 *) ssid) + (long) data->param1);
220 len = *((size_t *) (((u8 *) ssid) + (long) data->param2));
229 struct wpa_ssid *ssid)
234 src = (char **) (((u8 *) ssid) + (long) data->param1);
239 len = *((size_t *) (((u8 *) ssid) + (long) data->param2));
250 struct wpa_ssid *ssid,
255 dst = (int *) (((u8 *) ssid) + (long) data->param1);
281 struct wpa_ssid *ssid)
286 src = (int *) (((u8 *) ssid) + (long) data->param1);
303 struct wpa_ssid *ssid, int line,
306 if (hwaddr_aton(value, ssid->bssid)) {
311 ssid->bssid_set = 1;
312 wpa_hexdump(MSG_MSGDUMP, "BSSID", ssid->bssid, ETH_ALEN);
319 struct wpa_ssid *ssid)
324 if (!ssid->bssid_set)
330 res = os_snprintf(value, 20, MACSTR, MAC2STR(ssid->bssid));
342 struct wpa_ssid *ssid, int line,
364 if (ssid->passphrase && os_strlen(ssid->passphrase) == len &&
365 os_memcmp(ssid->passphrase, value, len) == 0)
367 ssid->psk_set = 0;
368 os_free(ssid->passphrase);
369 ssid->passphrase = os_malloc(len + 1);
370 if (ssid->passphrase == NULL)
372 os_memcpy(ssid->passphrase, value, len);
373 ssid->passphrase[len] = '\0';
382 if (hexstr2bin(value, ssid->psk, PMK_LEN) ||
389 os_free(ssid->passphrase);
390 ssid->passphrase = NULL;
392 ssid->psk_set = 1;
393 wpa_hexdump_key(MSG_MSGDUMP, "PSK", ssid->psk, PMK_LEN);
400 struct wpa_ssid *ssid)
402 if (ssid->passphrase)
404 (const u8 *) ssid->passphrase,
405 os_strlen(ssid->passphrase));
407 if (ssid->psk_set)
408 return wpa_config_write_string_hex(ssid->psk, PMK_LEN);
416 struct wpa_ssid *ssid, int line,
461 ssid->proto = val;
468 struct wpa_ssid *ssid)
478 if (ssid->proto & WPA_PROTO_WPA) {
486 if (ssid->proto & WPA_PROTO_RSN) {
500 struct wpa_ssid *ssid, int line,
566 ssid->key_mgmt = val;
573 struct wpa_ssid *ssid)
583 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK) {
593 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X) {
603 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA) {
613 if (ssid->key_mgmt & WPA_KEY_MGMT_NONE) {
623 if (ssid->key_mgmt & WPA_KEY_MGMT_WPA_NONE) {
634 if (ssid->key_mgmt & WPA_KEY_MGMT_FT_PSK)
638 if (ssid->key_mgmt & WPA_KEY_MGMT_FT_IEEE8021X)
644 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK_SHA256)
648 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_SHA256)
654 if (ssid->key_mgmt & WPA_KEY_MGMT_WPS)
783 struct wpa_ssid *ssid, int line,
797 ssid->pairwise_cipher = val;
804 struct wpa_ssid *ssid)
806 return wpa_config_write_cipher(ssid->pairwise_cipher);
812 struct wpa_ssid *ssid, int line,
827 ssid->group_cipher = val;
834 struct wpa_ssid *ssid)
836 return wpa_config_write_cipher(ssid->group_cipher);
842 struct wpa_ssid *ssid, int line,
888 ssid->auth_alg = val;
895 struct wpa_ssid *ssid)
905 if (ssid->auth_alg & WPA_AUTH_ALG_OPEN) {
915 if (ssid->auth_alg & WPA_AUTH_ALG_SHARED) {
925 if (ssid->auth_alg & WPA_AUTH_ALG_LEAP) {
942 struct wpa_ssid *ssid, int line,
986 ssid->leap++;
988 ssid->non_leap++;
1008 ssid->eap.eap_methods = methods;
1014 struct wpa_ssid *ssid)
1018 const struct eap_method_type *eap_methods = ssid->eap.eap_methods;
1049 struct wpa_ssid *ssid, int line,
1056 os_free(ssid->eap.password);
1057 ssid->eap.password = NULL;
1058 ssid->eap.password_len = 0;
1075 os_free(ssid->eap.password);
1076 ssid->eap.password = (u8 *) tmp;
1077 ssid->eap.password_len = res_len;
1078 ssid->eap.flags &= ~EAP_CONFIG_FLAGS_PASSWORD_NTHASH;
1103 os_free(ssid->eap.password);
1104 ssid->eap.password = hash;
1105 ssid->eap.password_len = 16;
1106 ssid->eap.flags |= EAP_CONFIG_FLAGS_PASSWORD_NTHASH;
1113 struct wpa_ssid *ssid)
1117 if (ssid->eap.password == NULL)
1120 if (!(ssid->eap.flags & EAP_CONFIG_FLAGS_PASSWORD_NTHASH)) {
1122 ssid->eap.password, ssid->eap.password_len);
1130 wpa_snprintf_hex(buf + 5, 32 + 1, ssid->eap.password, 16);
1165 struct wpa_ssid *ssid, int line,
1168 return wpa_config_parse_wep_key(ssid->wep_key[0],
1169 &ssid->wep_key_len[0], line,
1175 struct wpa_ssid *ssid, int line,
1178 return wpa_config_parse_wep_key(ssid->wep_key[1],
1179 &ssid->wep_key_len[1], line,
1185 struct wpa_ssid *ssid, int line,
1188 return wpa_config_parse_wep_key(ssid->wep_key[2],
1189 &ssid->wep_key_len[2], line,
1195 struct wpa_ssid *ssid, int line,
1198 return wpa_config_parse_wep_key(ssid->wep_key[3],
1199 &ssid->wep_key_len[3], line,
1205 static char * wpa_config_write_wep_key(struct wpa_ssid *ssid, int idx)
1207 if (ssid->wep_key_len[idx] == 0)
1209 return wpa_config_write_string(ssid->wep_key[idx],
1210 ssid->wep_key_len[idx]);
1215 struct wpa_ssid *ssid)
1217 return wpa_config_write_wep_key(ssid, 0);
1222 struct wpa_ssid *ssid)
1224 return wpa_config_write_wep_key(ssid, 1);
1229 struct wpa_ssid *ssid)
1231 return wpa_config_write_wep_key(ssid, 2);
1236 struct wpa_ssid *ssid)
1238 return wpa_config_write_wep_key(ssid, 3);
1341 { STR_RANGE_UNICODE(ssid, 0, MAX_SSID_LEN) },
1343 { STR_RANGE(ssid, 0, MAX_SSID_LEN) },
1446 * @ssid: Pointer to the network configuration to be added to the list
1455 struct wpa_ssid *ssid)
1466 if (prev->priority == ssid->priority) {
1469 prev->pnext = ssid;
1481 if (nlist[prio]->priority < ssid->priority)
1488 nlist[prio] = ssid;
1507 struct wpa_ssid *ssid;
1514 ssid = config->ssid;
1515 while (ssid) {
1516 ssid->pnext = NULL;
1517 if (wpa_config_add_prio_network(config, ssid) < 0)
1519 ssid = ssid->next;
1571 * wpa_config_free_ssid - Free network/ssid configuration data
1572 * @ssid: Configuration data for the network
1577 void wpa_config_free_ssid(struct wpa_ssid *ssid)
1579 os_free(ssid->ssid);
1580 os_free(ssid->passphrase);
1582 eap_peer_config_free(&ssid->eap);
1584 os_free(ssid->id_str);
1585 os_free(ssid);
1601 struct wpa_ssid *ssid, *prev = NULL;
1602 ssid = config->ssid;
1603 while (ssid) {
1604 prev = ssid;
1605 ssid = ssid->next;
1646 struct wpa_ssid *ssid;
1648 ssid = config->ssid;
1649 while (ssid) {
1650 if (id == ssid->id)
1652 ssid = ssid->next;
1655 return ssid;
1667 struct wpa_ssid *ssid, *last = NULL;
1670 ssid = config->ssid;
1671 while (ssid) {
1672 if (ssid->id > id)
1673 id = ssid->id;
1674 last = ssid;
1675 ssid = ssid->next;
1679 ssid = os_zalloc(sizeof(*ssid));
1680 if (ssid == NULL)
1682 ssid->id = id;
1684 last->next = ssid;
1686 config->ssid = ssid;
1690 return ssid;
1702 struct wpa_ssid *ssid, *prev = NULL;
1704 ssid = config->ssid;
1705 while (ssid) {
1706 if (id == ssid->id)
1708 prev = ssid;
1709 ssid = ssid->next;
1712 if (ssid == NULL)
1716 prev->next = ssid->next;
1718 config->ssid = ssid->next;
1721 wpa_config_free_ssid(ssid);
1728 * @ssid: Pointer to network configuration data
1730 void wpa_config_set_network_defaults(struct wpa_ssid *ssid)
1732 ssid->proto = DEFAULT_PROTO;
1733 ssid->pairwise_cipher = DEFAULT_PAIRWISE;
1734 ssid->group_cipher = DEFAULT_GROUP;
1735 ssid->key_mgmt = DEFAULT_KEY_MGMT;
1737 ssid->eapol_flags = DEFAULT_EAPOL_FLAGS;
1738 ssid->eap_workaround = DEFAULT_EAP_WORKAROUND;
1739 ssid->eap.fragment_size = DEFAULT_FRAGMENT_SIZE;
1746 * @ssid: Pointer to network configuration data
1747 * @var: Variable name, e.g., "ssid"
1757 int wpa_config_set(struct wpa_ssid *ssid, const char *var, const char *value,
1763 if (ssid == NULL || var == NULL || value == NULL)
1771 if (field->parser(field, ssid, line, value)) {
1795 * @ssid: Pointer to network configuration data
1796 * @var: Variable name, e.g., "ssid"
1805 char * wpa_config_get(struct wpa_ssid *ssid, const char *var)
1809 if (ssid == NULL || var == NULL)
1815 return field->writer(field, ssid);
1824 * @ssid: Pointer to network configuration data
1825 * @var: Variable name, e.g., "ssid"
1838 char * wpa_config_get_no_key(struct wpa_ssid *ssid, const char *var)
1842 if (ssid == NULL || var == NULL)
1848 char *res = field->writer(field, ssid);
1871 * wpa_config_update_psk - Update WPA PSK based on passphrase and SSID
1872 * @ssid: Pointer to network configuration data
1874 * This function must be called to update WPA PSK when either SSID or the
1877 void wpa_config_update_psk(struct wpa_ssid *ssid)
1880 pbkdf2_sha1(ssid->passphrase,
1881 (char *) ssid->ssid, ssid->ssid_len, 4096,
1882 ssid->psk, PMK_LEN);
1884 ssid->psk, PMK_LEN);
1885 ssid->psk_set = 1;
2006 struct wpa_ssid *ssid;
2009 ssid = config->pssid[prio];
2011 ssid->priority);
2012 ssid) {
2013 wpa_printf(MSG_DEBUG, " id=%d ssid='%s'",
2014 ssid->id,
2015 wpa_ssid_txt(ssid->ssid, ssid->ssid_len));
2016 ssid = ssid->pnext;