Add return value to ACL functions

While these do not return error code within the current hostapd
implementation, matching functions in wpa_supplicant AP functionality
will have an error case and using consistent return type will make the
control interface code more consistent.

In addition, export hostapd_set_acl() in preparation for the
wpa_supplicant control interface implementation extension.

Signed-off-by: Chaoli Zhou <quic_zchaoli@quicinc.com>
This commit is contained in:
Chaoli Zhou 2022-03-24 15:19:25 +08:00 committed by Jouni Malinen
parent f5ac428116
commit fd0d738ff4
4 changed files with 17 additions and 10 deletions

View file

@ -1357,13 +1357,13 @@ int hostapd_ctrl_iface_acl_add_mac(struct mac_acl_entry **acl, int *num,
}
void hostapd_disassoc_accept_mac(struct hostapd_data *hapd)
int hostapd_disassoc_accept_mac(struct hostapd_data *hapd)
{
struct sta_info *sta;
struct vlan_description vlan_id;
if (hapd->conf->macaddr_acl != DENY_UNLESS_ACCEPTED)
return;
return 0;
for (sta = hapd->sta_list; sta; sta = sta->next) {
if (!hostapd_maclist_found(hapd->conf->accept_mac,
@ -1374,10 +1374,12 @@ void hostapd_disassoc_accept_mac(struct hostapd_data *hapd)
ap_sta_disconnect(hapd, sta, sta->addr,
WLAN_REASON_UNSPECIFIED);
}
return 0;
}
void hostapd_disassoc_deny_mac(struct hostapd_data *hapd)
int hostapd_disassoc_deny_mac(struct hostapd_data *hapd)
{
struct sta_info *sta;
struct vlan_description vlan_id;
@ -1391,4 +1393,6 @@ void hostapd_disassoc_deny_mac(struct hostapd_data *hapd)
ap_sta_disconnect(hapd, sta, sta->addr,
WLAN_REASON_UNSPECIFIED);
}
return 0;
}

View file

@ -51,7 +51,7 @@ void hostapd_ctrl_iface_acl_clear_list(struct mac_acl_entry **acl,
int *num);
int hostapd_ctrl_iface_acl_show_mac(struct mac_acl_entry *acl, int num,
char *buf, size_t buflen);
void hostapd_disassoc_accept_mac(struct hostapd_data *hapd);
void hostapd_disassoc_deny_mac(struct hostapd_data *hapd);
int hostapd_disassoc_accept_mac(struct hostapd_data *hapd);
int hostapd_disassoc_deny_mac(struct hostapd_data *hapd);
#endif /* CTRL_IFACE_AP_H */

View file

@ -1458,14 +1458,14 @@ static int hostapd_set_acl_list(struct hostapd_data *hapd,
}
static void hostapd_set_acl(struct hostapd_data *hapd)
int hostapd_set_acl(struct hostapd_data *hapd)
{
struct hostapd_config *conf = hapd->iconf;
int err;
int err = 0;
u8 accept_acl;
if (hapd->iface->drv_max_acl_mac_addrs == 0)
return;
return 0;
if (conf->bss[0]->macaddr_acl == DENY_UNLESS_ACCEPTED) {
accept_acl = 1;
@ -1474,7 +1474,7 @@ static void hostapd_set_acl(struct hostapd_data *hapd)
accept_acl);
if (err) {
wpa_printf(MSG_DEBUG, "Failed to set accept acl");
return;
return -1;
}
} else if (conf->bss[0]->macaddr_acl == ACCEPT_UNLESS_DENIED) {
accept_acl = 0;
@ -1483,9 +1483,10 @@ static void hostapd_set_acl(struct hostapd_data *hapd)
accept_acl);
if (err) {
wpa_printf(MSG_DEBUG, "Failed to set deny acl");
return;
return -1;
}
}
return err;
}

View file

@ -709,4 +709,6 @@ void fst_hostapd_fill_iface_obj(struct hostapd_data *hapd,
struct fst_wpa_obj *iface_obj);
#endif /* CONFIG_FST */
int hostapd_set_acl(struct hostapd_data *hapd);
#endif /* HOSTAPD_H */