Allow hostapd wep_key# parameters to be cleared
Setting wep_key# to an empty string will now clear a previously configured key. This is needed to be able to change WEP configured AP to using WPA/WPA2 through the hostapd control interface SET commands. Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
609be6f7c0
commit
20b1a9e238
1 changed files with 19 additions and 1 deletions
|
@ -768,7 +768,25 @@ static int hostapd_config_read_wep(struct hostapd_wep_keys *wep, int keyidx,
|
||||||
{
|
{
|
||||||
size_t len = os_strlen(val);
|
size_t len = os_strlen(val);
|
||||||
|
|
||||||
if (keyidx < 0 || keyidx > 3 || wep->key[keyidx] != NULL)
|
if (keyidx < 0 || keyidx > 3)
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
if (len == 0) {
|
||||||
|
int i, set = 0;
|
||||||
|
|
||||||
|
bin_clear_free(wep->key[keyidx], wep->len[keyidx]);
|
||||||
|
wep->key[keyidx] = NULL;
|
||||||
|
wep->len[keyidx] = 0;
|
||||||
|
for (i = 0; i < NUM_WEP_KEYS; i++) {
|
||||||
|
if (wep->key[i])
|
||||||
|
set++;
|
||||||
|
}
|
||||||
|
if (!set)
|
||||||
|
wep->keys_set = 0;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (wep->key[keyidx] != NULL)
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
if (val[0] == '"') {
|
if (val[0] == '"') {
|
||||||
|
|
Loading…
Reference in a new issue