diff options
Diffstat (limited to 'package/network/services/hostapd/patches/002-mesh-factor-out-rsn-initialization.patch')
-rw-r--r-- | package/network/services/hostapd/patches/002-mesh-factor-out-rsn-initialization.patch | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/package/network/services/hostapd/patches/002-mesh-factor-out-rsn-initialization.patch b/package/network/services/hostapd/patches/002-mesh-factor-out-rsn-initialization.patch deleted file mode 100644 index 26e872d765..0000000000 --- a/package/network/services/hostapd/patches/002-mesh-factor-out-rsn-initialization.patch +++ /dev/null @@ -1,133 +0,0 @@ -From 89db76eeff6502dfa39b011962ec9d560ed4c2ee Mon Sep 17 00:00:00 2001 -From: Peter Oh <peter.oh@bowerswilkins.com> -Date: Tue, 29 May 2018 14:39:06 -0700 -Subject: [PATCH 02/18] mesh: factor out rsn initialization - -RSN initialization can be used in different phases -if mesh initialization and mesh join don't happen -in sequence such as DFS CAC is done in between, -hence factor it out to help convering the case. - -Signed-off-by: Peter Oh <peter.oh@bowerswilkins.com> ---- - wpa_supplicant/mesh.c | 84 +++++++++++++++++++++++++------------------ - wpa_supplicant/mesh.h | 1 + - 2 files changed, 50 insertions(+), 35 deletions(-) - ---- a/wpa_supplicant/mesh.c -+++ b/wpa_supplicant/mesh.c -@@ -147,6 +147,53 @@ static void wpas_mesh_copy_groups(struct - } - - -+int wpas_mesh_init_rsn(struct wpa_supplicant *wpa_s) -+{ -+ struct hostapd_iface *ifmsh = wpa_s->ifmsh; -+ struct mesh_conf *mconf = wpa_s->ifmsh->mconf; -+ struct wpa_ssid *ssid = wpa_s->current_ssid; -+ struct hostapd_data *bss = ifmsh->bss[0]; -+ static int default_groups[] = { 19, 20, 21, 25, 26, -1 }; -+ const char *password; -+ size_t len; -+ -+ if (mconf->security != MESH_CONF_SEC_NONE) { -+ password = ssid->sae_password; -+ if (!password) -+ password = ssid->passphrase; -+ if (!password) { -+ wpa_printf(MSG_ERROR, -+ "mesh: Passphrase for SAE not configured"); -+ return -1; -+ } -+ -+ bss->conf->wpa = ssid->proto; -+ bss->conf->wpa_key_mgmt = ssid->key_mgmt; -+ -+ if (wpa_s->conf->sae_groups && -+ wpa_s->conf->sae_groups[0] > 0) { -+ wpas_mesh_copy_groups(bss, wpa_s); -+ } else { -+ bss->conf->sae_groups = -+ os_memdup(default_groups, -+ sizeof(default_groups)); -+ if (!bss->conf->sae_groups) -+ return -1; -+ } -+ -+ len = os_strlen(password); -+ bss->conf->ssid.wpa_passphrase = -+ dup_binstr(password, len); -+ -+ wpa_s->mesh_rsn = mesh_rsn_auth_init(wpa_s, mconf); -+ if (!wpa_s->mesh_rsn) -+ return -1; -+ } -+ -+ return 0; -+} -+ -+ - static int wpa_supplicant_mesh_init(struct wpa_supplicant *wpa_s, - struct wpa_ssid *ssid, - struct hostapd_freq_params *freq) -@@ -156,9 +203,6 @@ static int wpa_supplicant_mesh_init(stru - struct hostapd_config *conf; - struct mesh_conf *mconf; - int basic_rates_erp[] = { 10, 20, 55, 60, 110, 120, 240, -1 }; -- static int default_groups[] = { 19, 20, 21, 25, 26, -1 }; -- const char *password; -- size_t len; - int rate_len; - int frequency; - -@@ -292,38 +336,8 @@ static int wpa_supplicant_mesh_init(stru - return -1; - } - -- if (mconf->security != MESH_CONF_SEC_NONE) { -- password = ssid->sae_password; -- if (!password) -- password = ssid->passphrase; -- if (!password) { -- wpa_printf(MSG_ERROR, -- "mesh: Passphrase for SAE not configured"); -- goto out_free; -- } -- -- bss->conf->wpa = ssid->proto; -- bss->conf->wpa_key_mgmt = ssid->key_mgmt; -- -- if (wpa_s->conf->sae_groups && -- wpa_s->conf->sae_groups[0] > 0) { -- wpas_mesh_copy_groups(bss, wpa_s); -- } else { -- bss->conf->sae_groups = -- os_memdup(default_groups, -- sizeof(default_groups)); -- if (!bss->conf->sae_groups) -- goto out_free; -- } -- -- len = os_strlen(password); -- bss->conf->ssid.wpa_passphrase = -- dup_binstr(password, len); -- -- wpa_s->mesh_rsn = mesh_rsn_auth_init(wpa_s, mconf); -- if (!wpa_s->mesh_rsn) -- goto out_free; -- } -+ if (wpas_mesh_init_rsn(wpa_s)) -+ goto out_free; - - wpa_supplicant_conf_ap_ht(wpa_s, ssid, conf); - ---- a/wpa_supplicant/mesh.h -+++ b/wpa_supplicant/mesh.h -@@ -22,6 +22,7 @@ int wpas_mesh_peer_remove(struct wpa_sup - int wpas_mesh_peer_add(struct wpa_supplicant *wpa_s, const u8 *addr, - int duration); - void wpas_join_mesh(struct wpa_supplicant *wpa_s); -+int wpas_mesh_init_rsn(struct wpa_supplicant *wpa_s); - - #ifdef CONFIG_MESH - |