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:
parent
f5ac428116
commit
fd0d738ff4
4 changed files with 17 additions and 10 deletions
|
@ -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 sta_info *sta;
|
||||||
struct vlan_description vlan_id;
|
struct vlan_description vlan_id;
|
||||||
|
|
||||||
if (hapd->conf->macaddr_acl != DENY_UNLESS_ACCEPTED)
|
if (hapd->conf->macaddr_acl != DENY_UNLESS_ACCEPTED)
|
||||||
return;
|
return 0;
|
||||||
|
|
||||||
for (sta = hapd->sta_list; sta; sta = sta->next) {
|
for (sta = hapd->sta_list; sta; sta = sta->next) {
|
||||||
if (!hostapd_maclist_found(hapd->conf->accept_mac,
|
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,
|
ap_sta_disconnect(hapd, sta, sta->addr,
|
||||||
WLAN_REASON_UNSPECIFIED);
|
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 sta_info *sta;
|
||||||
struct vlan_description vlan_id;
|
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,
|
ap_sta_disconnect(hapd, sta, sta->addr,
|
||||||
WLAN_REASON_UNSPECIFIED);
|
WLAN_REASON_UNSPECIFIED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -51,7 +51,7 @@ void hostapd_ctrl_iface_acl_clear_list(struct mac_acl_entry **acl,
|
||||||
int *num);
|
int *num);
|
||||||
int hostapd_ctrl_iface_acl_show_mac(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);
|
char *buf, size_t buflen);
|
||||||
void hostapd_disassoc_accept_mac(struct hostapd_data *hapd);
|
int hostapd_disassoc_accept_mac(struct hostapd_data *hapd);
|
||||||
void hostapd_disassoc_deny_mac(struct hostapd_data *hapd);
|
int hostapd_disassoc_deny_mac(struct hostapd_data *hapd);
|
||||||
|
|
||||||
#endif /* CTRL_IFACE_AP_H */
|
#endif /* CTRL_IFACE_AP_H */
|
||||||
|
|
|
@ -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;
|
struct hostapd_config *conf = hapd->iconf;
|
||||||
int err;
|
int err = 0;
|
||||||
u8 accept_acl;
|
u8 accept_acl;
|
||||||
|
|
||||||
if (hapd->iface->drv_max_acl_mac_addrs == 0)
|
if (hapd->iface->drv_max_acl_mac_addrs == 0)
|
||||||
return;
|
return 0;
|
||||||
|
|
||||||
if (conf->bss[0]->macaddr_acl == DENY_UNLESS_ACCEPTED) {
|
if (conf->bss[0]->macaddr_acl == DENY_UNLESS_ACCEPTED) {
|
||||||
accept_acl = 1;
|
accept_acl = 1;
|
||||||
|
@ -1474,7 +1474,7 @@ static void hostapd_set_acl(struct hostapd_data *hapd)
|
||||||
accept_acl);
|
accept_acl);
|
||||||
if (err) {
|
if (err) {
|
||||||
wpa_printf(MSG_DEBUG, "Failed to set accept acl");
|
wpa_printf(MSG_DEBUG, "Failed to set accept acl");
|
||||||
return;
|
return -1;
|
||||||
}
|
}
|
||||||
} else if (conf->bss[0]->macaddr_acl == ACCEPT_UNLESS_DENIED) {
|
} else if (conf->bss[0]->macaddr_acl == ACCEPT_UNLESS_DENIED) {
|
||||||
accept_acl = 0;
|
accept_acl = 0;
|
||||||
|
@ -1483,9 +1483,10 @@ static void hostapd_set_acl(struct hostapd_data *hapd)
|
||||||
accept_acl);
|
accept_acl);
|
||||||
if (err) {
|
if (err) {
|
||||||
wpa_printf(MSG_DEBUG, "Failed to set deny acl");
|
wpa_printf(MSG_DEBUG, "Failed to set deny acl");
|
||||||
return;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -709,4 +709,6 @@ void fst_hostapd_fill_iface_obj(struct hostapd_data *hapd,
|
||||||
struct fst_wpa_obj *iface_obj);
|
struct fst_wpa_obj *iface_obj);
|
||||||
#endif /* CONFIG_FST */
|
#endif /* CONFIG_FST */
|
||||||
|
|
||||||
|
int hostapd_set_acl(struct hostapd_data *hapd);
|
||||||
|
|
||||||
#endif /* HOSTAPD_H */
|
#endif /* HOSTAPD_H */
|
||||||
|
|
Loading…
Add table
Reference in a new issue