ERP: Add ERP_FLUSH for hostapd
This can be used to drop any pending ERP key from both the internal AP authentication server and RADIUS server use of hostapd. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
777bbe7a3c
commit
2c6411edd0
6 changed files with 46 additions and 14 deletions
|
@ -1819,14 +1819,30 @@ radius_server_init(struct radius_server_conf *conf)
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* radius_server_erp_flush - Flush all ERP keys
|
||||
* @data: RADIUS server context from radius_server_init()
|
||||
*/
|
||||
void radius_server_erp_flush(struct radius_server_data *data)
|
||||
{
|
||||
struct eap_server_erp_key *erp;
|
||||
|
||||
if (data == NULL)
|
||||
return;
|
||||
while ((erp = dl_list_first(&data->erp_keys, struct eap_server_erp_key,
|
||||
list)) != NULL) {
|
||||
dl_list_del(&erp->list);
|
||||
bin_clear_free(erp, sizeof(*erp));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* radius_server_deinit - Deinitialize RADIUS server
|
||||
* @data: RADIUS server context from radius_server_init()
|
||||
*/
|
||||
void radius_server_deinit(struct radius_server_data *data)
|
||||
{
|
||||
struct eap_server_erp_key *erp;
|
||||
|
||||
if (data == NULL)
|
||||
return;
|
||||
|
||||
|
@ -1856,11 +1872,7 @@ void radius_server_deinit(struct radius_server_data *data)
|
|||
sqlite3_close(data->db);
|
||||
#endif /* CONFIG_SQLITE */
|
||||
|
||||
while ((erp = dl_list_first(&data->erp_keys, struct eap_server_erp_key,
|
||||
list)) != NULL) {
|
||||
dl_list_del(&erp->list);
|
||||
bin_clear_free(erp, sizeof(*erp));
|
||||
}
|
||||
radius_server_erp_flush(data);
|
||||
|
||||
os_free(data);
|
||||
}
|
||||
|
|
|
@ -235,6 +235,7 @@ struct radius_server_conf {
|
|||
struct radius_server_data *
|
||||
radius_server_init(struct radius_server_conf *conf);
|
||||
|
||||
void radius_server_erp_flush(struct radius_server_data *data);
|
||||
void radius_server_deinit(struct radius_server_data *data);
|
||||
|
||||
int radius_server_get_mib(struct radius_server_data *data, char *buf,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue