Add a hostapd testing option for skipping association pruning
The new skip_prune_assoc=1 parameter can be used to configure hostapd not to prune associations from other BSSs operated by the same process when a station associates with another BSS. This can be helpful in testing roaming cases where association and authorization state is maintained in an AP when the stations returns. Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
1a18f8df63
commit
54e2961f80
3 changed files with 7 additions and 0 deletions
|
@ -4206,6 +4206,8 @@ static int hostapd_config_fill(struct hostapd_config *conf,
|
||||||
bss->igtk_rsc_override = wpabuf_parse_bin(pos);
|
bss->igtk_rsc_override = wpabuf_parse_bin(pos);
|
||||||
} else if (os_strcmp(buf, "no_beacon_rsnxe") == 0) {
|
} else if (os_strcmp(buf, "no_beacon_rsnxe") == 0) {
|
||||||
bss->no_beacon_rsnxe = atoi(pos);
|
bss->no_beacon_rsnxe = atoi(pos);
|
||||||
|
} else if (os_strcmp(buf, "skip_prune_assoc") == 0) {
|
||||||
|
bss->skip_prune_assoc = atoi(pos);
|
||||||
#endif /* CONFIG_TESTING_OPTIONS */
|
#endif /* CONFIG_TESTING_OPTIONS */
|
||||||
#ifdef CONFIG_SAE
|
#ifdef CONFIG_SAE
|
||||||
} else if (os_strcmp(buf, "sae_password") == 0) {
|
} else if (os_strcmp(buf, "sae_password") == 0) {
|
||||||
|
|
|
@ -685,6 +685,7 @@ struct hostapd_bss_config {
|
||||||
struct wpabuf *gtk_rsc_override;
|
struct wpabuf *gtk_rsc_override;
|
||||||
struct wpabuf *igtk_rsc_override;
|
struct wpabuf *igtk_rsc_override;
|
||||||
int no_beacon_rsnxe;
|
int no_beacon_rsnxe;
|
||||||
|
int skip_prune_assoc;
|
||||||
#endif /* CONFIG_TESTING_OPTIONS */
|
#endif /* CONFIG_TESTING_OPTIONS */
|
||||||
|
|
||||||
#define MESH_ENABLED BIT(0)
|
#define MESH_ENABLED BIT(0)
|
||||||
|
|
|
@ -56,6 +56,10 @@ static int prune_associations(struct hostapd_iface *iface, void *ctx)
|
||||||
ohapd = iface->bss[j];
|
ohapd = iface->bss[j];
|
||||||
if (ohapd == data->hapd)
|
if (ohapd == data->hapd)
|
||||||
continue;
|
continue;
|
||||||
|
#ifdef CONFIG_TESTING_OPTIONS
|
||||||
|
if (ohapd->conf->skip_prune_assoc)
|
||||||
|
continue;
|
||||||
|
#endif /* CONFIG_TESTING_OPTIONS */
|
||||||
#ifdef CONFIG_FST
|
#ifdef CONFIG_FST
|
||||||
/* Don't prune STAs belong to same FST */
|
/* Don't prune STAs belong to same FST */
|
||||||
if (ohapd->iface->fst &&
|
if (ohapd->iface->fst &&
|
||||||
|
|
Loading…
Reference in a new issue