Home | History | Annotate | Download | only in wpa_supplicant

Lines Matching defs:ssid

36 	int (*parser)(const struct parse_data *data, struct wpa_ssid *ssid,
41 char * (*writer)(const struct parse_data *data, struct wpa_ssid *ssid);
88 struct wpa_ssid *ssid,
135 dst = (char **) (((u8 *) ssid) + (long) data->param1);
136 dst_len = (size_t *) (((u8 *) ssid) + (long) data->param2);
200 struct wpa_ssid *ssid)
205 src = (char **) (((u8 *) ssid) + (long) data->param1);
210 len = *((size_t *) (((u8 *) ssid) + (long) data->param2));
219 struct wpa_ssid *ssid)
224 src = (char **) (((u8 *) ssid) + (long) data->param1);
229 len = *((size_t *) (((u8 *) ssid) + (long) data->param2));
238 struct wpa_ssid *ssid,
243 dst = (int *) (((u8 *) ssid) + (long) data->param1);
268 struct wpa_ssid *ssid)
273 src = (int *) (((u8 *) ssid) + (long) data->param1);
285 struct wpa_ssid *ssid, int line,
288 if (hwaddr_aton(value, ssid->bssid)) {
293 ssid->bssid_set = 1;
294 wpa_hexdump(MSG_MSGDUMP, "BSSID", ssid->bssid, ETH_ALEN);
300 struct wpa_ssid *ssid)
304 if (!ssid->bssid_set)
310 os_snprintf(value, 20, MACSTR, MAC2STR(ssid->bssid));
317 struct wpa_ssid *ssid, int line,
338 if (ssid->passphrase && os_strlen(ssid->passphrase) == len &&
339 os_memcmp(ssid->passphrase, value, len) == 0)
341 ssid->psk_set = 0;
342 os_free(ssid->passphrase);
343 ssid->passphrase = os_malloc(len + 1);
344 if (ssid->passphrase == NULL)
346 os_memcpy(ssid->passphrase, value, len);
347 ssid->passphrase[len] = '\0';
351 if (hexstr2bin(value, ssid->psk, PMK_LEN) ||
358 os_free(ssid->passphrase);
359 ssid->passphrase = NULL;
361 ssid->psk_set = 1;
362 wpa_hexdump_key(MSG_MSGDUMP, "PSK", ssid->psk, PMK_LEN);
368 struct wpa_ssid *ssid)
370 if (ssid->passphrase)
372 (const u8 *) ssid->passphrase,
373 os_strlen(ssid->passphrase));
375 if (ssid->psk_set)
376 return wpa_config_write_string_hex(ssid->psk, PMK_LEN);
383 struct wpa_ssid *ssid, int line,
428 ssid->proto = val;
434 struct wpa_ssid *ssid)
444 if (ssid->proto & WPA_PROTO_WPA) {
452 if (ssid->proto & WPA_PROTO_RSN) {
465 struct wpa_ssid *ssid, int line,
515 ssid->key_mgmt = val;
521 struct wpa_ssid *ssid)
531 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK) {
541 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X) {
551 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA) {
561 if (ssid->key_mgmt & WPA_KEY_MGMT_NONE) {
571 if (ssid->key_mgmt & WPA_KEY_MGMT_WPA_NONE) {
702 struct wpa_ssid *ssid, int line,
716 ssid->pairwise_cipher = val;
722 struct wpa_ssid *ssid)
724 return wpa_config_write_cipher(ssid->pairwise_cipher);
729 struct wpa_ssid *ssid, int line,
744 ssid->group_cipher = val;
750 struct wpa_ssid *ssid)
752 return wpa_config_write_cipher(ssid->group_cipher);
757 struct wpa_ssid *ssid, int line,
803 ssid->auth_alg = val;
809 struct wpa_ssid *ssid)
819 if (ssid->auth_alg & WPA_AUTH_ALG_OPEN) {
829 if (ssid->auth_alg & WPA_AUTH_ALG_SHARED) {
839 if (ssid->auth_alg & WPA_AUTH_ALG_LEAP) {
855 struct wpa_ssid *ssid, int line,
899 ssid->leap++;
901 ssid->non_leap++;
921 ssid->eap_methods = methods;
927 struct wpa_ssid *ssid)
931 const struct eap_method_type *eap_methods = ssid->eap_methods;
988 struct wpa_ssid *ssid, int line,
991 return wpa_config_parse_wep_key(ssid->wep_key[0],
992 &ssid->wep_key_len[0], line,
998 struct wpa_ssid *ssid, int line,
1001 return wpa_config_parse_wep_key(ssid->wep_key[1],
1002 &ssid->wep_key_len[1], line,
1008 struct wpa_ssid *ssid, int line,
1011 return wpa_config_parse_wep_key(ssid->wep_key[2],
1012 &ssid->wep_key_len[2], line,
1018 struct wpa_ssid *ssid, int line,
1021 return wpa_config_parse_wep_key(ssid->wep_key[3],
1022 &ssid->wep_key_len[3], line,
1027 static char * wpa_config_write_wep_key(struct wpa_ssid *ssid, int idx)
1029 if (ssid->wep_key_len[idx] == 0)
1031 return wpa_config_write_string(ssid->wep_key[idx],
1032 ssid->wep_key_len[idx]);
1037 struct wpa_ssid *ssid)
1039 return wpa_config_write_wep_key(ssid, 0);
1044 struct wpa_ssid *ssid)
1046 return wpa_config_write_wep_key(ssid, 1);
1051 struct wpa_ssid *ssid)
1053 return wpa_config_write_wep_key(ssid, 2);
1058 struct wpa_ssid *ssid)
1060 return wpa_config_write_wep_key(ssid, 3);
1141 { STR_RANGE_UNICODE(ssid, 0, MAX_SSID_LEN) },
1143 { STR_RANGE(ssid, 0, MAX_SSID_LEN) },
1239 * @ssid: Pointer to the network configuration to be added to the list
1248 struct wpa_ssid *ssid)
1259 if (prev->priority == ssid->priority) {
1262 prev->pnext = ssid;
1274 if (nlist[prio]->priority < ssid->priority)
1281 nlist[prio] = ssid;
1300 struct wpa_ssid *ssid;
1307 ssid = config->ssid;
1308 while (ssid) {
1309 ssid->pnext = NULL;
1310 if (wpa_config_add_prio_network(config, ssid) < 0)
1312 ssid = ssid->next;
1320 * wpa_config_free_ssid - Free network/ssid configuration data
1321 * @ssid: Configuration data for the network
1326 void wpa_config_free_ssid(struct wpa_ssid *ssid)
1328 os_free(ssid->ssid);
1329 os_free(ssid->passphrase);
1331 os_free(ssid->eap_methods);
1332 os_free(ssid->identity);
1333 os_free(ssid->anonymous_identity);
1334 os_free(ssid->eappsk);
1335 os_free(ssid->nai);
1336 os_free(ssid->password);
1337 os_free(ssid->ca_cert);
1338 os_free(ssid->ca_path);
1339 os_free(ssid->client_cert);
1340 os_free(ssid->private_key);
1341 os_free(ssid->private_key_passwd);
1342 os_free(ssid->dh_file);
1343 os_free(ssid->subject_match);
1344 os_free(ssid->altsubject_match);
1345 os_free(ssid->ca_cert2);
1346 os_free(ssid->ca_path2);
1347 os_free(ssid->client_cert2);
1348 os_free(ssid->private_key2);
1349 os_free(ssid->private_key2_passwd);
1350 os_free(ssid->dh_file2);
1351 os_free(ssid->subject_match2);
1352 os_free(ssid->altsubject_match2);
1353 os_free(ssid->phase1);
1354 os_free(ssid->phase2);
1355 os_free(ssid->pcsc);
1356 os_free(ssid->pin);
1357 os_free(ssid->engine_id);
1358 os_free(ssid->key_id);
1359 os_free(ssid->otp);
1360 os_free(ssid->pending_req_otp);
1361 os_free(ssid->pac_file);
1362 os_free(ssid->new_password);
1364 os_free(ssid->id_str);
1365 os_free(ssid);
1379 struct wpa_ssid *ssid, *prev = NULL;
1380 ssid = config->ssid;
1381 while (ssid) {
1382 prev = ssid;
1383 ssid = ssid->next;
1409 * @ssid: Pointer to configuration data
1414 int wpa_config_allowed_eap_method(struct wpa_ssid *ssid, int vendor,
1420 if (ssid == NULL || ssid->eap_methods == NULL)
1423 m = ssid->eap_methods;
1442 struct wpa_ssid *ssid;
1444 ssid = config->ssid;
1445 while (ssid) {
1446 if (id == ssid->id)
1448 ssid = ssid->next;
1451 return ssid;
1463 struct wpa_ssid *ssid, *last = NULL;
1466 ssid = config->ssid;
1467 while (ssid) {
1468 if (ssid->id > id)
1469 id = ssid->id;
1470 last = ssid;
1471 ssid = ssid->next;
1475 ssid = os_zalloc(sizeof(*ssid));
1476 if (ssid == NULL)
1478 ssid->id = id;
1480 last->next = ssid;
1482 config->ssid = ssid;
1486 return ssid;
1498 struct wpa_ssid *ssid, *prev = NULL;
1500 ssid = config->ssid;
1501 while (ssid) {
1502 if (id == ssid->id)
1504 prev = ssid;
1505 ssid = ssid->next;
1508 if (ssid == NULL)
1512 prev->next = ssid->next;
1514 config->ssid = ssid->next;
1517 wpa_config_free_ssid(ssid);
1524 * @ssid: Pointer to network configuration data
1526 void wpa_config_set_network_defaults(struct wpa_ssid *ssid)
1528 ssid->proto = DEFAULT_PROTO;
1529 ssid->pairwise_cipher = DEFAULT_PAIRWISE;
1530 ssid->group_cipher = DEFAULT_GROUP;
1531 ssid->key_mgmt = DEFAULT_KEY_MGMT;
1533 ssid->eapol_flags = DEFAULT_EAPOL_FLAGS;
1534 ssid->eap_workaround = DEFAULT_EAP_WORKAROUND;
1535 ssid->fragment_size = DEFAULT_FRAGMENT_SIZE;
1542 * @ssid: Pointer to network configuration data
1543 * @var: Variable name, e.g., "ssid"
1553 int wpa_config_set(struct wpa_ssid *ssid, const char *var, const char *value,
1559 if (ssid == NULL || var == NULL || value == NULL)
1567 if (field->parser(field, ssid, line, value)) {
1590 * @ssid: Pointer to network configuration data
1591 * @var: Variable name, e.g., "ssid"
1600 char * wpa_config_get(struct wpa_ssid *ssid, const char *var)
1604 if (ssid == NULL || var == NULL)
1610 return field->writer(field, ssid);
1619 * @ssid: Pointer to network configuration data
1620 * @var: Variable name, e.g., "ssid"
1633 char * wpa_config_get_no_key(struct wpa_ssid *ssid, const char *var)
1637 if (ssid == NULL || var == NULL)
1643 char *res = field->writer(field, ssid);
1665 * wpa_config_update_psk - Update WPA PSK based on passphrase and SSID
1666 * @ssid: Pointer to network configuration data
1668 * This function must be called to update WPA PSK when either SSID or the
1671 void wpa_config_update_psk(struct wpa_ssid *ssid)
1673 pbkdf2_sha1(ssid->passphrase,
1674 (char *) ssid->ssid, ssid->ssid_len, 4096,
1675 ssid->psk, PMK_LEN);
1677 ssid->psk, PMK_LEN);
1678 ssid->psk_set = 1;
1796 struct wpa_ssid *ssid;
1799 ssid = config->pssid[prio];
1801 ssid->priority);
1802 while (ssid) {
1803 wpa_printf(MSG_DEBUG, " id=%d ssid='%s'",
1804 ssid->id,
1805 wpa_ssid_txt(ssid->ssid, ssid->ssid_len));
1806 ssid = ssid->pnext;