}
+static int auth_for_each_sta(
+ void *ctx, int (*cb)(struct wpa_state_machine *sm, void *ctx),
+ void *cb_ctx)
+{
+ struct mesh_rsn *rsn = ctx;
+ struct hostapd_data *hapd;
+ struct sta_info *sta;
+
+ hapd = rsn->wpa_s->ifmsh->bss[0];
+ for (sta = hapd->sta_list; sta; sta = sta->next) {
+ if (sta->wpa_sm && cb(sta->wpa_sm, cb_ctx))
+ return 1;
+ }
+ return 0;
+}
+
+
static int __mesh_rsn_auth_init(struct mesh_rsn *rsn, const u8 *addr,
enum mfp_options ieee80211w, int ocv)
{
.get_psk = auth_get_psk,
.set_key = auth_set_key,
.start_ampe = auth_start_ampe,
+ .for_each_sta = auth_for_each_sta,
};
u8 seq[6] = {};