fragattacks/src/ap
Michael Braun c8e6beabb6 Remove VLAN interface on STA free
Currently, vlan_remove_dynamic() is only called when the station VLAN ID
is changed (ap_sta_bind_vlan), but not when the station is freed. So
dynamic VLAN interfaces are not removed actually except within 1x
reauthentification VLAN ID change, although most of the code is already
there.

This patch fixes this by calling vlan_remove_dynamic() in ap_free_sta().

It cannot just use sta->vlan_id for this, as this might have been
changed without calling ap_sta_bind_vlan() (ap/ieee802_11.c:handle_auth
fetches from RADIUS cache for WPA-PSK), thus reference counting might
not have been updated. Additionally, reference counting might get wrong
due to old_vlanid = 0 being passed unconditionally, thus increasing the
reference counter multiple times.

So tracking the currently assigned (i.e., dynamic_vlan counter
increased) VLAN is done in a new variable sta->vlan_id_bound. Therefore,
the old_vlan_id argument of ap_sta_bind_vlan() is no longer needed and
setting the VLAN for the sta in driver happens unconditionally.

Additionally, vlan->dynamic_vlan is only incremented when it actually
is a dynamic VLAN.

Signed-off-by: Michael Braun <michael-dev@fami-braun.de>
2015-04-13 17:08:10 +03:00
..
accounting.c Add Acct-Multi-Session-Id into RADIUS Accounting messages 2014-10-18 10:38:17 +03:00
accounting.h Add Acct-Session-Id into Access-Request messages 2012-12-18 18:13:31 +02:00
acs.c Extend offloaded ACS QCA vendor command to support VHT 2015-03-23 12:18:05 +02:00
acs.h Move declaration of hostapd_acs_completed() into correct header file 2013-12-31 19:34:43 +02:00
ap_config.c Extend offloaded ACS QCA vendor command to support VHT 2015-03-23 12:18:05 +02:00
ap_config.h vlan: Ignore multiple NEWLINK messages 2015-04-13 15:34:33 +03:00
ap_drv_ops.c atheros: Clear WPS appie during deinit 2015-03-24 15:05:43 +02:00
ap_drv_ops.h atheros: Clear WPS appie during deinit 2015-03-24 15:05:43 +02:00
ap_list.c Convert couple of remaining printf to wpa_printf in ap_list 2015-01-29 21:12:51 +02:00
ap_list.h AP: Use monotonic time for AP list 2013-12-07 20:50:15 -08:00
ap_mlme.c Remove unused STA entry information 2014-03-15 09:57:10 +02:00
ap_mlme.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
authsrv.c Improve error messages related to EAP DB 2015-03-28 13:16:26 +02:00
authsrv.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
beacon.c P2P: Allow configuring CTWindow when working as GO 2015-02-21 16:07:53 +02:00
beacon.h Remove obsolete license notifications 2013-12-24 22:59:52 +02:00
bss_load.c AP: Add support for BSS load element (STA Count, Channel Utilization) 2014-10-21 23:25:48 +03:00
bss_load.h AP: Add support for BSS load element (STA Count, Channel Utilization) 2014-10-21 23:25:48 +03:00
ctrl_iface_ap.c Add STOP_AP control interface command 2015-02-08 13:35:49 +02:00
ctrl_iface_ap.h Add STOP_AP control interface command 2015-02-08 13:35:49 +02:00
dfs.c Extend offloaded ACS QCA vendor command to support VHT 2015-03-23 12:18:05 +02:00
dfs.h DFS offload: Add main DFS handler for offloaded case 2015-03-05 17:21:30 +02:00
dhcp_snoop.c dhcp_snoop: Make IPv4 addresses human readable in debug log 2015-01-30 18:55:22 +02:00
dhcp_snoop.h AP: Add support for Proxy ARP, DHCP snooping mechanism 2014-10-28 01:08:29 +02:00
drv_callbacks.c Extend offloaded ACS QCA vendor command to support VHT 2015-03-23 12:18:05 +02:00
eap_user_db.c Improve error messages related to EAP DB 2015-03-28 13:16:26 +02:00
gas_serv.c Use os_calloc() instead of os_zalloc() 2014-12-08 11:42:07 +02:00
gas_serv.h GAS server: Remove incomplete remote ANQP processing 2014-03-13 21:12:39 +02:00
hostapd.c Extend offloaded ACS QCA vendor command to support VHT 2015-03-23 12:18:05 +02:00
hostapd.h Re-enable beaconing on interface disable+enable 2015-02-10 20:27:00 +02:00
hs20.c HS 2.0R2 AP: Add support for deauthentication request 2014-02-26 01:24:24 +02:00
hs20.h HS 2.0R2 AP: Add support for deauthentication request 2014-02-26 01:24:24 +02:00
hw_features.c Extend offloaded ACS QCA vendor command to support VHT 2015-03-23 12:18:05 +02:00
hw_features.h hostapd: Fix some compilation errors 2015-03-29 20:51:14 +03:00
iapp.c IAPP: Avoid warnings on unused write 2014-10-11 18:03:38 +03:00
iapp.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
ieee802_1x.c Remove VLAN interface on STA free 2015-04-13 17:08:10 +03:00
ieee802_1x.h ERP: Add ERP_FLUSH for hostapd 2014-12-14 15:47:04 +02:00
ieee802_11_auth.c Use monotonic clock for RADIUS cache timeouts 2013-12-07 20:50:15 -08:00
ieee802_11_auth.h Use a shared function for freeing PSK list 2012-11-25 18:01:55 +02:00
ieee802_11_ht.c Rename HT 20/40 coex variable to be more descriptive 2015-03-30 12:59:43 +03:00
ieee802_11_shared.c AP: Add support for Proxy ARP, DHCP snooping mechanism 2014-10-28 01:08:29 +02:00
ieee802_11_vht.c hostapd: Disable VHT caps for STAs when no valid VHT MCS found 2015-02-28 21:00:00 +02:00
ieee802_11.c Remove VLAN interface on STA free 2015-04-13 17:08:10 +03:00
ieee802_11.h hostapd: Add vendor specific VHT extension for the 2.4 GHz band 2015-01-14 00:59:22 +02:00
Makefile Add CONFIG_CODE_COVERAGE=y option for gcov 2013-11-24 19:16:12 +02:00
ndisc_snoop.c proxyarp: Relax frame length limit for RA and NA 2014-11-28 22:37:05 +02:00
ndisc_snoop.h proxyarp: Use C library header files and CONFIG_IPV6 2014-11-25 16:58:21 +02:00
p2p_hostapd.c Use P2P_IE_VENDOR_TYPE more consistently 2014-03-05 23:36:54 +02:00
p2p_hostapd.h Remove the GPL notification from files contributed by Atheros 2012-02-11 19:39:36 +02:00
peerkey_auth.c PeerKey: Clean up EAPOL-Key Key Data processing on AP 2014-11-23 21:03:40 +02:00
pmksa_cache_auth.c Add Suite B 192-bit AKM 2015-01-27 01:43:52 +02:00
pmksa_cache_auth.h RADIUS DAS: Allow PMKSA cache entry to be removed without association 2015-01-16 15:55:39 +02:00
preauth_auth.c Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
preauth_auth.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
sta_info.c Remove VLAN interface on STA free 2015-04-13 17:08:10 +03:00
sta_info.h Remove VLAN interface on STA free 2015-04-13 17:08:10 +03:00
tkip_countermeasures.c AP: Use monotonic time for MMIC failure/TKIP countermeasures 2013-12-24 07:13:34 +02:00
tkip_countermeasures.h hostapd: Fix a regression in TKIP countermeasures processing 2012-11-18 13:06:03 +02:00
utils.c Move hostapd global callback functions into hapd_interfaces 2012-08-25 13:47:05 +03:00
vlan_init.c vlan: Ignore multiple NEWLINK messages 2015-04-13 15:34:33 +03:00
vlan_init.h Remove obsolete license notifications 2013-12-24 22:59:52 +02:00
vlan_util.c Add option to use netlink to create and remove VLAN interfaces 2012-08-10 14:09:05 +03:00
vlan_util.h Add option to use netlink to create and remove VLAN interfaces 2012-08-10 14:09:05 +03:00
wmm.c Remove obsolete license notifications 2013-12-24 22:59:52 +02:00
wmm.h Remove obsolete license notifications 2013-12-24 22:59:52 +02:00
wnm_ap.c WNM: Fix possible memory leak by free buf 2015-01-20 02:14:19 +02:00
wnm_ap.h Add BSS_TM_REQ command to send BSS Transition Management Request 2014-11-22 16:34:34 +02:00
wpa_auth_ft.c Preparations for variable length KCK and KEK 2015-01-27 01:26:49 +02:00
wpa_auth_glue.c Add a AP mode event message for possible PSK/passphrase mismatch 2015-03-19 13:14:21 +02:00
wpa_auth_glue.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
wpa_auth_i.h Preparations for variable length KCK and KEK 2015-01-27 01:26:49 +02:00
wpa_auth_ie.c Add Suite B 192-bit AKM 2015-01-27 01:43:52 +02:00
wpa_auth_ie.h HS 2.0R2 AP: Add OSEN implementation 2014-02-26 01:24:24 +02:00
wpa_auth.c Add a AP mode event message for possible PSK/passphrase mismatch 2015-03-19 13:14:21 +02:00
wpa_auth.h Add a AP mode event message for possible PSK/passphrase mismatch 2015-03-19 13:14:21 +02:00
wps_hostapd.c atheros: Clear WPS appie during deinit 2015-03-24 15:05:43 +02:00
wps_hostapd.h WPS NFC: Add AP mode connection handover report 2014-01-27 21:10:55 +02:00
x_snoop.c AP: Enable multicast snooping on bridge if ProxyARP IPv6 is in use 2015-04-13 14:00:32 +03:00
x_snoop.h AP: Add multicast-to-unicast conversion send for "x_snoop" 2014-11-19 16:25:13 +02:00