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.
struct wps_parse_attr attr;
unsigned int i;
const u8 *pos;
struct wps_parse_attr attr;
unsigned int i;
const u8 *pos;
+ const u8 bcast[ETH_ALEN] = { 0xff, 0xff, 0xff, 0xff, 0xff, 0xff };
if (wps_parse_msg(msg, &attr) < 0)
return 0;
if (wps_parse_msg(msg, &attr) < 0)
return 0;
pos = attr.authorized_macs;
for (i = 0; i < attr.authorized_macs_len / ETH_ALEN; i++) {
pos = attr.authorized_macs;
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;
pos += ETH_ALEN;
}
return 1;
pos += ETH_ALEN;
}