]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
OCV: Pass ocv parameter to mesh configuration
authorMathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
Mon, 6 Aug 2018 19:46:25 +0000 (15:46 -0400)
committerJouni Malinen <j@w1.fi>
Mon, 17 Dec 2018 13:50:12 +0000 (15:50 +0200)
Signed-off-by: Mathy Vanhoef <Mathy.Vanhoef@cs.kuleuven.be>
src/ap/ap_config.h
wpa_supplicant/mesh.c
wpa_supplicant/mesh_rsn.c

index c8280c106abc3c433291b034d0cf7bc4fb4948ea..7fc984cde39d9e0e4159bbab742ceca7322a043b 100644 (file)
@@ -42,6 +42,7 @@ struct mesh_conf {
 #define MESH_CONF_SEC_AMPE BIT(2)
        unsigned int security;
        enum mfp_options ieee80211w;
+       int ocv;
        unsigned int pairwise_cipher;
        unsigned int group_cipher;
        unsigned int mgmt_group_cipher;
index 38b9fb320ca9f60f14a62975193d68735d6f9726..3da8b1b24a92e0c593bb83e11120c8b3238baee4 100644 (file)
@@ -93,6 +93,9 @@ static struct mesh_conf * mesh_config_create(struct wpa_supplicant *wpa_s,
                        conf->ieee80211w = NO_MGMT_FRAME_PROTECTION;
        }
 #endif /* CONFIG_IEEE80211W */
+#ifdef CONFIG_OCV
+       conf->ocv = ssid->ocv;
+#endif /* CONFIG_OCV */
 
        cipher = wpa_pick_pairwise_cipher(ssid->pairwise_cipher, 0);
        if (cipher < 0 || cipher == WPA_CIPHER_TKIP) {
index e74cb16b072518fe912fa2e93c7f19f1b8af2a09..04ac7472f661fc5ccfd0288fb1b02cce09c77b1c 100644 (file)
@@ -140,7 +140,7 @@ static int auth_start_ampe(void *ctx, const u8 *addr)
 
 
 static int __mesh_rsn_auth_init(struct mesh_rsn *rsn, const u8 *addr,
-                               enum mfp_options ieee80211w)
+                               enum mfp_options ieee80211w, int ocv)
 {
        struct wpa_auth_config conf;
        static const struct wpa_auth_callbacks cb = {
@@ -168,6 +168,9 @@ static int __mesh_rsn_auth_init(struct mesh_rsn *rsn, const u8 *addr,
        if (ieee80211w != NO_MGMT_FRAME_PROTECTION)
                conf.group_mgmt_cipher = rsn->mgmt_group_cipher;
 #endif /* CONFIG_IEEE80211W */
+#ifdef CONFIG_OCV
+       conf.ocv = ocv;
+#endif /* CONFIG_OCV */
 
        rsn->auth = wpa_init(addr, &conf, &cb, rsn);
        if (rsn->auth == NULL) {
@@ -240,7 +243,7 @@ struct mesh_rsn *mesh_rsn_auth_init(struct wpa_supplicant *wpa_s,
        mesh_rsn->mgmt_group_cipher = conf->mgmt_group_cipher;
 
        if (__mesh_rsn_auth_init(mesh_rsn, wpa_s->own_addr,
-                                conf->ieee80211w) < 0) {
+                                conf->ieee80211w, conf->ocv) < 0) {
                mesh_rsn_deinit(mesh_rsn);
                os_free(mesh_rsn);
                return NULL;