P2P: Do not save temporary networks
This commit is contained in:
parent
b2c5a4a3df
commit
2ff99b3c38
2 changed files with 6 additions and 2 deletions
|
@ -708,8 +708,8 @@ int wpa_config_write(const char *name, struct wpa_config *config)
|
||||||
wpa_config_write_global(f, config);
|
wpa_config_write_global(f, config);
|
||||||
|
|
||||||
for (ssid = config->ssid; ssid; ssid = ssid->next) {
|
for (ssid = config->ssid; ssid; ssid = ssid->next) {
|
||||||
if (ssid->key_mgmt == WPA_KEY_MGMT_WPS)
|
if (ssid->key_mgmt == WPA_KEY_MGMT_WPS || ssid->temporary)
|
||||||
continue; /* do not save temporary WPS networks */
|
continue; /* do not save temporary networks */
|
||||||
fprintf(f, "\nnetwork={\n");
|
fprintf(f, "\nnetwork={\n");
|
||||||
wpa_config_write_network(f, ssid);
|
wpa_config_write_network(f, ssid);
|
||||||
fprintf(f, "}\n");
|
fprintf(f, "}\n");
|
||||||
|
|
|
@ -240,6 +240,8 @@ static int wpa_supplicant_wps_cred(void *ctx,
|
||||||
ssid->eap.phase1 = NULL;
|
ssid->eap.phase1 = NULL;
|
||||||
os_free(ssid->eap.eap_methods);
|
os_free(ssid->eap.eap_methods);
|
||||||
ssid->eap.eap_methods = NULL;
|
ssid->eap.eap_methods = NULL;
|
||||||
|
if (!ssid->p2p_group)
|
||||||
|
ssid->temporary = 0;
|
||||||
} else {
|
} else {
|
||||||
wpa_printf(MSG_DEBUG, "WPS: Create a new network based on the "
|
wpa_printf(MSG_DEBUG, "WPS: Create a new network based on the "
|
||||||
"received credential");
|
"received credential");
|
||||||
|
@ -596,6 +598,7 @@ static struct wpa_ssid * wpas_wps_add_network(struct wpa_supplicant *wpa_s,
|
||||||
return NULL;
|
return NULL;
|
||||||
wpas_notify_network_added(wpa_s, ssid);
|
wpas_notify_network_added(wpa_s, ssid);
|
||||||
wpa_config_set_network_defaults(ssid);
|
wpa_config_set_network_defaults(ssid);
|
||||||
|
ssid->temporary = 1;
|
||||||
if (wpa_config_set(ssid, "key_mgmt", "WPS", 0) < 0 ||
|
if (wpa_config_set(ssid, "key_mgmt", "WPS", 0) < 0 ||
|
||||||
wpa_config_set(ssid, "eap", "WSC", 0) < 0 ||
|
wpa_config_set(ssid, "eap", "WSC", 0) < 0 ||
|
||||||
wpa_config_set(ssid, "identity", registrar ?
|
wpa_config_set(ssid, "identity", registrar ?
|
||||||
|
@ -787,6 +790,7 @@ int wpas_wps_start_reg(struct wpa_supplicant *wpa_s, const u8 *bssid,
|
||||||
ssid = wpas_wps_add_network(wpa_s, 1, bssid);
|
ssid = wpas_wps_add_network(wpa_s, 1, bssid);
|
||||||
if (ssid == NULL)
|
if (ssid == NULL)
|
||||||
return -1;
|
return -1;
|
||||||
|
ssid->temporary = 1;
|
||||||
pos = val;
|
pos = val;
|
||||||
end = pos + sizeof(val);
|
end = pos + sizeof(val);
|
||||||
res = os_snprintf(pos, end - pos, "\"pin=%s", pin);
|
res = os_snprintf(pos, end - pos, "\"pin=%s", pin);
|
||||||
|
|
Loading…
Reference in a new issue