Interworking: Allow cred blocks not to be saved to a file
The new cred block parameter 'temporary' can be used to indicate that a cred block is not to be saved to wpa_supplicant configuration file (e.g., "SET_CRED 0 temporary 1"). This is similar to the concept of temporary network blocks and allows cred blocks to be managed outside the wpa_supplicant config file when other parameters are still saved to the file written by wpa_supplicant. Signed-hostap: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
0fab9ce67a
commit
03ed332407
5 changed files with 18 additions and 0 deletions
|
@ -109,6 +109,8 @@ Credentials can be pre-configured for automatic network selection:
|
||||||
#
|
#
|
||||||
# credential fields:
|
# credential fields:
|
||||||
#
|
#
|
||||||
|
# temporary: Whether this credential is temporary and not to be saved
|
||||||
|
#
|
||||||
# priority: Priority group
|
# priority: Priority group
|
||||||
# By default, all networks and credentials get the same priority group
|
# By default, all networks and credentials get the same priority group
|
||||||
# (0). This field can be used to give higher priority for credentials
|
# (0). This field can be used to give higher priority for credentials
|
||||||
|
@ -269,6 +271,8 @@ OK
|
||||||
OK
|
OK
|
||||||
> set_cred 0 priority 1
|
> set_cred 0 priority 1
|
||||||
OK
|
OK
|
||||||
|
> set_cred 0 temporary 1
|
||||||
|
OK
|
||||||
|
|
||||||
Add a SIM credential using a simulated SIM/USIM card for testing:
|
Add a SIM credential using a simulated SIM/USIM card for testing:
|
||||||
|
|
||||||
|
|
|
@ -2393,6 +2393,11 @@ int wpa_config_set_cred(struct wpa_cred *cred, const char *var,
|
||||||
char *val;
|
char *val;
|
||||||
size_t len;
|
size_t len;
|
||||||
|
|
||||||
|
if (os_strcmp(var, "temporary") == 0) {
|
||||||
|
cred->temporary = atoi(value);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (os_strcmp(var, "priority") == 0) {
|
if (os_strcmp(var, "priority") == 0) {
|
||||||
cred->priority = atoi(value);
|
cred->priority = atoi(value);
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -51,6 +51,11 @@ struct wpa_cred {
|
||||||
*/
|
*/
|
||||||
int id;
|
int id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* temporary - Whether this credential is temporary and not to be saved
|
||||||
|
*/
|
||||||
|
int temporary;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* priority - Priority group
|
* priority - Priority group
|
||||||
*
|
*
|
||||||
|
|
|
@ -1110,6 +1110,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 (cred = config->cred; cred; cred = cred->next) {
|
for (cred = config->cred; cred; cred = cred->next) {
|
||||||
|
if (cred->temporary)
|
||||||
|
continue;
|
||||||
fprintf(f, "\ncred={\n");
|
fprintf(f, "\ncred={\n");
|
||||||
wpa_config_write_cred(f, cred);
|
wpa_config_write_cred(f, cred);
|
||||||
fprintf(f, "}\n");
|
fprintf(f, "}\n");
|
||||||
|
|
|
@ -342,6 +342,8 @@ fast_reauth=1
|
||||||
#
|
#
|
||||||
# credential fields:
|
# credential fields:
|
||||||
#
|
#
|
||||||
|
# temporary: Whether this credential is temporary and not to be saved
|
||||||
|
#
|
||||||
# priority: Priority group
|
# priority: Priority group
|
||||||
# By default, all networks and credentials get the same priority group
|
# By default, all networks and credentials get the same priority group
|
||||||
# (0). This field can be used to give higher priority for credentials
|
# (0). This field can be used to give higher priority for credentials
|
||||||
|
|
Loading…
Reference in a new issue