Parcourir la source

WPS ER: Fix SetSelectedRegistrar to include wildcard AuthorizedMACs

This is required by WPS 2.0, so add the wildcard address to
AuthorizedMACs if no addresses are in the list.
Jouni Malinen il y a 15 ans
Parent
commit
669f322d0e
1 fichiers modifiés avec 8 ajouts et 0 suppressions
  1. 8 0
      src/wps/wps_er.c

+ 8 - 0
src/wps/wps_er.c

@@ -1391,6 +1391,7 @@ void wps_er_set_sel_reg(struct wps_er *er, int sel_reg, u16 dev_passwd_id,
 	struct wps_er_ap *ap;
 	struct wps_registrar *reg = er->wps->registrar;
 	const u8 *auth_macs;
+	u8 bcast[ETH_ALEN];
 	size_t count;
 	union wps_event_data data;
 
@@ -1404,6 +1405,13 @@ void wps_er_set_sel_reg(struct wps_er *er, int sel_reg, u16 dev_passwd_id,
 		return;
 
 	auth_macs = wps_authorized_macs(reg, &count);
+#ifdef CONFIG_WPS2
+	if (count == 0) {
+		os_memset(bcast, 0xff, ETH_ALEN);
+		auth_macs = bcast;
+		count = 1;
+	}
+#endif /* CONFIG_WPS2 */
 
 	if (wps_build_version(msg) ||
 	    wps_er_build_selected_registrar(msg, sel_reg) ||