aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChun-Yeow Yeoh <yeohchunyeow@gmail.com>2014-09-01 04:23:31 (GMT)
committerJouni Malinen <j@w1.fi>2014-11-16 17:43:11 (GMT)
commitc596f3f083d1638b72758f9106770b264ca40f84 (patch)
treeb2e7e318d798577b2b6d0edb65ef438e988588cd /src
parentc50d94f1f8c1e30ce6f0da01c2c4d2f591191617 (diff)
downloadhostap-c596f3f083d1638b72758f9106770b264ca40f84.zip
hostap-c596f3f083d1638b72758f9106770b264ca40f84.tar.gz
hostap-c596f3f083d1638b72758f9106770b264ca40f84.tar.bz2
mesh: Add timer for SAE authentication in RSN mesh
Add timer to do SAE re-authentication with number of tries defined by MESH_AUTH_RETRY and timeout defined by MESH_AUTH_TIMEOUT. Ignoring the sending of reply message on "SAE confirm before commit" to avoid "ping-pong" issues with other mesh nodes. This is obvious when number of mesh nodes in MBSS reaching 6. Signed-off-by: Chun-Yeow Yeoh <yeohchunyeow@gmail.com> Signed-off-by: Bob Copeland <me@bobcopeland.com>
Diffstat (limited to 'src')
-rw-r--r--src/ap/hostapd.h1
-rw-r--r--src/ap/sta_info.c5
-rw-r--r--src/ap/sta_info.h1
3 files changed, 7 insertions, 0 deletions
diff --git a/src/ap/hostapd.h b/src/ap/hostapd.h
index 49f0ddf..7ee3c87 100644
--- a/src/ap/hostapd.h
+++ b/src/ap/hostapd.h
@@ -247,6 +247,7 @@ struct hostapd_data {
#ifdef CONFIG_MESH
int num_plinks;
int max_plinks;
+ void (*mesh_sta_free_cb)(struct sta_info *sta);
#endif /* CONFIG_MESH */
#ifdef CONFIG_SQLITE
diff --git a/src/ap/sta_info.c b/src/ap/sta_info.c
index ec0e493..c48222e 100644
--- a/src/ap/sta_info.c
+++ b/src/ap/sta_info.c
@@ -227,6 +227,11 @@ void ap_free_sta(struct hostapd_data *hapd, struct sta_info *sta)
set_beacon++;
#endif /* NEED_AP_MLME && CONFIG_IEEE80211N */
+#ifdef CONFIG_MESH
+ if (hapd->mesh_sta_free_cb)
+ hapd->mesh_sta_free_cb(sta);
+#endif /* CONFIG_MESH */
+
if (set_beacon)
ieee802_11_set_beacons(hapd->iface);
diff --git a/src/ap/sta_info.h b/src/ap/sta_info.h
index 8ba3ff2..76e34e4 100644
--- a/src/ap/sta_info.h
+++ b/src/ap/sta_info.h
@@ -66,6 +66,7 @@ struct sta_info {
u8 aek[32]; /* SHA256 digest length */
u8 mtk[16];
u8 mgtk[16];
+ u8 sae_auth_retry;
#endif /* CONFIG_MESH */
unsigned int nonerp_set:1;