Browse Source

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.
Jouni Malinen 14 years ago
parent
commit
ab98525399
1 changed files with 3 additions and 1 deletions
  1. 3 1
      src/wps/wps.c

+ 3 - 1
src/wps/wps.c

@@ -269,6 +269,7 @@ int wps_is_addr_authorized(const struct wpabuf *msg, const u8 *addr,
 	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;
@@ -286,7 +287,8 @@ int wps_is_addr_authorized(const struct wpabuf *msg, const u8 *addr,
 
 	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;
 	}