WPS 2.0: Fix AuthorizedMACs check to accept wildcard address
We need to accept both our own address and the ff:ff:ff:ff:ff:ff as an indication of the AP having authorized us.
This commit is contained in:
parent
252d7db297
commit
ab98525399
1 changed files with 3 additions and 1 deletions
|
@ -269,6 +269,7 @@ int wps_is_addr_authorized(const struct wpabuf *msg, const u8 *addr,
|
||||||
struct wps_parse_attr attr;
|
struct wps_parse_attr attr;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
const u8 *pos;
|
const u8 *pos;
|
||||||
|
const u8 bcast[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
|
||||||
|
|
||||||
if (wps_parse_msg(msg, &attr) < 0)
|
if (wps_parse_msg(msg, &attr) < 0)
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -286,7 +287,8 @@ int wps_is_addr_authorized(const struct wpabuf *msg, const u8 *addr,
|
||||||
|
|
||||||
pos = attr.authorized_macs;
|
pos = attr.authorized_macs;
|
||||||
for (i = 0; i < attr.authorized_macs_len / ETH_ALEN; i++) {
|
for (i = 0; i < attr.authorized_macs_len / ETH_ALEN; i++) {
|
||||||
if (os_memcmp(pos, addr, ETH_ALEN) == 0)
|
if (os_memcmp(pos, addr, ETH_ALEN) == 0 ||
|
||||||
|
os_memcmp(pos, bcast, ETH_ALEN) == 0)
|
||||||
return 1;
|
return 1;
|
||||||
pos += ETH_ALEN;
|
pos += ETH_ALEN;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue