Lines Matching refs:ssid
42 int (*parser)(const struct parse_data *data, struct wpa_ssid *ssid,
48 char * (*writer)(const struct parse_data *data, struct wpa_ssid *ssid);
65 struct wpa_ssid *ssid, in wpa_config_parse_str() argument
112 dst = (char **) (((u8 *) ssid) + (long) data->param1); in wpa_config_parse_str()
113 dst_len = (size_t *) (((u8 *) ssid) + (long) data->param2); in wpa_config_parse_str()
181 struct wpa_ssid *ssid) in wpa_config_write_str() argument
186 src = (char **) (((u8 *) ssid) + (long) data->param1); in wpa_config_write_str()
191 len = *((size_t *) (((u8 *) ssid) + (long) data->param2)); in wpa_config_write_str()
201 struct wpa_ssid *ssid, in wpa_config_parse_int_impl() argument
208 dst = (int *) (((u8 *) ssid) + (long) data->param1); in wpa_config_parse_int_impl()
241 struct wpa_ssid *ssid, in wpa_config_parse_int() argument
244 return wpa_config_parse_int_impl(data, ssid, line, value, false); in wpa_config_parse_int()
249 struct wpa_ssid *ssid, in wpa_config_parse_int_range() argument
252 return wpa_config_parse_int_impl(data, ssid, line, value, true); in wpa_config_parse_int_range()
258 struct wpa_ssid *ssid) in wpa_config_write_int() argument
263 src = (int *) (((u8 *) ssid) + (long) data->param1); in wpa_config_write_int()
373 struct wpa_ssid *ssid, int line, in wpa_config_parse_bssid() argument
378 ssid->bssid_set = 0; in wpa_config_parse_bssid()
382 if (hwaddr_aton(value, ssid->bssid)) { in wpa_config_parse_bssid()
387 ssid->bssid_set = 1; in wpa_config_parse_bssid()
388 wpa_hexdump(MSG_MSGDUMP, "BSSID", ssid->bssid, ETH_ALEN); in wpa_config_parse_bssid()
395 struct wpa_ssid *ssid) in wpa_config_write_bssid() argument
400 if (!ssid->bssid_set) in wpa_config_write_bssid()
406 res = os_snprintf(value, 20, MACSTR, MAC2STR(ssid->bssid)); in wpa_config_write_bssid()
418 struct wpa_ssid *ssid, int line, in wpa_config_parse_bssid_hint() argument
423 ssid->bssid_hint_set = 0; in wpa_config_parse_bssid_hint()
427 if (hwaddr_aton(value, ssid->bssid_hint)) { in wpa_config_parse_bssid_hint()
432 ssid->bssid_hint_set = 1; in wpa_config_parse_bssid_hint()
433 wpa_hexdump(MSG_MSGDUMP, "BSSID hint", ssid->bssid_hint, ETH_ALEN); in wpa_config_parse_bssid_hint()
440 struct wpa_ssid *ssid) in wpa_config_write_bssid_hint() argument
445 if (!ssid->bssid_hint_set) in wpa_config_write_bssid_hint()
451 res = os_snprintf(value, 20, MACSTR, MAC2STR(ssid->bssid_hint)); in wpa_config_write_bssid_hint()
462 struct wpa_ssid *ssid, int line, in wpa_config_parse_bssid_ignore() argument
466 &ssid->bssid_ignore, in wpa_config_parse_bssid_ignore()
467 &ssid->num_bssid_ignore, in wpa_config_parse_bssid_ignore()
474 struct wpa_ssid *ssid, int line, in wpa_config_parse_bssid_blacklist() argument
478 &ssid->bssid_ignore, in wpa_config_parse_bssid_blacklist()
479 &ssid->num_bssid_ignore, in wpa_config_parse_bssid_blacklist()
487 struct wpa_ssid *ssid) in wpa_config_write_bssid_ignore() argument
489 return wpa_config_write_addr_list(data, ssid->bssid_ignore, in wpa_config_write_bssid_ignore()
490 ssid->num_bssid_ignore, in wpa_config_write_bssid_ignore()
497 struct wpa_ssid *ssid) in wpa_config_write_bssid_blacklist() argument
499 return wpa_config_write_addr_list(data, ssid->bssid_ignore, in wpa_config_write_bssid_blacklist()
500 ssid->num_bssid_ignore, in wpa_config_write_bssid_blacklist()
508 struct wpa_ssid *ssid, int line, in wpa_config_parse_bssid_accept() argument
512 &ssid->bssid_accept, in wpa_config_parse_bssid_accept()
513 &ssid->num_bssid_accept, in wpa_config_parse_bssid_accept()
520 struct wpa_ssid *ssid, int line, in wpa_config_parse_bssid_whitelist() argument
524 &ssid->bssid_accept, in wpa_config_parse_bssid_whitelist()
525 &ssid->num_bssid_accept, in wpa_config_parse_bssid_whitelist()
533 struct wpa_ssid *ssid) in wpa_config_write_bssid_accept() argument
535 return wpa_config_write_addr_list(data, ssid->bssid_accept, in wpa_config_write_bssid_accept()
536 ssid->num_bssid_accept, in wpa_config_write_bssid_accept()
543 struct wpa_ssid *ssid) in wpa_config_write_bssid_whitelist() argument
545 return wpa_config_write_addr_list(data, ssid->bssid_accept, in wpa_config_write_bssid_whitelist()
546 ssid->num_bssid_accept, in wpa_config_write_bssid_whitelist()
558 struct wpa_ssid *ssid, int line, in wpa_config_parse_psk() argument
563 str_clear_free(ssid->passphrase); in wpa_config_parse_psk()
564 ssid->passphrase = NULL; in wpa_config_parse_psk()
565 ssid->psk_set = 0; in wpa_config_parse_psk()
566 os_free(ssid->ext_psk); in wpa_config_parse_psk()
567 ssid->ext_psk = os_strdup(value + 4); in wpa_config_parse_psk()
568 if (ssid->ext_psk == NULL) in wpa_config_parse_psk()
571 ssid->ext_psk); in wpa_config_parse_psk()
601 if (ssid->passphrase && os_strlen(ssid->passphrase) == len && in wpa_config_parse_psk()
602 os_memcmp(ssid->passphrase, value, len) == 0) { in wpa_config_parse_psk()
606 ssid->psk_set = 0; in wpa_config_parse_psk()
607 str_clear_free(ssid->passphrase); in wpa_config_parse_psk()
608 ssid->passphrase = dup_binstr(value, len); in wpa_config_parse_psk()
609 if (ssid->passphrase == NULL) in wpa_config_parse_psk()
619 if (hexstr2bin(value, ssid->psk, PMK_LEN) || in wpa_config_parse_psk()
626 str_clear_free(ssid->passphrase); in wpa_config_parse_psk()
627 ssid->passphrase = NULL; in wpa_config_parse_psk()
629 ssid->psk_set = 1; in wpa_config_parse_psk()
630 wpa_hexdump_key(MSG_MSGDUMP, "PSK", ssid->psk, PMK_LEN); in wpa_config_parse_psk()
637 struct wpa_ssid *ssid) in wpa_config_write_psk() argument
640 if (ssid->ext_psk) { in wpa_config_write_psk()
641 size_t len = 4 + os_strlen(ssid->ext_psk) + 1; in wpa_config_write_psk()
647 res = os_snprintf(buf, len, "ext:%s", ssid->ext_psk); in wpa_config_write_psk()
656 if (ssid->passphrase) in wpa_config_write_psk()
658 (const u8 *) ssid->passphrase, in wpa_config_write_psk()
659 os_strlen(ssid->passphrase)); in wpa_config_write_psk()
661 if (ssid->psk_set) in wpa_config_write_psk()
662 return wpa_config_write_string_hex(ssid->psk, PMK_LEN); in wpa_config_write_psk()
670 struct wpa_ssid *ssid, int line, in wpa_config_parse_proto() argument
716 if (!errors && ssid->proto == val) in wpa_config_parse_proto()
719 ssid->proto = val; in wpa_config_parse_proto()
726 struct wpa_ssid *ssid) in wpa_config_write_proto() argument
736 if (ssid->proto & WPA_PROTO_WPA) { in wpa_config_write_proto()
744 if (ssid->proto & WPA_PROTO_RSN) { in wpa_config_write_proto()
752 if (ssid->proto & WPA_PROTO_OSEN) { in wpa_config_write_proto()
771 struct wpa_ssid *ssid, int line, in wpa_config_parse_key_mgmt() argument
884 if (!errors && ssid->key_mgmt == val) in wpa_config_parse_key_mgmt()
887 ssid->key_mgmt = val; in wpa_config_parse_key_mgmt()
894 struct wpa_ssid *ssid) in wpa_config_write_key_mgmt() argument
904 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK) { in wpa_config_write_key_mgmt()
914 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X) { in wpa_config_write_key_mgmt()
924 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_NO_WPA) { in wpa_config_write_key_mgmt()
934 if (ssid->key_mgmt & WPA_KEY_MGMT_NONE) { in wpa_config_write_key_mgmt()
944 if (ssid->key_mgmt & WPA_KEY_MGMT_WPA_NONE) { in wpa_config_write_key_mgmt()
955 if (ssid->key_mgmt & WPA_KEY_MGMT_FT_PSK) { in wpa_config_write_key_mgmt()
965 if (ssid->key_mgmt & WPA_KEY_MGMT_FT_IEEE8021X) { in wpa_config_write_key_mgmt()
976 if (ssid->key_mgmt & WPA_KEY_MGMT_FT_IEEE8021X_SHA384) { in wpa_config_write_key_mgmt()
989 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_SHA384) { in wpa_config_write_key_mgmt()
1000 if (ssid->key_mgmt & WPA_KEY_MGMT_PSK_SHA256) { in wpa_config_write_key_mgmt()
1010 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_SHA256) { in wpa_config_write_key_mgmt()
1021 if (ssid->key_mgmt & WPA_KEY_MGMT_WPS) { in wpa_config_write_key_mgmt()
1033 if (ssid->key_mgmt & WPA_KEY_MGMT_SAE) { in wpa_config_write_key_mgmt()
1043 if (ssid->key_mgmt & WPA_KEY_MGMT_SAE_EXT_KEY) { in wpa_config_write_key_mgmt()
1053 if (ssid->key_mgmt & WPA_KEY_MGMT_FT_SAE) { in wpa_config_write_key_mgmt()
1063 if (ssid->key_mgmt & WPA_KEY_MGMT_FT_SAE_EXT_KEY) { in wpa_config_write_key_mgmt()
1075 if (ssid->key_mgmt & WPA_KEY_MGMT_OSEN) { in wpa_config_write_key_mgmt()
1087 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_SUITE_B) { in wpa_config_write_key_mgmt()
1099 if (ssid->key_mgmt & WPA_KEY_MGMT_IEEE8021X_SUITE_B_192) { in wpa_config_write_key_mgmt()
1111 if (ssid->key_mgmt & WPA_KEY_MGMT_FILS_SHA256) { in wpa_config_write_key_mgmt()
1120 if (ssid->key_mgmt & WPA_KEY_MGMT_FILS_SHA384) { in wpa_config_write_key_mgmt()
1130 if (ssid->key_mgmt & WPA_KEY_MGMT_FT_FILS_SHA256) { in wpa_config_write_key_mgmt()
1139 if (ssid->key_mgmt & WPA_KEY_MGMT_FT_FILS_SHA384) { in wpa_config_write_key_mgmt()
1152 if (ssid->key_mgmt & WPA_KEY_MGMT_DPP) { in wpa_config_write_key_mgmt()
1164 if (ssid->key_mgmt & WPA_KEY_MGMT_OWE) { in wpa_config_write_key_mgmt()
1228 struct wpa_ssid *ssid, int line, in wpa_config_parse_pairwise() argument
1241 if (ssid->pairwise_cipher == val) in wpa_config_parse_pairwise()
1244 ssid->pairwise_cipher = val; in wpa_config_parse_pairwise()
1251 struct wpa_ssid *ssid) in wpa_config_write_pairwise() argument
1253 return wpa_config_write_cipher(ssid->pairwise_cipher); in wpa_config_write_pairwise()
1259 struct wpa_ssid *ssid, int line, in wpa_config_parse_group() argument
1279 if (ssid->group_cipher == val) in wpa_config_parse_group()
1282 ssid->group_cipher = val; in wpa_config_parse_group()
1289 struct wpa_ssid *ssid) in wpa_config_write_group() argument
1291 return wpa_config_write_cipher(ssid->group_cipher); in wpa_config_write_group()
1297 struct wpa_ssid *ssid, int line, in wpa_config_parse_group_mgmt() argument
1313 if (ssid->group_mgmt_cipher == val) in wpa_config_parse_group_mgmt()
1316 ssid->group_mgmt_cipher = val; in wpa_config_parse_group_mgmt()
1323 struct wpa_ssid *ssid) in wpa_config_write_group_mgmt() argument
1325 return wpa_config_write_cipher(ssid->group_mgmt_cipher); in wpa_config_write_group_mgmt()
1331 struct wpa_ssid *ssid, int line, in wpa_config_parse_auth_alg() argument
1376 if (!errors && ssid->auth_alg == val) in wpa_config_parse_auth_alg()
1379 ssid->auth_alg = val; in wpa_config_parse_auth_alg()
1386 struct wpa_ssid *ssid) in wpa_config_write_auth_alg() argument
1396 if (ssid->auth_alg & WPA_AUTH_ALG_OPEN) { in wpa_config_write_auth_alg()
1406 if (ssid->auth_alg & WPA_AUTH_ALG_SHARED) { in wpa_config_write_auth_alg()
1416 if (ssid->auth_alg & WPA_AUTH_ALG_LEAP) { in wpa_config_write_auth_alg()
1478 struct wpa_ssid *ssid, int line, in wpa_config_parse_scan_freq() argument
1490 os_free(ssid->scan_freq); in wpa_config_parse_scan_freq()
1491 ssid->scan_freq = freqs; in wpa_config_parse_scan_freq()
1498 struct wpa_ssid *ssid, int line, in wpa_config_parse_freq_list() argument
1510 os_free(ssid->freq_list); in wpa_config_parse_freq_list()
1511 ssid->freq_list = freqs; in wpa_config_parse_freq_list()
1552 struct wpa_ssid *ssid) in wpa_config_write_scan_freq() argument
1554 return wpa_config_write_freqs(data, ssid->scan_freq); in wpa_config_write_scan_freq()
1559 struct wpa_ssid *ssid) in wpa_config_write_freq_list() argument
1561 return wpa_config_write_freqs(data, ssid->freq_list); in wpa_config_write_freq_list()
1568 struct wpa_ssid *ssid, int line, in wpa_config_parse_eap() argument
1612 ssid->leap++; in wpa_config_parse_eap()
1614 ssid->non_leap++; in wpa_config_parse_eap()
1632 if (!errors && ssid->eap.eap_methods) { in wpa_config_parse_eap()
1636 prev_m = ssid->eap.eap_methods; in wpa_config_parse_eap()
1660 os_free(ssid->eap.eap_methods); in wpa_config_parse_eap()
1661 ssid->eap.eap_methods = methods; in wpa_config_parse_eap()
1668 struct wpa_ssid *ssid) in wpa_config_write_eap() argument
1672 const struct eap_method_type *eap_methods = ssid->eap.eap_methods; in wpa_config_write_eap()
1704 struct wpa_ssid *ssid, int line, in wpa_config_parse_password() argument
1710 if (!ssid->eap.password) in wpa_config_parse_password()
1713 bin_clear_free(ssid->eap.password, ssid->eap.password_len); in wpa_config_parse_password()
1714 ssid->eap.password = NULL; in wpa_config_parse_password()
1715 ssid->eap.password_len = 0; in wpa_config_parse_password()
1724 bin_clear_free(ssid->eap.password, ssid->eap.password_len); in wpa_config_parse_password()
1725 ssid->eap.password = (u8 *) name; in wpa_config_parse_password()
1726 ssid->eap.password_len = os_strlen(name); in wpa_config_parse_password()
1727 ssid->eap.flags &= ~EAP_CONFIG_FLAGS_PASSWORD_NTHASH; in wpa_config_parse_password()
1728 ssid->eap.flags |= EAP_CONFIG_FLAGS_EXT_PASSWORD; in wpa_config_parse_password()
1746 bin_clear_free(ssid->eap.password, ssid->eap.password_len); in wpa_config_parse_password()
1747 ssid->eap.password = (u8 *) tmp; in wpa_config_parse_password()
1748 ssid->eap.password_len = res_len; in wpa_config_parse_password()
1749 ssid->eap.flags &= ~EAP_CONFIG_FLAGS_PASSWORD_NTHASH; in wpa_config_parse_password()
1750 ssid->eap.flags &= ~EAP_CONFIG_FLAGS_EXT_PASSWORD; in wpa_config_parse_password()
1776 if (ssid->eap.password && ssid->eap.password_len == 16 && in wpa_config_parse_password()
1777 os_memcmp(ssid->eap.password, hash, 16) == 0 && in wpa_config_parse_password()
1778 (ssid->eap.flags & EAP_CONFIG_FLAGS_PASSWORD_NTHASH)) { in wpa_config_parse_password()
1782 bin_clear_free(ssid->eap.password, ssid->eap.password_len); in wpa_config_parse_password()
1783 ssid->eap.password = hash; in wpa_config_parse_password()
1784 ssid->eap.password_len = 16; in wpa_config_parse_password()
1785 ssid->eap.flags |= EAP_CONFIG_FLAGS_PASSWORD_NTHASH; in wpa_config_parse_password()
1786 ssid->eap.flags &= ~EAP_CONFIG_FLAGS_EXT_PASSWORD; in wpa_config_parse_password()
1793 struct wpa_ssid *ssid, int line, in wpa_config_parse_machine_password() argument
1799 if (!ssid->eap.machine_password) in wpa_config_parse_machine_password()
1803 bin_clear_free(ssid->eap.machine_password, in wpa_config_parse_machine_password()
1804 ssid->eap.machine_password_len); in wpa_config_parse_machine_password()
1805 ssid->eap.machine_password = NULL; in wpa_config_parse_machine_password()
1806 ssid->eap.machine_password_len = 0; in wpa_config_parse_machine_password()
1816 bin_clear_free(ssid->eap.machine_password, in wpa_config_parse_machine_password()
1817 ssid->eap.machine_password_len); in wpa_config_parse_machine_password()
1818 ssid->eap.machine_password = (u8 *) name; in wpa_config_parse_machine_password()
1819 ssid->eap.machine_password_len = os_strlen(name); in wpa_config_parse_machine_password()
1820 ssid->eap.flags &= ~EAP_CONFIG_FLAGS_MACHINE_PASSWORD_NTHASH; in wpa_config_parse_machine_password()
1821 ssid->eap.flags |= EAP_CONFIG_FLAGS_EXT_MACHINE_PASSWORD; in wpa_config_parse_machine_password()
1840 bin_clear_free(ssid->eap.machine_password, in wpa_config_parse_machine_password()
1841 ssid->eap.machine_password_len); in wpa_config_parse_machine_password()
1842 ssid->eap.machine_password = (u8 *) tmp; in wpa_config_parse_machine_password()
1843 ssid->eap.machine_password_len = res_len; in wpa_config_parse_machine_password()
1844 ssid->eap.flags &= ~EAP_CONFIG_FLAGS_MACHINE_PASSWORD_NTHASH; in wpa_config_parse_machine_password()
1845 ssid->eap.flags &= ~EAP_CONFIG_FLAGS_EXT_MACHINE_PASSWORD; in wpa_config_parse_machine_password()
1872 if (ssid->eap.machine_password && in wpa_config_parse_machine_password()
1873 ssid->eap.machine_password_len == 16 && in wpa_config_parse_machine_password()
1874 os_memcmp(ssid->eap.machine_password, hash, 16) == 0 && in wpa_config_parse_machine_password()
1875 (ssid->eap.flags & EAP_CONFIG_FLAGS_MACHINE_PASSWORD_NTHASH)) { in wpa_config_parse_machine_password()
1879 bin_clear_free(ssid->eap.machine_password, in wpa_config_parse_machine_password()
1880 ssid->eap.machine_password_len); in wpa_config_parse_machine_password()
1881 ssid->eap.machine_password = hash; in wpa_config_parse_machine_password()
1882 ssid->eap.machine_password_len = 16; in wpa_config_parse_machine_password()
1883 ssid->eap.flags |= EAP_CONFIG_FLAGS_MACHINE_PASSWORD_NTHASH; in wpa_config_parse_machine_password()
1884 ssid->eap.flags &= ~EAP_CONFIG_FLAGS_EXT_MACHINE_PASSWORD; in wpa_config_parse_machine_password()
1893 struct wpa_ssid *ssid) in wpa_config_write_password() argument
1897 if (!ssid->eap.password) in wpa_config_write_password()
1901 if (ssid->eap.flags & EAP_CONFIG_FLAGS_EXT_PASSWORD) { in wpa_config_write_password()
1902 buf = os_zalloc(4 + ssid->eap.password_len + 1); in wpa_config_write_password()
1906 os_memcpy(buf + 4, ssid->eap.password, ssid->eap.password_len); in wpa_config_write_password()
1911 if (!(ssid->eap.flags & EAP_CONFIG_FLAGS_PASSWORD_NTHASH)) { in wpa_config_write_password()
1913 ssid->eap.password, ssid->eap.password_len); in wpa_config_write_password()
1921 wpa_snprintf_hex(buf + 5, 32 + 1, ssid->eap.password, 16); in wpa_config_write_password()
1928 struct wpa_ssid *ssid) in wpa_config_write_machine_password() argument
1932 if (!ssid->eap.machine_password) in wpa_config_write_machine_password()
1936 if (ssid->eap.flags & EAP_CONFIG_FLAGS_EXT_MACHINE_PASSWORD) { in wpa_config_write_machine_password()
1937 buf = os_zalloc(4 + ssid->eap.machine_password_len + 1); in wpa_config_write_machine_password()
1941 os_memcpy(buf + 4, ssid->eap.machine_password, in wpa_config_write_machine_password()
1942 ssid->eap.machine_password_len); in wpa_config_write_machine_password()
1947 if (!(ssid->eap.flags & EAP_CONFIG_FLAGS_MACHINE_PASSWORD_NTHASH)) { in wpa_config_write_machine_password()
1949 ssid->eap.machine_password, in wpa_config_write_machine_password()
1950 ssid->eap.machine_password_len); in wpa_config_write_machine_password()
1958 wpa_snprintf_hex(buf + 5, 32 + 1, ssid->eap.machine_password, 16); in wpa_config_write_machine_password()
2002 struct wpa_ssid *ssid, int line, in wpa_config_parse_wep_key0() argument
2005 return wpa_config_parse_wep_key(ssid->wep_key[0], in wpa_config_parse_wep_key0()
2006 &ssid->wep_key_len[0], line, in wpa_config_parse_wep_key0()
2012 struct wpa_ssid *ssid, int line, in wpa_config_parse_wep_key1() argument
2015 return wpa_config_parse_wep_key(ssid->wep_key[1], in wpa_config_parse_wep_key1()
2016 &ssid->wep_key_len[1], line, in wpa_config_parse_wep_key1()
2022 struct wpa_ssid *ssid, int line, in wpa_config_parse_wep_key2() argument
2025 return wpa_config_parse_wep_key(ssid->wep_key[2], in wpa_config_parse_wep_key2()
2026 &ssid->wep_key_len[2], line, in wpa_config_parse_wep_key2()
2032 struct wpa_ssid *ssid, int line, in wpa_config_parse_wep_key3() argument
2035 return wpa_config_parse_wep_key(ssid->wep_key[3], in wpa_config_parse_wep_key3()
2036 &ssid->wep_key_len[3], line, in wpa_config_parse_wep_key3()
2042 static char * wpa_config_write_wep_key(struct wpa_ssid *ssid, int idx) in wpa_config_write_wep_key() argument
2044 if (ssid->wep_key_len[idx] == 0) in wpa_config_write_wep_key()
2046 return wpa_config_write_string(ssid->wep_key[idx], in wpa_config_write_wep_key()
2047 ssid->wep_key_len[idx]); in wpa_config_write_wep_key()
2052 struct wpa_ssid *ssid) in wpa_config_write_wep_key0() argument
2054 return wpa_config_write_wep_key(ssid, 0); in wpa_config_write_wep_key0()
2059 struct wpa_ssid *ssid) in wpa_config_write_wep_key1() argument
2061 return wpa_config_write_wep_key(ssid, 1); in wpa_config_write_wep_key1()
2066 struct wpa_ssid *ssid) in wpa_config_write_wep_key2() argument
2068 return wpa_config_write_wep_key(ssid, 2); in wpa_config_write_wep_key2()
2073 struct wpa_ssid *ssid) in wpa_config_write_wep_key3() argument
2075 return wpa_config_write_wep_key(ssid, 3); in wpa_config_write_wep_key3()
2085 struct wpa_ssid *ssid, int line, in wpa_config_parse_go_p2p_dev_addr() argument
2090 os_memset(ssid->go_p2p_dev_addr, 0, ETH_ALEN); in wpa_config_parse_go_p2p_dev_addr()
2094 if (hwaddr_aton(value, ssid->go_p2p_dev_addr)) { in wpa_config_parse_go_p2p_dev_addr()
2099 ssid->bssid_set = 1; in wpa_config_parse_go_p2p_dev_addr()
2101 MAC2STR(ssid->go_p2p_dev_addr)); in wpa_config_parse_go_p2p_dev_addr()
2108 struct wpa_ssid *ssid) in wpa_config_write_go_p2p_dev_addr() argument
2113 if (is_zero_ether_addr(ssid->go_p2p_dev_addr)) in wpa_config_write_go_p2p_dev_addr()
2119 res = os_snprintf(value, 20, MACSTR, MAC2STR(ssid->go_p2p_dev_addr)); in wpa_config_write_go_p2p_dev_addr()
2131 struct wpa_ssid *ssid, int line, in wpa_config_parse_p2p_client_list() argument
2135 &ssid->p2p_client_list, in wpa_config_parse_p2p_client_list()
2136 &ssid->num_p2p_clients, in wpa_config_parse_p2p_client_list()
2143 struct wpa_ssid *ssid) in wpa_config_write_p2p_client_list() argument
2145 return wpa_config_write_addr_list(data, ssid->p2p_client_list, in wpa_config_write_p2p_client_list()
2146 ssid->num_p2p_clients, in wpa_config_write_p2p_client_list()
2153 struct wpa_ssid *ssid, int line, in wpa_config_parse_psk_list() argument
2191 dl_list_add(&ssid->psk_list, &p->list); in wpa_config_parse_psk_list()
2199 struct wpa_ssid *ssid) in wpa_config_write_psk_list() argument
2211 struct wpa_ssid *ssid, int line, in wpa_config_parse_mesh_basic_rates() argument
2226 os_free(ssid->mesh_basic_rates); in wpa_config_parse_mesh_basic_rates()
2227 ssid->mesh_basic_rates = rates; in wpa_config_parse_mesh_basic_rates()
2236 struct wpa_ssid *ssid) in wpa_config_write_mesh_basic_rates() argument
2238 return wpa_config_write_freqs(data, ssid->mesh_basic_rates); in wpa_config_write_mesh_basic_rates()
2249 struct wpa_ssid *ssid, int line, in wpa_config_parse_mka_cak() argument
2257 hexstr2bin(value, ssid->mka_cak, len / 2)) { in wpa_config_parse_mka_cak()
2262 ssid->mka_cak_len = len / 2; in wpa_config_parse_mka_cak()
2263 ssid->mka_psk_set |= MKA_PSK_SET_CAK; in wpa_config_parse_mka_cak()
2265 wpa_hexdump_key(MSG_MSGDUMP, "MKA-CAK", ssid->mka_cak, in wpa_config_parse_mka_cak()
2266 ssid->mka_cak_len); in wpa_config_parse_mka_cak()
2272 struct wpa_ssid *ssid, int line, in wpa_config_parse_mka_ckn() argument
2285 ssid->mka_ckn_len = len / 2; in wpa_config_parse_mka_ckn()
2286 if (hexstr2bin(value, ssid->mka_ckn, ssid->mka_ckn_len)) { in wpa_config_parse_mka_ckn()
2292 ssid->mka_psk_set |= MKA_PSK_SET_CKN; in wpa_config_parse_mka_ckn()
2294 wpa_hexdump_key(MSG_MSGDUMP, "MKA-CKN", ssid->mka_ckn, in wpa_config_parse_mka_ckn()
2295 ssid->mka_ckn_len); in wpa_config_parse_mka_ckn()
2303 struct wpa_ssid *ssid) in wpa_config_write_mka_cak() argument
2305 if (!(ssid->mka_psk_set & MKA_PSK_SET_CAK)) in wpa_config_write_mka_cak()
2308 return wpa_config_write_string_hex(ssid->mka_cak, ssid->mka_cak_len); in wpa_config_write_mka_cak()
2313 struct wpa_ssid *ssid) in wpa_config_write_mka_ckn() argument
2315 if (!(ssid->mka_psk_set & MKA_PSK_SET_CKN)) in wpa_config_write_mka_ckn()
2317 return wpa_config_write_string_hex(ssid->mka_ckn, ssid->mka_ckn_len); in wpa_config_write_mka_ckn()
2328 struct wpa_ssid *ssid, int line, in wpa_config_parse_ocv() argument
2333 ssid->ocv = strtol(value, &end, 0); in wpa_config_parse_ocv()
2334 if (*end || ssid->ocv < 0 || ssid->ocv > 1) { in wpa_config_parse_ocv()
2339 if (ssid->ocv && ssid->ieee80211w == NO_MGMT_FRAME_PROTECTION) in wpa_config_parse_ocv()
2340 ssid->ieee80211w = MGMT_FRAME_PROTECTION_OPTIONAL; in wpa_config_parse_ocv()
2347 struct wpa_ssid *ssid) in wpa_config_write_ocv() argument
2353 os_snprintf(value, 20, "%d", ssid->ocv); in wpa_config_write_ocv()
2363 struct wpa_ssid *ssid, int line, in wpa_config_parse_peerkey() argument
2373 struct wpa_ssid *ssid) in wpa_config_write_peerkey() argument
2381 struct wpa_ssid *ssid, int line, in wpa_config_parse_mac_value() argument
2387 if (ether_addr_equal(mac_value, ssid->mac_value)) in wpa_config_parse_mac_value()
2389 os_memcpy(ssid->mac_value, mac_value, ETH_ALEN); in wpa_config_parse_mac_value()
2401 struct wpa_ssid *ssid) in wpa_config_write_mac_value() argument
2407 if (ssid->mac_addr != WPAS_MAC_ADDR_STYLE_DEDICATED_PER_ESS) in wpa_config_write_mac_value()
2413 res = os_snprintf(value, size, MACSTR, MAC2STR(ssid->mac_value)); in wpa_config_write_mac_value()
2520 { STR_RANGE(ssid, 0, SSID_MAX_LEN) },
2792 struct wpa_ssid *ssid) in wpa_config_add_prio_network() argument
2803 if (prev->priority == ssid->priority) { in wpa_config_add_prio_network()
2806 prev->pnext = ssid; in wpa_config_add_prio_network()
2818 if (nlist[prio]->priority < ssid->priority) { in wpa_config_add_prio_network()
2826 nlist[prio] = ssid; in wpa_config_add_prio_network()
2845 struct wpa_ssid *ssid; in wpa_config_update_prio_list() local
2852 ssid = config->ssid; in wpa_config_update_prio_list()
2853 while (ssid) { in wpa_config_update_prio_list()
2854 ssid->pnext = NULL; in wpa_config_update_prio_list()
2855 if (wpa_config_add_prio_network(config, ssid) < 0) in wpa_config_update_prio_list()
2857 ssid = ssid->next; in wpa_config_update_prio_list()
2922 void wpa_config_free_ssid(struct wpa_ssid *ssid) in wpa_config_free_ssid() argument
2926 os_free(ssid->ssid); in wpa_config_free_ssid()
2927 str_clear_free(ssid->passphrase); in wpa_config_free_ssid()
2928 os_free(ssid->ext_psk); in wpa_config_free_ssid()
2929 str_clear_free(ssid->sae_password); in wpa_config_free_ssid()
2930 os_free(ssid->sae_password_id); in wpa_config_free_ssid()
2932 eap_peer_config_free(&ssid->eap); in wpa_config_free_ssid()
2934 os_free(ssid->id_str); in wpa_config_free_ssid()
2935 os_free(ssid->scan_freq); in wpa_config_free_ssid()
2936 os_free(ssid->freq_list); in wpa_config_free_ssid()
2937 os_free(ssid->bgscan); in wpa_config_free_ssid()
2938 os_free(ssid->p2p_client_list); in wpa_config_free_ssid()
2939 os_free(ssid->bssid_ignore); in wpa_config_free_ssid()
2940 os_free(ssid->bssid_accept); in wpa_config_free_ssid()
2942 os_free(ssid->ht_mcs); in wpa_config_free_ssid()
2945 os_free(ssid->mesh_basic_rates); in wpa_config_free_ssid()
2948 os_free(ssid->roaming_consortium_selection); in wpa_config_free_ssid()
2950 os_free(ssid->dpp_connector); in wpa_config_free_ssid()
2951 bin_clear_free(ssid->dpp_netaccesskey, ssid->dpp_netaccesskey_len); in wpa_config_free_ssid()
2952 os_free(ssid->dpp_csign); in wpa_config_free_ssid()
2953 os_free(ssid->dpp_pp_key); in wpa_config_free_ssid()
2954 while ((psk = dl_list_first(&ssid->psk_list, struct psk_list_entry, in wpa_config_free_ssid()
2960 sae_deinit_pt(ssid->pt); in wpa_config_free_ssid()
2962 bin_clear_free(ssid, sizeof(*ssid)); in wpa_config_free_ssid()
3028 struct wpa_ssid *ssid, *prev = NULL; in wpa_config_free() local
3032 ssid = config->ssid; in wpa_config_free()
3033 while (ssid) { in wpa_config_free()
3034 prev = ssid; in wpa_config_free()
3035 ssid = ssid->next; in wpa_config_free()
3117 struct wpa_ssid *ssid, *next; in wpa_config_foreach_network() local
3119 ssid = config->ssid; in wpa_config_foreach_network()
3120 while (ssid) { in wpa_config_foreach_network()
3121 next = ssid->next; in wpa_config_foreach_network()
3122 func(arg, ssid); in wpa_config_foreach_network()
3123 ssid = next; in wpa_config_foreach_network()
3136 struct wpa_ssid *ssid; in wpa_config_get_network() local
3138 ssid = config->ssid; in wpa_config_get_network()
3139 while (ssid) { in wpa_config_get_network()
3140 if (id == ssid->id) in wpa_config_get_network()
3142 ssid = ssid->next; in wpa_config_get_network()
3145 return ssid; in wpa_config_get_network()
3157 struct wpa_ssid *ssid, *last = NULL; in wpa_config_add_network() local
3160 ssid = config->ssid; in wpa_config_add_network()
3161 while (ssid) { in wpa_config_add_network()
3162 if (ssid->id > id) in wpa_config_add_network()
3163 id = ssid->id; in wpa_config_add_network()
3164 last = ssid; in wpa_config_add_network()
3165 ssid = ssid->next; in wpa_config_add_network()
3169 ssid = os_zalloc(sizeof(*ssid)); in wpa_config_add_network()
3170 if (ssid == NULL) in wpa_config_add_network()
3172 ssid->id = id; in wpa_config_add_network()
3173 dl_list_init(&ssid->psk_list); in wpa_config_add_network()
3175 last->next = ssid; in wpa_config_add_network()
3177 config->ssid = ssid; in wpa_config_add_network()
3181 return ssid; in wpa_config_add_network()
3193 struct wpa_ssid *ssid, *prev = NULL; in wpa_config_remove_network() local
3195 ssid = config->ssid; in wpa_config_remove_network()
3196 while (ssid) { in wpa_config_remove_network()
3197 if (id == ssid->id) in wpa_config_remove_network()
3199 prev = ssid; in wpa_config_remove_network()
3200 ssid = ssid->next; in wpa_config_remove_network()
3203 if (ssid == NULL) in wpa_config_remove_network()
3207 prev->next = ssid->next; in wpa_config_remove_network()
3209 config->ssid = ssid->next; in wpa_config_remove_network()
3212 wpa_config_free_ssid(ssid); in wpa_config_remove_network()
3221 void wpa_config_set_network_defaults(struct wpa_ssid *ssid) in wpa_config_set_network_defaults() argument
3223 ssid->proto = DEFAULT_PROTO; in wpa_config_set_network_defaults()
3224 ssid->pairwise_cipher = DEFAULT_PAIRWISE; in wpa_config_set_network_defaults()
3225 ssid->group_cipher = DEFAULT_GROUP; in wpa_config_set_network_defaults()
3226 ssid->key_mgmt = DEFAULT_KEY_MGMT; in wpa_config_set_network_defaults()
3227 ssid->wpa_deny_ptk0_rekey = PTK0_REKEY_ALLOW_ALWAYS; in wpa_config_set_network_defaults()
3228 ssid->bg_scan_period = DEFAULT_BG_SCAN_PERIOD; in wpa_config_set_network_defaults()
3229 ssid->ht = 1; in wpa_config_set_network_defaults()
3230 ssid->vht = 1; in wpa_config_set_network_defaults()
3231 ssid->he = 1; in wpa_config_set_network_defaults()
3233 ssid->eapol_flags = DEFAULT_EAPOL_FLAGS; in wpa_config_set_network_defaults()
3234 ssid->eap_workaround = DEFAULT_EAP_WORKAROUND; in wpa_config_set_network_defaults()
3235 ssid->eap.fragment_size = DEFAULT_FRAGMENT_SIZE; in wpa_config_set_network_defaults()
3236 ssid->eap.sim_num = DEFAULT_USER_SELECTED_SIM; in wpa_config_set_network_defaults()
3239 ssid->dot11MeshMaxRetries = DEFAULT_MESH_MAX_RETRIES; in wpa_config_set_network_defaults()
3240 ssid->dot11MeshRetryTimeout = DEFAULT_MESH_RETRY_TIMEOUT; in wpa_config_set_network_defaults()
3241 ssid->dot11MeshConfirmTimeout = DEFAULT_MESH_CONFIRM_TIMEOUT; in wpa_config_set_network_defaults()
3242 ssid->dot11MeshHoldingTimeout = DEFAULT_MESH_HOLDING_TIMEOUT; in wpa_config_set_network_defaults()
3243 ssid->mesh_fwding = DEFAULT_MESH_FWDING; in wpa_config_set_network_defaults()
3244 ssid->mesh_rssi_threshold = DEFAULT_MESH_RSSI_THRESHOLD; in wpa_config_set_network_defaults()
3247 ssid->disable_ht = DEFAULT_DISABLE_HT; in wpa_config_set_network_defaults()
3248 ssid->disable_ht40 = DEFAULT_DISABLE_HT40; in wpa_config_set_network_defaults()
3249 ssid->disable_sgi = DEFAULT_DISABLE_SGI; in wpa_config_set_network_defaults()
3250 ssid->disable_ldpc = DEFAULT_DISABLE_LDPC; in wpa_config_set_network_defaults()
3251 ssid->tx_stbc = DEFAULT_TX_STBC; in wpa_config_set_network_defaults()
3252 ssid->rx_stbc = DEFAULT_RX_STBC; in wpa_config_set_network_defaults()
3253 ssid->disable_max_amsdu = DEFAULT_DISABLE_MAX_AMSDU; in wpa_config_set_network_defaults()
3254 ssid->ampdu_factor = DEFAULT_AMPDU_FACTOR; in wpa_config_set_network_defaults()
3255 ssid->ampdu_density = DEFAULT_AMPDU_DENSITY; in wpa_config_set_network_defaults()
3258 ssid->vht_rx_mcs_nss_1 = -1; in wpa_config_set_network_defaults()
3259 ssid->vht_rx_mcs_nss_2 = -1; in wpa_config_set_network_defaults()
3260 ssid->vht_rx_mcs_nss_3 = -1; in wpa_config_set_network_defaults()
3261 ssid->vht_rx_mcs_nss_4 = -1; in wpa_config_set_network_defaults()
3262 ssid->vht_rx_mcs_nss_5 = -1; in wpa_config_set_network_defaults()
3263 ssid->vht_rx_mcs_nss_6 = -1; in wpa_config_set_network_defaults()
3264 ssid->vht_rx_mcs_nss_7 = -1; in wpa_config_set_network_defaults()
3265 ssid->vht_rx_mcs_nss_8 = -1; in wpa_config_set_network_defaults()
3266 ssid->vht_tx_mcs_nss_1 = -1; in wpa_config_set_network_defaults()
3267 ssid->vht_tx_mcs_nss_2 = -1; in wpa_config_set_network_defaults()
3268 ssid->vht_tx_mcs_nss_3 = -1; in wpa_config_set_network_defaults()
3269 ssid->vht_tx_mcs_nss_4 = -1; in wpa_config_set_network_defaults()
3270 ssid->vht_tx_mcs_nss_5 = -1; in wpa_config_set_network_defaults()
3271 ssid->vht_tx_mcs_nss_6 = -1; in wpa_config_set_network_defaults()
3272 ssid->vht_tx_mcs_nss_7 = -1; in wpa_config_set_network_defaults()
3273 ssid->vht_tx_mcs_nss_8 = -1; in wpa_config_set_network_defaults()
3275 ssid->proactive_key_caching = -1; in wpa_config_set_network_defaults()
3276 ssid->ieee80211w = MGMT_FRAME_PROTECTION_DEFAULT; in wpa_config_set_network_defaults()
3277 ssid->sae_pwe = DEFAULT_SAE_PWE; in wpa_config_set_network_defaults()
3279 ssid->mka_priority = DEFAULT_PRIO_NOT_KEY_SERVER; in wpa_config_set_network_defaults()
3281 ssid->mac_addr = WPAS_MAC_ADDR_STYLE_NOT_SET; in wpa_config_set_network_defaults()
3282 ssid->max_oper_chwidth = DEFAULT_MAX_OPER_CHWIDTH; in wpa_config_set_network_defaults()
3320 int wpa_config_set(struct wpa_ssid *ssid, const char *var, const char *value, in wpa_config_set() argument
3326 if (ssid == NULL || var == NULL || value == NULL) in wpa_config_set()
3334 ret = field->parser(field, ssid, line, value); in wpa_config_set()
3347 sae_deinit_pt(ssid->pt); in wpa_config_set()
3348 ssid->pt = NULL; in wpa_config_set()
3366 ssid->was_recently_reconfigured = true; in wpa_config_set()
3372 int wpa_config_set_quoted(struct wpa_ssid *ssid, const char *var, in wpa_config_set_quoted() argument
3387 ret = wpa_config_set(ssid, var, buf, 0); in wpa_config_set_quoted()
3405 char ** wpa_config_get_all(struct wpa_ssid *ssid, int get_keys) in wpa_config_get_all() argument
3416 get_keys = get_keys && ssid->export_keys; in wpa_config_get_all()
3427 value = field->writer(field, ssid); in wpa_config_get_all()
3471 char * wpa_config_get(struct wpa_ssid *ssid, const char *var) in wpa_config_get() argument
3475 if (ssid == NULL || var == NULL) in wpa_config_get()
3481 char *ret = field->writer(field, ssid); in wpa_config_get()
3515 char * wpa_config_get_no_key(struct wpa_ssid *ssid, const char *var) in wpa_config_get_no_key() argument
3519 if (ssid == NULL || var == NULL) in wpa_config_get_no_key()
3525 char *res = field->writer(field, ssid); in wpa_config_get_no_key()
3554 void wpa_config_update_psk(struct wpa_ssid *ssid) in wpa_config_update_psk() argument
3557 if (pbkdf2_sha1(ssid->passphrase, ssid->ssid, ssid->ssid_len, 4096, in wpa_config_update_psk()
3558 ssid->psk, PMK_LEN) != 0) { in wpa_config_update_psk()
3563 ssid->psk, PMK_LEN); in wpa_config_update_psk()
3564 ssid->psk_set = 1; in wpa_config_update_psk()
4014 os_memcpy(e->ssid, val, len); in wpa_config_set_cred()
4418 wpa_ssid_txt(e->ssid, e->ssid_len)); in wpa_config_get_cred_no_key()
4717 struct wpa_ssid *ssid; in wpa_config_debug_dump_networks() local
4720 ssid = config->pssid[prio]; in wpa_config_debug_dump_networks()
4722 ssid->priority); in wpa_config_debug_dump_networks()
4723 while (ssid) { in wpa_config_debug_dump_networks()
4725 ssid->id, in wpa_config_debug_dump_networks()
4726 wpa_ssid_txt(ssid->ssid, ssid->ssid_len)); in wpa_config_debug_dump_networks()
4727 ssid = ssid->pnext; in wpa_config_debug_dump_networks()