hostapd/src/ap
Neo Jou d9286d0997 ACS: Stop before scan if no channels in chanlist are available
When we set "channel=0" in hostapd.conf to enable ACS function, and set
a wrong channel list, e.g., chanlist=222-999 on purpose, hostapd would
still start ACS process to compute the ideal channel, even when there
are no available channels with such configuration.

Though there is no problem since hostapd fails to initialize interface,
it spends time going through the scan and the debug log entries may make
it more difficult to tell what was behind the failure.

Thus, check if there are any available channels in acs_request_scan(),
and return -1 if no available channel, then it will fail at acs_init(),
without doing ACS computation. It will show the following in the log:
    Could not select hw_mode and channel. (-3)
    wlan0: interface state UNINITIALIZED->DISABLED

Then we can know the setting is incorrect already in
hostapd_select_hw_mode(), instead of waiting for scan callback function
to know if the setting is ok for ACS or not. This can save time and help
to tell if the setting is correct at the initial function at the first.
This will also allow the ENABLE control interface command to return FAIL
when adding an interface dynamically.

Signed-off-by: Neo Jou <neojou@gmail.com>
2019-09-19 12:09:47 +03:00
..
accounting.c Extra RADIUS request attributes from SQLite 2019-07-30 19:58:09 +03:00
accounting.h RADIUS: Use more likely unique accounting Acct-{,Multi-}Session-Id 2016-02-06 17:10:19 +02:00
acs.c ACS: Stop before scan if no channels in chanlist are available 2019-09-19 12:09:47 +03:00
acs.h ACS: Fix memory leak if interface is disabled during scan 2017-03-04 17:30:15 +02:00
airtime_policy.c hostapd: Add airtime policy configuration support 2019-05-02 14:57:43 +03:00
airtime_policy.h hostapd: Add airtime policy configuration support 2019-05-02 14:57:43 +03:00
ap_config.c DPP: Allow name and mudurl to be configured for Config Request 2019-09-19 00:21:47 +03:00
ap_config.h DPP: Allow name and mudurl to be configured for Config Request 2019-09-19 00:21:47 +03:00
ap_drv_ops.c Remove CONFIG_IEEE80211W build parameter 2019-09-08 17:33:40 +03:00
ap_drv_ops.h hostapd: Process OWE IE and update DH IE to the driver if needed 2019-06-14 23:10:51 +03:00
ap_list.c Move ap_list_timer() to use common AP periodic cleanup mechanism 2015-07-20 13:42:35 +03:00
ap_list.h Move ap_list_timer() to use common AP periodic cleanup mechanism 2015-07-20 13:42:35 +03:00
ap_mlme.c FILS: Do not clear PTK on FILS Auth/Assoc (AP) 2016-10-22 18:11:14 +03:00
ap_mlme.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
authsrv.c EAP server: Configurable maximum number of authentication message rounds 2019-09-01 17:19:35 +03:00
authsrv.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
beacon.c HE: Send the AP's OBSS PD settings to the kernel 2019-09-10 14:00:14 +03:00
beacon.h hostapd: Added signal level to STA tracking 2016-10-29 00:55:49 +03:00
bss_load.c hostapd: Add average channel utilization in STATUS 2017-12-12 00:48:27 +02: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 Indicate ieee80211ax configuration in hostapd STATUS output 2019-04-26 15:06:30 +03:00
ctrl_iface_ap.h DPP: Allow PMKSA cache entries to be added through hostapd ctrl_iface 2017-06-19 21:13:17 +03:00
dfs.c DFS offload: Fix hostapd state and CAC info in STATUS output 2019-09-02 12:29:10 +03:00
dfs.h DFS: Handle pre-CAC expired event 2017-03-09 17:01:50 +02:00
dhcp_snoop.c HS 2.0: DHCP broadcast-to-unicast conversion before address learning 2018-12-30 01:05:18 +02:00
dhcp_snoop.h AP: Add support for Proxy ARP, DHCP snooping mechanism 2014-10-28 01:08:29 +02:00
dpp_hostapd.c DPP: Add bandSupport JSON array into config request 2019-09-19 00:21:47 +03:00
dpp_hostapd.h DPP2: hostapd as TCP Relay 2019-04-22 21:08:59 +03:00
drv_callbacks.c AP: Silently ignore management frame from unexpected source address 2019-09-11 12:28:37 +03:00
eap_user_db.c Check snprintf result to avoid compiler warnings 2018-12-24 11:09:22 +02:00
eth_p_oui.c FT: Replace inter-AP protocol with use of OUI Extended Ethertype 2017-05-03 18:30:31 +03:00
eth_p_oui.h FT: Replace inter-AP protocol with use of OUI Extended Ethertype 2017-05-03 18:30:31 +03:00
fils_hlp.c FILS: Do not process FILS HLP request again while previous one is pending 2018-12-07 16:03:40 +02:00
fils_hlp.h FILS: DHCP relay for HLP requests 2017-02-01 18:17:39 +02:00
gas_query_ap.c DPP: Integration for hostapd 2017-06-19 21:13:17 +03:00
gas_query_ap.h DPP: Integration for hostapd 2017-06-19 21:13:17 +03:00
gas_serv.c DPP2: hostapd as TCP Relay 2019-04-22 21:08:59 +03:00
gas_serv.h DPP2: hostapd as TCP Relay 2019-04-22 21:08:59 +03:00
hostapd.c Remove IAPP functionality from hostapd 2019-09-11 13:11:03 +03:00
hostapd.h Remove IAPP functionality from hostapd 2019-09-11 13:11:03 +03:00
hs20.c Remove CONFIG_IEEE80211W build parameter 2019-09-08 17:33:40 +03:00
hs20.h HS 2.0: Move Terms and Conditions Server URL generation from AP to AS 2018-06-21 20:50:54 +03:00
hw_features.c HE: Verify supported capabilities 2019-05-27 17:42:40 +03:00
hw_features.h hostapd: Fix some compilation errors 2015-03-29 20:51:14 +03:00
ieee802_1x.c Remove CONFIG_IEEE80211W build parameter 2019-09-08 17:33:40 +03:00
ieee802_1x.h Extra RADIUS request attributes from SQLite 2019-07-30 19:58:09 +03:00
ieee802_11.c More consistent SA check for unexpected Data frames 2019-09-17 12:38:15 +03:00
ieee802_11.h nl80211: Add driver multi iftype HE capability parsing 2019-06-23 18:03:51 +03:00
ieee802_11_auth.c Allow remote RADIUS authentication with local VLAN management 2019-01-02 23:27:49 +02:00
ieee802_11_auth.h Extend ACL check for Probe Request frames 2018-03-03 00:42:16 +02:00
ieee802_11_he.c HE: Fix HE Capabilities element size 2019-08-30 15:59:20 +03:00
ieee802_11_ht.c Do not disable 40 MHz based on co-ex report with matching primary channel 2018-03-21 16:58:05 +02:00
ieee802_11_shared.c Remove CONFIG_IEEE80211W build parameter 2019-09-08 17:33:40 +03:00
ieee802_11_vht.c HE: Remove VHT_ prefix from CHANWITDH_* define 2019-05-27 16:27:49 +03:00
Makefile Remove IAPP functionality from hostapd 2019-09-11 13:11:03 +03:00
mbo_ap.c MBO: Do not parse reason_detail in non_pref_chan attr (AP) 2016-09-25 17:31:26 +03:00
mbo_ap.h MBO: Parse non-preferred channel list on the AP 2016-02-22 21:17:38 +02:00
ndisc_snoop.c Fix DHCP/NDISC snoop deinit followed by failing re-init 2017-03-04 11:42:15 +02:00
ndisc_snoop.h proxyarp: Use C library header files and CONFIG_IPV6 2014-11-25 16:58:21 +02:00
neighbor_db.c HE: Handle HE capability in neighbor DB 2019-05-27 17:40:33 +03:00
neighbor_db.h RRM: Move neighbor report functions 2019-01-02 16:47:09 +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
pmksa_cache_auth.c FILS: Update PMKID derivation rules for ERP key hierarchy establishment 2017-09-13 22:17:58 +03:00
pmksa_cache_auth.h OWE: PMKSA caching in AP mode 2017-10-09 12:12:54 +03: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
rrm.c hostapd: Fix a typo in function name 2019-01-02 16:40:34 +02:00
rrm.h Report beacon request TX status as control interface event 2017-01-03 16:02:58 +02:00
sta_info.c Remove CONFIG_IEEE80211W build parameter 2019-09-08 17:33:40 +03:00
sta_info.h Remove CONFIG_IEEE80211W build parameter 2019-09-08 17:33:40 +03:00
taxonomy.c Fix or supress various sparse warnings 2017-01-29 18:33:10 +02:00
taxonomy.h taxonomy: Store Probe Request frames in hostapd_sta_info 2016-09-22 00:45:24 +03:00
tkip_countermeasures.c hostapd: Add logging around Michael MIC related failures 2018-04-02 16:51:29 +03:00
tkip_countermeasures.h hostapd: Fix a regression in TKIP countermeasures processing 2012-11-18 13:06:03 +02:00
utils.c FST: Do not prune STAs belonging to the same FST 2015-07-16 18:26:15 +03:00
vlan.c VLAN: Fix vlan_compare() for tagged VLANs 2016-02-22 19:53:05 +02:00
vlan.h radius: Add tagged VLAN parsing 2016-02-17 11:46:13 +02:00
vlan_full.c vlan: Use new bridge ioctl() 2019-01-02 00:23:43 +02:00
vlan_ifconfig.c vlan: Move if_nametoindex() use out of vlan_init.c 2016-03-25 18:00:44 +02:00
vlan_init.c Check snprintf result to avoid compiler warnings 2018-12-24 11:09:22 +02:00
vlan_init.h VLAN: Separate station grouping and uplink configuration 2016-02-17 11:46:11 +02:00
vlan_ioctl.c Use own header file for defining Linux VLAN kernel interface 2016-03-26 11:24:38 +02:00
vlan_util.c vlan: Remove unnecessary header includes from netlink implementation 2016-03-25 17:27:16 +02:00
vlan_util.h vlan: Move if_nametoindex() use out of vlan_init.c 2016-03-25 18:00:44 +02:00
wmm.c AP: Consider regulatory limitation when filling WMM element 2019-05-28 23:37:25 +03:00
wmm.h Remove obsolete license notifications 2013-12-24 22:59:52 +02:00
wnm_ap.c Remove CONFIG_IEEE80211W build parameter 2019-09-08 17:33:40 +03:00
wnm_ap.h WNM: Collocated Interference Reporting 2018-10-30 14:07:51 +02:00
wpa_auth.c Remove CONFIG_IEEE80211W build parameter 2019-09-08 17:33:40 +03:00
wpa_auth.h Remove CONFIG_IEEE80211W build parameter 2019-09-08 17:33:40 +03:00
wpa_auth_ft.c Remove CONFIG_IEEE80211W build parameter 2019-09-08 17:33:40 +03:00
wpa_auth_glue.c Remove CONFIG_IEEE80211W build parameter 2019-09-08 17:33:40 +03: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 Remove CONFIG_IEEE80211W build parameter 2019-09-08 17:33:40 +03:00
wpa_auth_ie.c Remove CONFIG_IEEE80211W build parameter 2019-09-08 17:33:40 +03:00
wpa_auth_ie.h Remove CONFIG_IEEE80211W build parameter 2019-09-08 17:33:40 +03:00
wpa_auth_kay.c macsec: Support IEEE 802.1X(EAP)/PSK MACsec Key Agreement in hostapd 2019-06-03 20:27:44 +03:00
wpa_auth_kay.h macsec: Support IEEE 802.1X(EAP)/PSK MACsec Key Agreement in hostapd 2019-06-03 20:27:44 +03:00
wps_hostapd.c Remove CONFIG_IEEE80211W build parameter 2019-09-08 17:33:40 +03: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