mesh: Properly handle sae_password
The recently introduced sae_password parameter was only handled properly in wpa_supplicant/sme.c while wpa_supplicant/mesh.c assumed that ssid->passphrase exclusively holds the secret. Import the logic from sme.c to mesh.c to allow having only sae_password set which otherwise throws this error: AP-ENABLED mesh: Passphrase for SAE not configured Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
parent
d6d7debb5d
commit
d5906fbb72
1 changed files with 7 additions and 3 deletions
|
@ -157,6 +157,7 @@ static int wpa_supplicant_mesh_init(struct wpa_supplicant *wpa_s,
|
|||
struct mesh_conf *mconf;
|
||||
int basic_rates_erp[] = { 10, 20, 55, 60, 110, 120, 240, -1 };
|
||||
static int default_groups[] = { 19, 20, 21, 25, 26, -1 };
|
||||
const char *password;
|
||||
size_t len;
|
||||
int rate_len;
|
||||
int frequency;
|
||||
|
@ -291,7 +292,10 @@ static int wpa_supplicant_mesh_init(struct wpa_supplicant *wpa_s,
|
|||
}
|
||||
|
||||
if (mconf->security != MESH_CONF_SEC_NONE) {
|
||||
if (ssid->passphrase == NULL) {
|
||||
password = ssid->sae_password;
|
||||
if (!password)
|
||||
password = ssid->passphrase;
|
||||
if (!password) {
|
||||
wpa_printf(MSG_ERROR,
|
||||
"mesh: Passphrase for SAE not configured");
|
||||
goto out_free;
|
||||
|
@ -311,9 +315,9 @@ static int wpa_supplicant_mesh_init(struct wpa_supplicant *wpa_s,
|
|||
goto out_free;
|
||||
}
|
||||
|
||||
len = os_strlen(ssid->passphrase);
|
||||
len = os_strlen(password);
|
||||
bss->conf->ssid.wpa_passphrase =
|
||||
dup_binstr(ssid->passphrase, len);
|
||||
dup_binstr(password, len);
|
||||
|
||||
wpa_s->mesh_rsn = mesh_rsn_auth_init(wpa_s, mconf);
|
||||
if (!wpa_s->mesh_rsn)
|
||||
|
|
Loading…
Reference in a new issue