|
@@ -24,8 +24,6 @@ Signed-off-by: Daniel Golle <[email protected]>
|
|
wpa_supplicant/wpa_supplicant.conf | 6 ++++++
|
|
wpa_supplicant/wpa_supplicant.conf | 6 ++++++
|
|
10 files changed, 37 insertions(+), 2 deletions(-)
|
|
10 files changed, 37 insertions(+), 2 deletions(-)
|
|
|
|
|
|
-diff --git a/src/ap/ap_config.h b/src/ap/ap_config.h
|
|
|
|
-index 03ab80d43..804385e93 100644
|
|
|
|
--- a/src/ap/ap_config.h
|
|
--- a/src/ap/ap_config.h
|
|
+++ b/src/ap/ap_config.h
|
|
+++ b/src/ap/ap_config.h
|
|
@@ -49,6 +49,7 @@ struct mesh_conf {
|
|
@@ -49,6 +49,7 @@ struct mesh_conf {
|
|
@@ -44,8 +42,6 @@ index 03ab80d43..804385e93 100644
|
|
|
|
|
|
u8 radio_measurements[RRM_CAPABILITIES_IE_LEN];
|
|
u8 radio_measurements[RRM_CAPABILITIES_IE_LEN];
|
|
|
|
|
|
-diff --git a/src/drivers/driver.h b/src/drivers/driver.h
|
|
|
|
-index 6c9245584..7f1ec3697 100644
|
|
|
|
--- a/src/drivers/driver.h
|
|
--- a/src/drivers/driver.h
|
|
+++ b/src/drivers/driver.h
|
|
+++ b/src/drivers/driver.h
|
|
@@ -1363,6 +1363,7 @@ struct wpa_driver_mesh_bss_params {
|
|
@@ -1363,6 +1363,7 @@ struct wpa_driver_mesh_bss_params {
|
|
@@ -64,11 +60,9 @@ index 6c9245584..7f1ec3697 100644
|
|
u16 ht_opmode;
|
|
u16 ht_opmode;
|
|
};
|
|
};
|
|
|
|
|
|
-diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c
|
|
|
|
-index e9cb4ae2f..f3de61886 100644
|
|
|
|
--- a/src/drivers/driver_nl80211.c
|
|
--- a/src/drivers/driver_nl80211.c
|
|
+++ b/src/drivers/driver_nl80211.c
|
|
+++ b/src/drivers/driver_nl80211.c
|
|
-@@ -9197,6 +9197,9 @@ static int nl80211_put_mesh_config(struct nl_msg *msg,
|
|
|
|
|
|
+@@ -9197,6 +9197,9 @@ static int nl80211_put_mesh_config(struc
|
|
if (((params->flags & WPA_DRIVER_MESH_CONF_FLAG_AUTO_PLINKS) &&
|
|
if (((params->flags & WPA_DRIVER_MESH_CONF_FLAG_AUTO_PLINKS) &&
|
|
nla_put_u8(msg, NL80211_MESHCONF_AUTO_OPEN_PLINKS,
|
|
nla_put_u8(msg, NL80211_MESHCONF_AUTO_OPEN_PLINKS,
|
|
params->auto_plinks)) ||
|
|
params->auto_plinks)) ||
|
|
@@ -78,11 +72,9 @@ index e9cb4ae2f..f3de61886 100644
|
|
((params->flags & WPA_DRIVER_MESH_CONF_FLAG_MAX_PEER_LINKS) &&
|
|
((params->flags & WPA_DRIVER_MESH_CONF_FLAG_MAX_PEER_LINKS) &&
|
|
nla_put_u16(msg, NL80211_MESHCONF_MAX_PEER_LINKS,
|
|
nla_put_u16(msg, NL80211_MESHCONF_MAX_PEER_LINKS,
|
|
params->max_peer_links)) ||
|
|
params->max_peer_links)) ||
|
|
-diff --git a/wpa_supplicant/config.c b/wpa_supplicant/config.c
|
|
|
|
-index a0b8cd007..0212e3f86 100644
|
|
|
|
--- a/wpa_supplicant/config.c
|
|
--- a/wpa_supplicant/config.c
|
|
+++ b/wpa_supplicant/config.c
|
|
+++ b/wpa_supplicant/config.c
|
|
-@@ -2211,6 +2211,7 @@ static const struct parse_data ssid_fields[] = {
|
|
|
|
|
|
+@@ -2211,6 +2211,7 @@ static const struct parse_data ssid_fiel
|
|
#ifdef CONFIG_MESH
|
|
#ifdef CONFIG_MESH
|
|
{ INT_RANGE(mode, 0, 5) },
|
|
{ INT_RANGE(mode, 0, 5) },
|
|
{ INT_RANGE(no_auto_peer, 0, 1) },
|
|
{ INT_RANGE(no_auto_peer, 0, 1) },
|
|
@@ -90,7 +82,7 @@ index a0b8cd007..0212e3f86 100644
|
|
{ INT_RANGE(mesh_rssi_threshold, -255, 1) },
|
|
{ INT_RANGE(mesh_rssi_threshold, -255, 1) },
|
|
#else /* CONFIG_MESH */
|
|
#else /* CONFIG_MESH */
|
|
{ INT_RANGE(mode, 0, 4) },
|
|
{ INT_RANGE(mode, 0, 4) },
|
|
-@@ -2757,6 +2758,7 @@ void wpa_config_set_network_defaults(struct wpa_ssid *ssid)
|
|
|
|
|
|
+@@ -2757,6 +2758,7 @@ void wpa_config_set_network_defaults(str
|
|
ssid->dot11MeshRetryTimeout = DEFAULT_MESH_RETRY_TIMEOUT;
|
|
ssid->dot11MeshRetryTimeout = DEFAULT_MESH_RETRY_TIMEOUT;
|
|
ssid->dot11MeshConfirmTimeout = DEFAULT_MESH_CONFIRM_TIMEOUT;
|
|
ssid->dot11MeshConfirmTimeout = DEFAULT_MESH_CONFIRM_TIMEOUT;
|
|
ssid->dot11MeshHoldingTimeout = DEFAULT_MESH_HOLDING_TIMEOUT;
|
|
ssid->dot11MeshHoldingTimeout = DEFAULT_MESH_HOLDING_TIMEOUT;
|
|
@@ -98,7 +90,7 @@ index a0b8cd007..0212e3f86 100644
|
|
ssid->mesh_rssi_threshold = DEFAULT_MESH_RSSI_THRESHOLD;
|
|
ssid->mesh_rssi_threshold = DEFAULT_MESH_RSSI_THRESHOLD;
|
|
#endif /* CONFIG_MESH */
|
|
#endif /* CONFIG_MESH */
|
|
#ifdef CONFIG_HT_OVERRIDES
|
|
#ifdef CONFIG_HT_OVERRIDES
|
|
-@@ -3886,6 +3888,7 @@ struct wpa_config * wpa_config_alloc_empty(const char *ctrl_interface,
|
|
|
|
|
|
+@@ -3886,6 +3888,7 @@ struct wpa_config * wpa_config_alloc_emp
|
|
config->user_mpm = DEFAULT_USER_MPM;
|
|
config->user_mpm = DEFAULT_USER_MPM;
|
|
config->max_peer_links = DEFAULT_MAX_PEER_LINKS;
|
|
config->max_peer_links = DEFAULT_MAX_PEER_LINKS;
|
|
config->mesh_max_inactivity = DEFAULT_MESH_MAX_INACTIVITY;
|
|
config->mesh_max_inactivity = DEFAULT_MESH_MAX_INACTIVITY;
|
|
@@ -106,7 +98,7 @@ index a0b8cd007..0212e3f86 100644
|
|
config->dot11RSNASAERetransPeriod =
|
|
config->dot11RSNASAERetransPeriod =
|
|
DEFAULT_DOT11_RSNA_SAE_RETRANS_PERIOD;
|
|
DEFAULT_DOT11_RSNA_SAE_RETRANS_PERIOD;
|
|
config->fast_reauth = DEFAULT_FAST_REAUTH;
|
|
config->fast_reauth = DEFAULT_FAST_REAUTH;
|
|
-@@ -4508,6 +4511,7 @@ static const struct global_parse_data global_fields[] = {
|
|
|
|
|
|
+@@ -4508,6 +4511,7 @@ static const struct global_parse_data gl
|
|
{ INT(user_mpm), 0 },
|
|
{ INT(user_mpm), 0 },
|
|
{ INT_RANGE(max_peer_links, 0, 255), 0 },
|
|
{ INT_RANGE(max_peer_links, 0, 255), 0 },
|
|
{ INT(mesh_max_inactivity), 0 },
|
|
{ INT(mesh_max_inactivity), 0 },
|
|
@@ -114,8 +106,6 @@ index a0b8cd007..0212e3f86 100644
|
|
{ INT(dot11RSNASAERetransPeriod), 0 },
|
|
{ INT(dot11RSNASAERetransPeriod), 0 },
|
|
#endif /* CONFIG_MESH */
|
|
#endif /* CONFIG_MESH */
|
|
{ INT(disable_scan_offload), 0 },
|
|
{ INT(disable_scan_offload), 0 },
|
|
-diff --git a/wpa_supplicant/config.h b/wpa_supplicant/config.h
|
|
|
|
-index 05c4f8fb9..491d8aa5c 100644
|
|
|
|
--- a/wpa_supplicant/config.h
|
|
--- a/wpa_supplicant/config.h
|
|
+++ b/wpa_supplicant/config.h
|
|
+++ b/wpa_supplicant/config.h
|
|
@@ -18,6 +18,7 @@
|
|
@@ -18,6 +18,7 @@
|
|
@@ -135,11 +125,9 @@ index 05c4f8fb9..491d8aa5c 100644
|
|
/**
|
|
/**
|
|
* dot11RSNASAERetransPeriod - Timeout to retransmit SAE Auth frame
|
|
* dot11RSNASAERetransPeriod - Timeout to retransmit SAE Auth frame
|
|
*
|
|
*
|
|
-diff --git a/wpa_supplicant/config_file.c b/wpa_supplicant/config_file.c
|
|
|
|
-index 5a7186961..c4112b3ff 100644
|
|
|
|
--- a/wpa_supplicant/config_file.c
|
|
--- a/wpa_supplicant/config_file.c
|
|
+++ b/wpa_supplicant/config_file.c
|
|
+++ b/wpa_supplicant/config_file.c
|
|
-@@ -816,6 +816,7 @@ static void wpa_config_write_network(FILE *f, struct wpa_ssid *ssid)
|
|
|
|
|
|
+@@ -816,6 +816,7 @@ static void wpa_config_write_network(FIL
|
|
#endif /* IEEE8021X_EAPOL */
|
|
#endif /* IEEE8021X_EAPOL */
|
|
INT(mode);
|
|
INT(mode);
|
|
INT(no_auto_peer);
|
|
INT(no_auto_peer);
|
|
@@ -147,7 +135,7 @@ index 5a7186961..c4112b3ff 100644
|
|
INT(frequency);
|
|
INT(frequency);
|
|
INT(fixed_freq);
|
|
INT(fixed_freq);
|
|
#ifdef CONFIG_ACS
|
|
#ifdef CONFIG_ACS
|
|
-@@ -1433,6 +1434,9 @@ static void wpa_config_write_global(FILE *f, struct wpa_config *config)
|
|
|
|
|
|
+@@ -1433,6 +1434,9 @@ static void wpa_config_write_global(FILE
|
|
fprintf(f, "mesh_max_inactivity=%d\n",
|
|
fprintf(f, "mesh_max_inactivity=%d\n",
|
|
config->mesh_max_inactivity);
|
|
config->mesh_max_inactivity);
|
|
|
|
|
|
@@ -157,8 +145,6 @@ index 5a7186961..c4112b3ff 100644
|
|
if (config->dot11RSNASAERetransPeriod !=
|
|
if (config->dot11RSNASAERetransPeriod !=
|
|
DEFAULT_DOT11_RSNA_SAE_RETRANS_PERIOD)
|
|
DEFAULT_DOT11_RSNA_SAE_RETRANS_PERIOD)
|
|
fprintf(f, "dot11RSNASAERetransPeriod=%d\n",
|
|
fprintf(f, "dot11RSNASAERetransPeriod=%d\n",
|
|
-diff --git a/wpa_supplicant/config_ssid.h b/wpa_supplicant/config_ssid.h
|
|
|
|
-index 87a45c435..24d1848e0 100644
|
|
|
|
--- a/wpa_supplicant/config_ssid.h
|
|
--- a/wpa_supplicant/config_ssid.h
|
|
+++ b/wpa_supplicant/config_ssid.h
|
|
+++ b/wpa_supplicant/config_ssid.h
|
|
@@ -492,6 +492,11 @@ struct wpa_ssid {
|
|
@@ -492,6 +492,11 @@ struct wpa_ssid {
|
|
@@ -173,11 +159,9 @@ index 87a45c435..24d1848e0 100644
|
|
int ht;
|
|
int ht;
|
|
int ht40;
|
|
int ht40;
|
|
|
|
|
|
-diff --git a/wpa_supplicant/mesh.c b/wpa_supplicant/mesh.c
|
|
|
|
-index 3c2ee97da..22c10a015 100644
|
|
|
|
--- a/wpa_supplicant/mesh.c
|
|
--- a/wpa_supplicant/mesh.c
|
|
+++ b/wpa_supplicant/mesh.c
|
|
+++ b/wpa_supplicant/mesh.c
|
|
-@@ -121,6 +121,7 @@ static struct mesh_conf * mesh_config_create(struct wpa_supplicant *wpa_s,
|
|
|
|
|
|
+@@ -121,6 +121,7 @@ static struct mesh_conf * mesh_config_cr
|
|
conf->mesh_cc_id = 0;
|
|
conf->mesh_cc_id = 0;
|
|
conf->mesh_sp_id = MESH_SYNC_METHOD_NEIGHBOR_OFFSET;
|
|
conf->mesh_sp_id = MESH_SYNC_METHOD_NEIGHBOR_OFFSET;
|
|
conf->mesh_auth_id = (conf->security & MESH_CONF_SEC_AUTH) ? 1 : 0;
|
|
conf->mesh_auth_id = (conf->security & MESH_CONF_SEC_AUTH) ? 1 : 0;
|
|
@@ -185,7 +169,7 @@ index 3c2ee97da..22c10a015 100644
|
|
conf->dot11MeshMaxRetries = ssid->dot11MeshMaxRetries;
|
|
conf->dot11MeshMaxRetries = ssid->dot11MeshMaxRetries;
|
|
conf->dot11MeshRetryTimeout = ssid->dot11MeshRetryTimeout;
|
|
conf->dot11MeshRetryTimeout = ssid->dot11MeshRetryTimeout;
|
|
conf->dot11MeshConfirmTimeout = ssid->dot11MeshConfirmTimeout;
|
|
conf->dot11MeshConfirmTimeout = ssid->dot11MeshConfirmTimeout;
|
|
-@@ -254,6 +255,7 @@ static int wpa_supplicant_mesh_init(struct wpa_supplicant *wpa_s,
|
|
|
|
|
|
+@@ -256,6 +257,7 @@ static int wpa_supplicant_mesh_init(stru
|
|
bss->conf->start_disabled = 1;
|
|
bss->conf->start_disabled = 1;
|
|
bss->conf->mesh = MESH_ENABLED;
|
|
bss->conf->mesh = MESH_ENABLED;
|
|
bss->conf->ap_max_inactivity = wpa_s->conf->mesh_max_inactivity;
|
|
bss->conf->ap_max_inactivity = wpa_s->conf->mesh_max_inactivity;
|
|
@@ -193,7 +177,7 @@ index 3c2ee97da..22c10a015 100644
|
|
|
|
|
|
if (ieee80211_is_dfs(ssid->frequency) && wpa_s->conf->country[0]) {
|
|
if (ieee80211_is_dfs(ssid->frequency) && wpa_s->conf->country[0]) {
|
|
conf->ieee80211h = 1;
|
|
conf->ieee80211h = 1;
|
|
-@@ -506,6 +508,10 @@ int wpa_supplicant_join_mesh(struct wpa_supplicant *wpa_s,
|
|
|
|
|
|
+@@ -508,6 +510,10 @@ int wpa_supplicant_join_mesh(struct wpa_
|
|
}
|
|
}
|
|
params->conf.peer_link_timeout = wpa_s->conf->mesh_max_inactivity;
|
|
params->conf.peer_link_timeout = wpa_s->conf->mesh_max_inactivity;
|
|
|
|
|
|
@@ -204,11 +188,9 @@ index 3c2ee97da..22c10a015 100644
|
|
wpa_s->mesh_params = params;
|
|
wpa_s->mesh_params = params;
|
|
if (wpa_supplicant_mesh_init(wpa_s, ssid, ¶ms->freq)) {
|
|
if (wpa_supplicant_mesh_init(wpa_s, ssid, ¶ms->freq)) {
|
|
wpa_msg(wpa_s, MSG_ERROR, "Failed to init mesh");
|
|
wpa_msg(wpa_s, MSG_ERROR, "Failed to init mesh");
|
|
-diff --git a/wpa_supplicant/mesh_mpm.c b/wpa_supplicant/mesh_mpm.c
|
|
|
|
-index bc3cc5ef9..e7058e646 100644
|
|
|
|
--- a/wpa_supplicant/mesh_mpm.c
|
|
--- a/wpa_supplicant/mesh_mpm.c
|
|
+++ b/wpa_supplicant/mesh_mpm.c
|
|
+++ b/wpa_supplicant/mesh_mpm.c
|
|
-@@ -288,9 +288,9 @@ static void mesh_mpm_send_plink_action(struct wpa_supplicant *wpa_s,
|
|
|
|
|
|
+@@ -288,9 +288,9 @@ static void mesh_mpm_send_plink_action(s
|
|
info = (bss->num_plinks > 63 ? 63 : bss->num_plinks) << 1;
|
|
info = (bss->num_plinks > 63 ? 63 : bss->num_plinks) << 1;
|
|
/* TODO: Add Connected to Mesh Gate/AS subfields */
|
|
/* TODO: Add Connected to Mesh Gate/AS subfields */
|
|
wpabuf_put_u8(buf, info);
|
|
wpabuf_put_u8(buf, info);
|
|
@@ -220,8 +202,6 @@ index bc3cc5ef9..e7058e646 100644
|
|
} else { /* Peer closing frame */
|
|
} else { /* Peer closing frame */
|
|
/* IE: Mesh ID */
|
|
/* IE: Mesh ID */
|
|
wpabuf_put_u8(buf, WLAN_EID_MESH_ID);
|
|
wpabuf_put_u8(buf, WLAN_EID_MESH_ID);
|
|
-diff --git a/wpa_supplicant/wpa_supplicant.conf b/wpa_supplicant/wpa_supplicant.conf
|
|
|
|
-index 972e7e73d..e1c475f37 100644
|
|
|
|
--- a/wpa_supplicant/wpa_supplicant.conf
|
|
--- a/wpa_supplicant/wpa_supplicant.conf
|
|
+++ b/wpa_supplicant/wpa_supplicant.conf
|
|
+++ b/wpa_supplicant/wpa_supplicant.conf
|
|
@@ -153,6 +153,12 @@ ap_scan=1
|
|
@@ -153,6 +153,12 @@ ap_scan=1
|
|
@@ -237,6 +217,3 @@ index 972e7e73d..e1c475f37 100644
|
|
# cert_in_cb - Whether to include a peer certificate dump in events
|
|
# cert_in_cb - Whether to include a peer certificate dump in events
|
|
# This controls whether peer certificates for authentication server and
|
|
# This controls whether peer certificates for authentication server and
|
|
# its certificate chain are included in EAP peer certificate events. This is
|
|
# its certificate chain are included in EAP peer certificate events. This is
|
|
---
|
|
|
|
-2.17.0
|
|
|
|
-
|
|
|