WPS 2.0: Add support for AuthorizedMACs attribute
Advertize list of authorized enrollee MAC addresses in Beacon and Probe Response frames and use these when selecting the AP. In order to provide the list, the enrollee MAC address should be specified whenever adding a new PIN. In addition, add UUID-R into SetSelectedRegistrar action to make it potentially easier for an AP to figure out which ER sent the action should there be multiple ERs using the same IP address.
This commit is contained in:
parent
f439079e93
commit
31fcea931d
22 changed files with 289 additions and 67 deletions
|
@ -714,8 +714,8 @@ void hostapd_update_wps(struct hostapd_data *hapd)
|
|||
}
|
||||
|
||||
|
||||
int hostapd_wps_add_pin(struct hostapd_data *hapd, const char *uuid,
|
||||
const char *pin, int timeout)
|
||||
int hostapd_wps_add_pin(struct hostapd_data *hapd, const u8 *addr,
|
||||
const char *uuid, const char *pin, int timeout)
|
||||
{
|
||||
u8 u[UUID_LEN];
|
||||
int any = 0;
|
||||
|
@ -726,7 +726,8 @@ int hostapd_wps_add_pin(struct hostapd_data *hapd, const char *uuid,
|
|||
any = 1;
|
||||
else if (uuid_str2bin(uuid, u))
|
||||
return -1;
|
||||
return wps_registrar_add_pin(hapd->wps->registrar, any ? NULL : u,
|
||||
return wps_registrar_add_pin(hapd->wps->registrar, addr,
|
||||
any ? NULL : u,
|
||||
(const u8 *) pin, os_strlen(pin),
|
||||
timeout);
|
||||
}
|
||||
|
@ -777,7 +778,7 @@ int hostapd_wps_start_oob(struct hostapd_data *hapd, char *device_type,
|
|||
|
||||
if ((wps->oob_conf.oob_method == OOB_METHOD_DEV_PWD_E ||
|
||||
wps->oob_conf.oob_method == OOB_METHOD_DEV_PWD_R) &&
|
||||
hostapd_wps_add_pin(hapd, "any",
|
||||
hostapd_wps_add_pin(hapd, NULL, "any",
|
||||
wpabuf_head(wps->oob_conf.dev_password), 0) <
|
||||
0)
|
||||
goto error;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue