hostapd: Skip hostapd ACL check for drivers supporting ACL offload
Commit 0603bcb7fe
('hostapd: Process MAC
ACLs on a station association event (SME in driver)') processes MAC ACL
on a station association event for drivers which use AP SME offload but
does not consider the scenario where the drivers offload ACL. This can
result in station disconnection, though the driver accepts the
connection. Address this by avoiding the hostapd ACL check for the
drivers offloading MAC ACL.
Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
20c7d26f80
commit
bb4e19e3f4
1 changed files with 9 additions and 2 deletions
|
@ -116,8 +116,15 @@ int hostapd_notif_assoc(struct hostapd_data *hapd, const u8 *addr,
|
|||
}
|
||||
sta->flags &= ~(WLAN_STA_WPS | WLAN_STA_MAYBE_WPS | WLAN_STA_WPS2);
|
||||
|
||||
res = hostapd_check_acl(hapd, addr, NULL);
|
||||
if (res != HOSTAPD_ACL_ACCEPT) {
|
||||
/*
|
||||
* ACL configurations to the drivers (implementing AP SME and ACL
|
||||
* offload) without hostapd's knowledge, can result in a disconnection
|
||||
* though the driver accepts the connection. Skip the hostapd check for
|
||||
* ACL if the driver supports ACL offload to avoid potentially
|
||||
* conflicting ACL rules.
|
||||
*/
|
||||
if (hapd->iface->drv_max_acl_mac_addrs == 0 &&
|
||||
hostapd_check_acl(hapd, addr, NULL) != HOSTAPD_ACL_ACCEPT) {
|
||||
wpa_printf(MSG_INFO, "STA " MACSTR " not allowed to connect",
|
||||
MAC2STR(addr));
|
||||
reason = WLAN_REASON_UNSPECIFIED;
|
||||
|
|
Loading…
Reference in a new issue