Apply WPS configuration changes to all interfaces that use WPS

When a single hostapd process is controlling multiple interfaces,
apply the received or auto-generated configuration changes to all
interfaces that have enabled WPS.
This commit is contained in:
Jouni Malinen 2010-10-08 17:32:10 +03:00 committed by Jouni Malinen
parent e55f98f4b8
commit 2f7d9f2dd9

View File

@ -239,9 +239,9 @@ static void wps_reload_config(void *eloop_data, void *user_ctx)
}
static int hostapd_wps_cred_cb(void *ctx, const struct wps_credential *cred)
static int hapd_wps_cred_cb(struct hostapd_data *hapd, void *ctx)
{
struct hostapd_data *hapd = ctx;
const struct wps_credential *cred = ctx;
FILE *oconf, *nconf;
size_t len, i;
char *tmp_fname;
@ -249,6 +249,9 @@ static int hostapd_wps_cred_cb(void *ctx, const struct wps_credential *cred)
int multi_bss;
int wpa;
if (hapd->wps == NULL)
return 0;
wpa_hexdump_key(MSG_DEBUG, "WPS: Received Credential attribute",
cred->cred_attr, cred->cred_attr_len);
@ -453,14 +456,19 @@ static int hostapd_wps_cred_cb(void *ctx, const struct wps_credential *cred)
eloop_register_timeout(0, 100000, wps_reload_config, hapd->iface,
NULL);
/* TODO: dualband AP may need to update multiple configuration files */
wpa_printf(MSG_DEBUG, "WPS: AP configuration updated");
return 0;
}
static int hostapd_wps_cred_cb(void *ctx, const struct wps_credential *cred)
{
struct hostapd_data *hapd = ctx;
return hostapd_wps_for_each(hapd, hapd_wps_cred_cb, (void *) cred);
}
static void hostapd_wps_reenable_ap_pin(void *eloop_data, void *user_ctx)
{
struct hostapd_data *hapd = eloop_data;