X-Git-Url: http://www.project-moonshot.org/gitweb/?a=blobdiff_plain;f=wpa_supplicant%2Fconfig_winreg.c;h=199f04fbbf13e4e3254726af35c06e03d3e1bb7a;hb=9c21b2bf45e35ba169d9123941c46cf3b2896d9c;hp=48a1a9469adb4f884e44bd5747a90e76d0162715;hpb=6e2020210afe355bd0f8fcdb2a68f31746f6f7df;p=mech_eap.git diff --git a/wpa_supplicant/config_winreg.c b/wpa_supplicant/config_winreg.c index 48a1a94..199f04f 100644 --- a/wpa_supplicant/config_winreg.c +++ b/wpa_supplicant/config_winreg.c @@ -202,6 +202,7 @@ static int wpa_config_read_global_os_version(struct wpa_config *config, static int wpa_config_read_global(struct wpa_config *config, HKEY hk) { int errors = 0; + int val; wpa_config_read_reg_dword(hk, TEXT("ap_scan"), &config->ap_scan); wpa_config_read_reg_dword(hk, TEXT("fast_reauth"), @@ -272,6 +273,8 @@ static int wpa_config_read_global(struct wpa_config *config, HKEY hk) (int *) &config->disassoc_low_ack); wpa_config_read_reg_dword(hk, TEXT("okc"), &config->okc); + wpa_config_read_reg_dword(hk, TEXT("pmf"), &val); + config->pmf = val; return errors ? -1 : 0; } @@ -299,6 +302,7 @@ static struct wpa_ssid * wpa_config_read_network(HKEY hk, const TCHAR *netw, RegCloseKey(nhk); return NULL; } + dl_list_init(&ssid->psk_list); ssid->id = id; wpa_config_set_network_defaults(ssid); @@ -431,7 +435,7 @@ static int wpa_config_read_networks(struct wpa_config *config, HKEY hk) } -struct wpa_config * wpa_config_read(const char *name) +struct wpa_config * wpa_config_read(const char *name, struct wpa_config *cfgp) { TCHAR buf[256]; int errors = 0; @@ -439,7 +443,12 @@ struct wpa_config * wpa_config_read(const char *name) HKEY hk; LONG ret; - config = wpa_config_alloc_empty(NULL, NULL); + if (name == NULL) + return NULL; + if (cfgp) + config = cfgp; + else + config = wpa_config_alloc_empty(NULL, NULL); if (config == NULL) return NULL; wpa_printf(MSG_DEBUG, "Reading configuration profile '%s'", name); @@ -612,6 +621,10 @@ static int wpa_config_write_global(struct wpa_config *config, HKEY hk) config->disassoc_low_ack, 0); wpa_config_write_reg_dword(hk, TEXT("okc"), config->okc, 0); + wpa_config_write_reg_dword(hk, TEXT("pmf"), config->pmf, 0); + + wpa_config_write_reg_dword(hk, TEXT("external_sim"), + config->external_sim, 0); return 0; } @@ -913,9 +926,13 @@ static int wpa_config_write_network(HKEY hk, struct wpa_ssid *ssid, int id) INT(disabled); INT(peerkey); #ifdef CONFIG_IEEE80211W - INT(ieee80211w); + write_int(netw, "ieee80211w", ssid->ieee80211w, + MGMT_FRAME_PROTECTION_DEFAULT); #endif /* CONFIG_IEEE80211W */ STR(id_str); +#ifdef CONFIG_HS20 + INT(update_identifier); +#endif /* CONFIG_HS20 */ #undef STR #undef INT