Lines Matching +full:static +full:- +full:config

3  * Copyright (c) 2003-2019, Jouni Malinen <j@w1.fi>
26 key_mgmt=WPA-PSK
34 #include "config.h"
50 static int wpa_config_read_blobs(struct wpa_config *config, HKEY hk) in wpa_config_read_blobs() argument
60 wpa_printf(MSG_DEBUG, "Could not open wpa_supplicant config " in wpa_config_read_blobs()
86 namelen = TNAMELEN - 1; in wpa_config_read_blobs()
91 datalen = sizeof(data) - 1; in wpa_config_read_blobs()
101 blob->name = os_strdup((char *) name); in wpa_config_read_blobs()
102 blob->data = os_memdup(data, datalen); in wpa_config_read_blobs()
103 if (blob->name == NULL || blob->data == NULL) { in wpa_config_read_blobs()
108 blob->len = datalen; in wpa_config_read_blobs()
110 wpa_config_set_blob(config, blob); in wpa_config_read_blobs()
115 return errors ? -1 : 0; in wpa_config_read_blobs()
119 static int wpa_config_read_reg_dword(HKEY hk, const TCHAR *name, int *_val) in wpa_config_read_reg_dword()
132 return -1; in wpa_config_read_reg_dword()
136 static char * wpa_config_read_reg_string(HKEY hk, const TCHAR *name) in wpa_config_read_reg_string()
163 static int wpa_config_read_global_uuid(struct wpa_config *config, HKEY hk) in wpa_config_read_global_uuid() argument
172 if (uuid_str2bin(str, config->uuid)) in wpa_config_read_global_uuid()
173 ret = -1; in wpa_config_read_global_uuid()
181 static int wpa_config_read_global_os_version(struct wpa_config *config, in wpa_config_read_global_os_version() argument
191 if (hexstr2bin(str, config->os_version, 4)) in wpa_config_read_global_os_version()
192 ret = -1; in wpa_config_read_global_os_version()
201 static int wpa_config_read_global(struct wpa_config *config, HKEY hk) in wpa_config_read_global() argument
206 wpa_config_read_reg_dword(hk, TEXT("ap_scan"), &config->ap_scan); in wpa_config_read_global()
208 &config->fast_reauth); in wpa_config_read_global()
210 (int *) &config->dot11RSNAConfigPMKLifetime); in wpa_config_read_global()
214 &config->dot11RSNAConfigPMKReauthThreshold); in wpa_config_read_global()
216 (int *) &config->dot11RSNAConfigSATimeout); in wpa_config_read_global()
218 &config->update_config); in wpa_config_read_global()
221 &config->eapol_version) == 0) { in wpa_config_read_global()
222 if (config->eapol_version < 1 || in wpa_config_read_global()
223 config->eapol_version > 2) { in wpa_config_read_global()
225 config->eapol_version); in wpa_config_read_global()
230 config->ctrl_interface = wpa_config_read_reg_string( in wpa_config_read_global()
234 if (wpa_config_read_global_uuid(config, hk)) in wpa_config_read_global()
236 wpa_config_read_reg_dword(hk, TEXT("auto_uuid"), &config->auto_uuid); in wpa_config_read_global()
237 config->device_name = wpa_config_read_reg_string( in wpa_config_read_global()
239 config->manufacturer = wpa_config_read_reg_string( in wpa_config_read_global()
241 config->model_name = wpa_config_read_reg_string( in wpa_config_read_global()
243 config->serial_number = wpa_config_read_reg_string( in wpa_config_read_global()
248 if (t && wps_dev_type_str2bin(t, config->device_type)) in wpa_config_read_global()
252 config->config_methods = wpa_config_read_reg_string( in wpa_config_read_global()
254 if (wpa_config_read_global_os_version(config, hk)) in wpa_config_read_global()
257 &config->wps_cred_processing); in wpa_config_read_global()
259 &config->wps_cred_add_sae); in wpa_config_read_global()
262 config->p2p_ssid_postfix = wpa_config_read_reg_string( in wpa_config_read_global()
265 (int *) &config->p2p_group_idle); in wpa_config_read_global()
269 (int *) &config->bss_max_count); in wpa_config_read_global()
271 &config->filter_ssids); in wpa_config_read_global()
273 (int *) &config->max_num_sta); in wpa_config_read_global()
275 (int *) &config->disassoc_low_ack); in wpa_config_read_global()
277 wpa_config_read_reg_dword(hk, TEXT("okc"), &config->okc); in wpa_config_read_global()
279 config->pmf = val; in wpa_config_read_global()
287 config->extended_key_id = val; in wpa_config_read_global()
290 return errors ? -1 : 0; in wpa_config_read_global()
294 static struct wpa_ssid * wpa_config_read_network(HKEY hk, const TCHAR *netw, in wpa_config_read_network()
305 wpa_printf(MSG_DEBUG, "Could not open wpa_supplicant config " in wpa_config_read_network()
316 dl_list_init(&ssid->psk_list); in wpa_config_read_network()
317 ssid->id = id; in wpa_config_read_network()
340 namelen = 255 - 1; in wpa_config_read_network()
344 datalen = 1024 - 1; in wpa_config_read_network()
355 if (ssid->passphrase) { in wpa_config_read_network()
356 if (ssid->psk_set) { in wpa_config_read_network()
364 if ((ssid->group_cipher & WPA_CIPHER_CCMP) && in wpa_config_read_network()
365 !(ssid->pairwise_cipher & WPA_CIPHER_CCMP) && in wpa_config_read_network()
366 !(ssid->pairwise_cipher & WPA_CIPHER_NONE)) { in wpa_config_read_network()
371 ssid->group_cipher &= ~WPA_CIPHER_CCMP; in wpa_config_read_network()
383 static int wpa_config_read_networks(struct wpa_config *config, HKEY hk) in wpa_config_read_networks() argument
396 return -1; in wpa_config_read_networks()
417 namelen = 255 - 1; in wpa_config_read_networks()
430 tail->next = ssid; in wpa_config_read_networks()
433 if (wpa_config_add_prio_network(config, ssid)) { in wpa_config_read_networks()
443 config->ssid = head; in wpa_config_read_networks()
445 return errors ? -1 : 0; in wpa_config_read_networks()
454 struct wpa_config *config; in wpa_config_read() local
461 config = cfgp; in wpa_config_read()
463 config = wpa_config_alloc_empty(NULL, NULL); in wpa_config_read()
464 if (config == NULL) in wpa_config_read()
478 os_free(config); in wpa_config_read()
482 if (wpa_config_read_global(config, hk)) in wpa_config_read()
485 if (wpa_config_read_networks(config, hk)) in wpa_config_read()
488 if (wpa_config_read_blobs(config, hk)) in wpa_config_read()
491 wpa_config_debug_dump_networks(config); in wpa_config_read()
496 wpa_config_free(config); in wpa_config_read()
497 config = NULL; in wpa_config_read()
500 return config; in wpa_config_read()
504 static int wpa_config_write_reg_dword(HKEY hk, const TCHAR *name, int val, in wpa_config_write_reg_dword()
520 return -1; in wpa_config_write_reg_dword()
527 static int wpa_config_write_reg_string(HKEY hk, const char *name, in wpa_config_write_reg_string()
535 return -1; in wpa_config_write_reg_string()
546 return -1; in wpa_config_write_reg_string()
555 return -1; in wpa_config_write_reg_string()
564 static int wpa_config_write_global(struct wpa_config *config, HKEY hk) in wpa_config_write_global() argument
568 config->ctrl_interface); in wpa_config_write_global()
572 config->eapol_version, in wpa_config_write_global()
574 wpa_config_write_reg_dword(hk, TEXT("ap_scan"), config->ap_scan, in wpa_config_write_global()
577 config->fast_reauth, DEFAULT_FAST_REAUTH); in wpa_config_write_global()
579 config->dot11RSNAConfigPMKLifetime, 0); in wpa_config_write_global()
582 config->dot11RSNAConfigPMKReauthThreshold, in wpa_config_write_global()
585 config->dot11RSNAConfigSATimeout, 0); in wpa_config_write_global()
587 config->update_config, in wpa_config_write_global()
590 if (!is_nil_uuid(config->uuid)) { in wpa_config_write_global()
592 uuid_bin2str(config->uuid, buf, sizeof(buf)); in wpa_config_write_global()
595 wpa_config_write_reg_dword(hk, TEXT("auto_uuid"), config->auto_uuid, in wpa_config_write_global()
597 wpa_config_write_reg_string(hk, "device_name", config->device_name); in wpa_config_write_global()
598 wpa_config_write_reg_string(hk, "manufacturer", config->manufacturer); in wpa_config_write_global()
599 wpa_config_write_reg_string(hk, "model_name", config->model_name); in wpa_config_write_global()
600 wpa_config_write_reg_string(hk, "model_number", config->model_number); in wpa_config_write_global()
602 config->serial_number); in wpa_config_write_global()
605 buf = wps_dev_type_bin2str(config->device_type, in wpa_config_write_global()
610 config->config_methods); in wpa_config_write_global()
611 if (WPA_GET_BE32(config->os_version)) { in wpa_config_write_global()
614 WPA_GET_BE32(config->os_version)); in wpa_config_write_global()
618 config->wps_cred_processing, 0); in wpa_config_write_global()
620 config->wps_cred_add_sae, 0); in wpa_config_write_global()
624 config->p2p_ssid_postfix); in wpa_config_write_global()
626 config->p2p_group_idle, 0); in wpa_config_write_global()
630 config->bss_max_count, in wpa_config_write_global()
633 config->filter_ssids, 0); in wpa_config_write_global()
635 config->max_num_sta, DEFAULT_MAX_NUM_STA); in wpa_config_write_global()
637 config->ap_isolate, DEFAULT_AP_ISOLATE); in wpa_config_write_global()
639 config->disassoc_low_ack, 0); in wpa_config_write_global()
641 wpa_config_write_reg_dword(hk, TEXT("okc"), config->okc, 0); in wpa_config_write_global()
642 wpa_config_write_reg_dword(hk, TEXT("pmf"), config->pmf, 0); in wpa_config_write_global()
645 config->external_sim, 0); in wpa_config_write_global()
651 static int wpa_config_delete_subkeys(HKEY hk, const TCHAR *key) in wpa_config_delete_subkeys()
683 namelen = 255 - 1; in wpa_config_delete_subkeys()
696 return errors ? -1 : 0; in wpa_config_delete_subkeys()
700 static void write_str(HKEY hk, const char *field, struct wpa_ssid *ssid) in write_str()
710 static void write_int(HKEY hk, const char *field, int value, int def) in write_int()
720 static void write_bssid(HKEY hk, struct wpa_ssid *ssid) in write_bssid()
730 static void write_psk(HKEY hk, struct wpa_ssid *ssid) in write_psk()
740 static void write_proto(HKEY hk, struct wpa_ssid *ssid) in write_proto()
744 if (ssid->proto == DEFAULT_PROTO) in write_proto()
756 static void write_key_mgmt(HKEY hk, struct wpa_ssid *ssid) in write_key_mgmt()
760 if (ssid->key_mgmt == DEFAULT_KEY_MGMT) in write_key_mgmt()
772 static void write_pairwise(HKEY hk, struct wpa_ssid *ssid) in write_pairwise()
776 if (ssid->pairwise_cipher == DEFAULT_PAIRWISE) in write_pairwise()
788 static void write_group(HKEY hk, struct wpa_ssid *ssid) in write_group()
792 if (ssid->group_cipher == DEFAULT_GROUP) in write_group()
804 static void write_auth_alg(HKEY hk, struct wpa_ssid *ssid) in write_auth_alg()
808 if (ssid->auth_alg == 0) in write_auth_alg()
821 static void write_eap(HKEY hk, struct wpa_ssid *ssid) in write_eap()
837 static void write_wep_key(HKEY hk, int idx, struct wpa_ssid *ssid) in write_wep_key()
851 static int wpa_config_write_network(HKEY hk, struct wpa_ssid *ssid, int id) in wpa_config_write_network()
878 return -1; in wpa_config_write_network()
882 #define INT(t) write_int(netw, #t, ssid->t, 0) in wpa_config_write_network()
883 #define INTe(t, m) write_int(netw, #t, ssid->eap.m, 0) in wpa_config_write_network()
884 #define INT_DEF(t, def) write_int(netw, #t, ssid->t, def) in wpa_config_write_network()
885 #define INT_DEFe(t, m, def) write_int(netw, #t, ssid->eap.m, def) in wpa_config_write_network()
953 write_int(netw, "proactive_key_caching", ssid->proactive_key_caching, in wpa_config_write_network()
954 -1); in wpa_config_write_network()
956 write_int(netw, "ieee80211w", ssid->ieee80211w, in wpa_config_write_network()
971 return errors ? -1 : 0; in wpa_config_write_network()
975 static int wpa_config_write_blob(HKEY hk, struct wpa_config_blob *blob) in wpa_config_write_blob()
987 return -1; in wpa_config_write_blob()
990 name = wpa_strdup_tchar(blob->name); in wpa_config_write_blob()
991 ret = RegSetValueEx(bhk, name, 0, REG_BINARY, blob->data, in wpa_config_write_blob()
992 blob->len); in wpa_config_write_blob()
995 "error 0x%x (%d)", blob->name, (unsigned int) ret, in wpa_config_write_blob()
999 return -1; in wpa_config_write_blob()
1009 int wpa_config_write(const char *name, struct wpa_config *config) in wpa_config_write() argument
1032 return -1; in wpa_config_write()
1035 if (wpa_config_write_global(config, hk)) { in wpa_config_write()
1042 for (ssid = config->ssid, id = 0; ssid; ssid = ssid->next, id++) { in wpa_config_write()
1043 if (ssid->key_mgmt == WPA_KEY_MGMT_WPS) in wpa_config_write()
1050 for (blob = config->blobs; blob; blob = blob->next) { in wpa_config_write()
1059 return errors ? -1 : 0; in wpa_config_write()