aboutsummaryrefslogtreecommitdiffstats
path: root/wpa_supplicant/mesh.c
diff options
context:
space:
mode:
authorThomas Pedersen <thomas@noack.us>2014-09-01 04:23:29 (GMT)
committerJouni Malinen <j@w1.fi>2014-11-16 17:43:06 (GMT)
commit0f950df0298a91d9696da15933ef6e7bc291cfa4 (patch)
tree2a6f37af66cd4f411e756b5666bd839ddeaf0623 /wpa_supplicant/mesh.c
parent88cb27c7a5164f8ffe465e4f1a4ae5f5f7bea91c (diff)
downloadhostap-0f950df0298a91d9696da15933ef6e7bc291cfa4.zip
hostap-0f950df0298a91d9696da15933ef6e7bc291cfa4.tar.gz
hostap-0f950df0298a91d9696da15933ef6e7bc291cfa4.tar.bz2
mesh: Add mesh robust security network
This implementation provides: - Mesh SAE authentication mechanism - Key management (set/get PSK) - Cryptographic key establishment - Enhanced protection mechanisms for robust management frames Signed-off-by: Javier Lopez <jlopex@gmail.com> Signed-off-by: Javier Cardona <javier@cozybit.com> Signed-off-by: Jason Mobarak <x@jason.mobarak.name> Signed-off-by: Thomas Pedersen <thomas@noack.us>
Diffstat (limited to 'wpa_supplicant/mesh.c')
-rw-r--r--wpa_supplicant/mesh.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/wpa_supplicant/mesh.c b/wpa_supplicant/mesh.c
index 0c160d8..1ad4bf6 100644
--- a/wpa_supplicant/mesh.c
+++ b/wpa_supplicant/mesh.c
@@ -22,6 +22,7 @@
#include "driver_i.h"
#include "notify.h"
#include "mesh_mpm.h"
+#include "mesh_rsn.h"
#include "mesh.h"
@@ -30,6 +31,8 @@ static void wpa_supplicant_mesh_deinit(struct wpa_supplicant *wpa_s)
wpa_supplicant_mesh_iface_deinit(wpa_s, wpa_s->ifmsh);
wpa_s->ifmsh = NULL;
wpa_s->current_ssid = NULL;
+ os_free(wpa_s->mesh_rsn);
+ wpa_s->mesh_rsn = NULL;
/* TODO: leave mesh (stop beacon). This will happen on link down
* anyway, so it's not urgent */
}
@@ -231,6 +234,10 @@ static int wpa_supplicant_mesh_init(struct wpa_supplicant *wpa_s,
len = os_strlen(ssid->passphrase);
bss->conf->ssid.wpa_passphrase =
dup_binstr(ssid->passphrase, len);
+
+ wpa_s->mesh_rsn = mesh_rsn_auth_init(wpa_s, mconf);
+ if (!wpa_s->mesh_rsn)
+ goto out_free;
}
return 0;