wpa_cli: Add command for setting PSK_PASSPHRASE
Setting mem_only_psk=1 in the wpa_supplicant configuration prevents the passphrase from being stored in the configuration file. wpa_supplicant will request the PSK passphrase over the control interface in such case and this new wpa_cli command can be used to set the psk_passphrase. usage: psk_passphrase <network id> <psk_passphrase> Signed-off-by: Hagai Moshe <hagai.moshe@tandemg.com> Signed-off-by: Simon Dinkin <simon.dinkin@tandemg.com>
This commit is contained in:
parent
38b405c8f0
commit
b9eb717f85
1 changed files with 36 additions and 0 deletions
|
@ -1205,6 +1205,39 @@ static int wpa_cli_cmd_sim(struct wpa_ctrl *ctrl, int argc, char *argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int wpa_cli_cmd_psk_passphrase(struct wpa_ctrl *ctrl, int argc,
|
||||||
|
char *argv[])
|
||||||
|
{
|
||||||
|
char cmd[256], *pos, *end;
|
||||||
|
int i, ret;
|
||||||
|
|
||||||
|
if (argc < 2) {
|
||||||
|
printf("Invalid PSK_PASSPHRASE command: needs two arguments (network id and PSK/passphrase)\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
end = cmd + sizeof(cmd);
|
||||||
|
pos = cmd;
|
||||||
|
ret = os_snprintf(pos, end - pos, WPA_CTRL_RSP "PSK_PASSPHRASE-%s:%s",
|
||||||
|
argv[0], argv[1]);
|
||||||
|
if (os_snprintf_error(end - pos, ret)) {
|
||||||
|
printf("Too long PSK_PASSPHRASE command.\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
pos += ret;
|
||||||
|
for (i = 2; i < argc; i++) {
|
||||||
|
ret = os_snprintf(pos, end - pos, " %s", argv[i]);
|
||||||
|
if (os_snprintf_error(end - pos, ret)) {
|
||||||
|
printf("Too long PSK_PASSPHRASE command.\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
pos += ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
return wpa_ctrl_command(ctrl, cmd);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int wpa_cli_cmd_passphrase(struct wpa_ctrl *ctrl, int argc,
|
static int wpa_cli_cmd_passphrase(struct wpa_ctrl *ctrl, int argc,
|
||||||
char *argv[])
|
char *argv[])
|
||||||
{
|
{
|
||||||
|
@ -3095,6 +3128,9 @@ static const struct wpa_cli_cmd wpa_cli_commands[] = {
|
||||||
cli_cmd_flag_sensitive,
|
cli_cmd_flag_sensitive,
|
||||||
"<network id> <password> = configure one-time-password for an SSID"
|
"<network id> <password> = configure one-time-password for an SSID"
|
||||||
},
|
},
|
||||||
|
{ "psk_passphrase", wpa_cli_cmd_psk_passphrase,
|
||||||
|
wpa_cli_complete_network_id, cli_cmd_flag_sensitive,
|
||||||
|
"<network id> <PSK/passphrase> = configure PSK/passphrase for an SSID" },
|
||||||
{ "passphrase", wpa_cli_cmd_passphrase, wpa_cli_complete_network_id,
|
{ "passphrase", wpa_cli_cmd_passphrase, wpa_cli_complete_network_id,
|
||||||
cli_cmd_flag_sensitive,
|
cli_cmd_flag_sensitive,
|
||||||
"<network id> <passphrase> = configure private key passphrase\n"
|
"<network id> <passphrase> = configure private key passphrase\n"
|
||||||
|
|
Loading…
Reference in a new issue