P2P: Do not save temporary networks

This commit is contained in:
Jouni Malinen 2010-07-18 14:30:24 -07:00 committed by Jouni Malinen
parent b2c5a4a3df
commit 2ff99b3c38
2 changed files with 6 additions and 2 deletions

View File

@ -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");

View File

@ -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);