Notify STA of disconnection based on ACL change
authorJouni Malinen <j@w1.fi>
Sun, 30 Mar 2014 07:48:32 +0000 (10:48 +0300)
committerJouni Malinen <j@w1.fi>
Sun, 30 Mar 2014 14:06:34 +0000 (17:06 +0300)
ap_sta_deauthenticate() does not necessarily send a Deauthentication
frame to the STA. Use ap_sta_disconnect() to drop the association so
that the notification frame goes out.

Signed-off-by: Jouni Malinen <j@w1.fi>
hostapd/ctrl_iface.c

index 4dddf80..6265265 100644 (file)
@@ -1090,8 +1090,8 @@ static int hostapd_ctrl_iface_set(struct hostapd_data *hapd, char *cmd)
                                            hapd->conf->num_deny_mac, sta->addr,
                                            &vlan_id) &&
                                    (!vlan_id || vlan_id == sta->vlan_id))
-                                       ap_sta_deauthenticate(
-                                               hapd, sta,
+                                       ap_sta_disconnect(
+                                               hapd, sta, sta->addr,
                                                WLAN_REASON_UNSPECIFIED);
                        }
                } else if (hapd->conf->macaddr_acl == DENY_UNLESS_ACCEPTED &&
@@ -1102,8 +1102,8 @@ static int hostapd_ctrl_iface_set(struct hostapd_data *hapd, char *cmd)
                                            hapd->conf->num_accept_mac,
                                            sta->addr, &vlan_id) ||
                                    (vlan_id && vlan_id != sta->vlan_id))
-                                       ap_sta_deauthenticate(
-                                               hapd, sta,
+                                       ap_sta_disconnect(
+                                               hapd, sta, sta->addr,
                                                WLAN_REASON_UNSPECIFIED);
                        }
                }