Re-configure WPA2 group keys on hostapd interface re-enable

This allows WPA2 mode AP to be re-enabled automatically after external
ifconfig down + up on a netdev used by hostapd.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
Jouni Malinen 2015-02-10 18:19:51 +02:00 committed by Jouni Malinen
parent f33c8606f4
commit 34782730c0
3 changed files with 13 additions and 0 deletions

View file

@ -1216,6 +1216,7 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event,
* Try to re-enable interface if the driver stopped it * Try to re-enable interface if the driver stopped it
* when the interface got disabled. * when the interface got disabled.
*/ */
wpa_auth_reconfig_group_keys(hapd->wpa_auth);
hapd->reenable_beacon = 1; hapd->reenable_beacon = 1;
ieee802_11_set_beacon(hapd); ieee802_11_set_beacon(hapd);
} }

View file

@ -3387,3 +3387,14 @@ int wpa_auth_radius_das_disconnect_pmksa(struct wpa_authenticator *wpa_auth,
{ {
return pmksa_cache_auth_radius_das_disconnect(wpa_auth->pmksa, attr); return pmksa_cache_auth_radius_das_disconnect(wpa_auth->pmksa, attr);
} }
void wpa_auth_reconfig_group_keys(struct wpa_authenticator *wpa_auth)
{
struct wpa_group *group;
if (!wpa_auth)
return;
for (group = wpa_auth->group; group; group = group->next)
wpa_group_config_group_keys(wpa_auth, group);
}

View file

@ -318,5 +318,6 @@ int wpa_auth_get_ip_addr(struct wpa_state_machine *sm, u8 *addr);
struct radius_das_attrs; struct radius_das_attrs;
int wpa_auth_radius_das_disconnect_pmksa(struct wpa_authenticator *wpa_auth, int wpa_auth_radius_das_disconnect_pmksa(struct wpa_authenticator *wpa_auth,
struct radius_das_attrs *attr); struct radius_das_attrs *attr);
void wpa_auth_reconfig_group_keys(struct wpa_authenticator *wpa_auth);
#endif /* WPA_AUTH_H */ #endif /* WPA_AUTH_H */