aboutsummaryrefslogtreecommitdiffstats
path: root/src/ap/ap_drv_ops.c
diff options
context:
space:
mode:
authorAyala Beker <ayala.beker@intel.com>2016-02-16 09:54:32 (GMT)
committerJouni Malinen <j@w1.fi>2016-02-20 16:25:13 (GMT)
commitbb598c3bdd0616f0c15e1a42e99591d8f3ff3323 (patch)
tree6cd588d1366d127f3752395b0b9e9c753246a32e /src/ap/ap_drv_ops.c
parentdc55b6b672d95c05683ec6beca023d96ef3dc595 (diff)
downloadhostap-bb598c3bdd0616f0c15e1a42e99591d8f3ff3323.zip
hostap-bb598c3bdd0616f0c15e1a42e99591d8f3ff3323.tar.gz
hostap-bb598c3bdd0616f0c15e1a42e99591d8f3ff3323.tar.bz2
AP: Add support for full station state
Add support for drivers that support full AP client state, i.e., can handle adding stations that are not associated yet. For such drivers, add a station after processing the authentication request, instead of adding it in the association response callback. Doing so is beneficial in cases where the driver cannot handle the add station request, in which case it is useless to perform the complete connection establishment. Signed-off-by: Ayala Beker <ayala.beker@intel.com>
Diffstat (limited to 'src/ap/ap_drv_ops.c')
-rw-r--r--src/ap/ap_drv_ops.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ap/ap_drv_ops.c b/src/ap/ap_drv_ops.c
index b390450..195cb19 100644
--- a/src/ap/ap_drv_ops.c
+++ b/src/ap/ap_drv_ops.c
@@ -33,6 +33,10 @@ u32 hostapd_sta_flags_to_drv(u32 flags)
res |= WPA_STA_SHORT_PREAMBLE;
if (flags & WLAN_STA_MFP)
res |= WPA_STA_MFP;
+ if (flags & WLAN_STA_AUTH)
+ res |= WPA_STA_AUTHENTICATED;
+ if (flags & WLAN_STA_ASSOC)
+ res |= WPA_STA_ASSOCIATED;
return res;
}
@@ -390,7 +394,7 @@ int hostapd_sta_add(struct hostapd_data *hapd,
u16 listen_interval,
const struct ieee80211_ht_capabilities *ht_capab,
const struct ieee80211_vht_capabilities *vht_capab,
- u32 flags, u8 qosinfo, u8 vht_opmode)
+ u32 flags, u8 qosinfo, u8 vht_opmode, int set)
{
struct hostapd_sta_add_params params;
@@ -412,6 +416,7 @@ int hostapd_sta_add(struct hostapd_data *hapd,
params.vht_opmode = vht_opmode;
params.flags = hostapd_sta_flags_to_drv(flags);
params.qosinfo = qosinfo;
+ params.set = set;
return hapd->driver->sta_add(hapd->drv_priv, &params);
}