diff --git a/root/package/firmware/brcmfmac-board-rpi/Makefile b/root/package/firmware/brcmfmac-board-rpi/Makefile deleted file mode 100644 index 4268d912..00000000 --- a/root/package/firmware/brcmfmac-board-rpi/Makefile +++ /dev/null @@ -1,88 +0,0 @@ -include $(TOPDIR)/rules.mk - -PKG_NAME:=brcmfmac-board-rpi -PKG_VERSION:=2018-03-12 -PKG_RELEASE:=86e88fbf0345da49555d0ec34c80b4fbae7d0cd3 -PKG_FLAGS:=nonshared - -include $(INCLUDE_DIR)/package.mk - -BRCMFMAC434XX_SDIO_URL:=@GITHUB/RPi-Distro/firmware-nonfree/$(PKG_RELEASE)/brcm/ -BRCMFMAC43430_SDIO_FILE:=brcmfmac43430-sdio-$(PKG_RELEASE) -BRCMFMAC43455_SDIO_FILE:=brcmfmac43455-sdio-$(PKG_RELEASE) - -define Download/brcmfmac43430_sdio_txt - FILE:=$(BRCMFMAC43430_SDIO_FILE).txt - URL:=$(BRCMFMAC434XX_SDIO_URL) - URL_FILE:=brcmfmac43430-sdio.txt - HASH:=e4ce7ad5ce72406f958ed758539b65d958d1c0eb3e46e3f8e9f02b510d88e0b0 -endef -$(eval $(call Download,brcmfmac43430_sdio_txt)) - -define Download/brcmfmac43455_sdio_txt - FILE:=$(BRCMFMAC43455_SDIO_FILE).txt - URL:=$(BRCMFMAC434XX_SDIO_URL) - URL_FILE:=brcmfmac43455-sdio.txt - HASH:=15698c62457bcf25e60d063e6c666d6e1b7dacdf2b03e6d14ebbc619de6da6b7 -endef -$(eval $(call Download,brcmfmac43455_sdio_txt)) - -define Download/brcmfmac43455_sdio_clm_blob - FILE:=$(BRCMFMAC43455_SDIO_FILE).clm_blob - URL:=$(BRCMFMAC434XX_SDIO_URL) - URL_FILE:=brcmfmac43455-sdio.clm_blob - HASH:=8e2250518bc789e53109728c3c0a6124bc3801a75a1cb4966125753cf1f0252e -endef -$(eval $(call Download,brcmfmac43455_sdio_clm_blob)) - -define Package/brcmfmac-board-rpi/Default - SECTION:=firmware - CATEGORY:=Firmware - URL:=https://github.com/RPi-Distro/firmware-nonfree/ - DEPENDS:=@TARGET_brcm2708 - PKGARCH:=all -endef - -define Package/brcmfmac-board-rpi2 - $(call Package/brcmfmac-board-rpi/Default) - TITLE:=BCM43430 RPi SDIO NVRAM -endef - -define Package/brcmfmac-board-rpi2/description - NVRAM for the Broadcom BCM43430 on RPi boards. -endef - -define Package/brcmfmac-board-rpi3 - $(call Package/brcmfmac-board-rpi/Default) - TITLE:=BCM43455 RPi SDIO NVRAM -endef - -define Package/brcmfmac-board-rpi3/description - NVRAM and localisations blob for the Broadcom BCM43455 on RPi boards. -endef - -define Build/Prepare - rm -rf $(PKG_BUILD_DIR) - mkdir -p $(PKG_BUILD_DIR) - cp $(DL_DIR)/$(BRCMFMAC43430_SDIO_FILE).txt $(PKG_BUILD_DIR)/brcmfmac43430-sdio.txt - cp $(DL_DIR)/$(BRCMFMAC43455_SDIO_FILE).txt $(PKG_BUILD_DIR)/brcmfmac43455-sdio.txt - cp $(DL_DIR)/$(BRCMFMAC43455_SDIO_FILE).clm_blob $(PKG_BUILD_DIR)/brcmfmac43455-sdio.clm_blob -endef - -define Build/Compile - true -endef - -define Package/brcmfmac-board-rpi2/install - $(INSTALL_DIR) $(1)/lib/firmware/brcm/ - $(INSTALL_DATA) $(PKG_BUILD_DIR)/brcmfmac43430-sdio.txt $(1)/lib/firmware/brcm/ -endef - -define Package/brcmfmac-board-rpi3/install - $(INSTALL_DIR) $(1)/lib/firmware/brcm/ - $(INSTALL_DATA) $(PKG_BUILD_DIR)/brcmfmac43455-sdio.txt $(1)/lib/firmware/brcm/ - $(INSTALL_DATA) $(PKG_BUILD_DIR)/brcmfmac43455-sdio.clm_blob $(1)/lib/firmware/brcm/ -endef - -$(eval $(call BuildPackage,brcmfmac-board-rpi2)) -$(eval $(call BuildPackage,brcmfmac-board-rpi3)) diff --git a/root/package/firmware/linux-firmware/broadcom.mk b/root/package/firmware/linux-firmware/broadcom.mk deleted file mode 100644 index 24acac77..00000000 --- a/root/package/firmware/linux-firmware/broadcom.mk +++ /dev/null @@ -1,84 +0,0 @@ -Package/brcmfmac-firmware-43602a1-pcie = $(call Package/firmware-default,Broadcom 43602a1 FullMAC PCIe firmware) -define Package/brcmfmac-firmware-43602a1-pcie/install - $(INSTALL_DIR) $(1)/lib/firmware/brcm - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/brcm/brcmfmac43602-pcie.ap.bin \ - $(1)/lib/firmware/brcm/brcmfmac43602-pcie.bin -endef -$(eval $(call BuildPackage,brcmfmac-firmware-43602a1-pcie)) - -Package/brcmfmac-firmware-4366b1-pcie = $(call Package/firmware-default,Broadcom 4366b1 FullMAC PCIe firmware) -define Package/brcmfmac-firmware-4366b1-pcie/install - $(INSTALL_DIR) $(1)/lib/firmware/brcm - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/brcm/brcmfmac4366b-pcie.bin \ - $(1)/lib/firmware/brcm/ -endef -$(eval $(call BuildPackage,brcmfmac-firmware-4366b1-pcie)) - -Package/brcmfmac-firmware-4329-sdio = $(call Package/firmware-default,Broadcom BCM4329 FullMac SDIO firmware) -define Package/brcmfmac-firmware-4329-sdio/install - $(INSTALL_DIR) $(1)/lib/firmware/brcm - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/brcm/brcmfmac4329-sdio.bin \ - $(1)/lib/firmware/brcm/brcmfmac4329-sdio.bin -endef -$(eval $(call BuildPackage,brcmfmac-firmware-4329-sdio)) - -Package/brcmfmac-firmware-43362-sdio = $(call Package/firmware-default,Broadcom BCM43362 FullMac SDIO firmware) -define Package/brcmfmac-firmware-43362-sdio/install - $(INSTALL_DIR) $(1)/lib/firmware/brcm - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/brcm/brcmfmac43362-sdio.bin \ - $(1)/lib/firmware/brcm/brcmfmac43362-sdio.bin -endef -$(eval $(call BuildPackage,brcmfmac-firmware-43362-sdio)) - -Package/brcmfmac-firmware-43430-sdio = $(call Package/firmware-default,Broadcom BCM43430 FullMac SDIO firmware) -define Package/brcmfmac-firmware-43430-sdio/install - $(INSTALL_DIR) $(1)/lib/firmware/brcm - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/brcm/brcmfmac43430-sdio.bin \ - $(1)/lib/firmware/brcm/brcmfmac43430-sdio.bin -endef -$(eval $(call BuildPackage,brcmfmac-firmware-43430-sdio)) - -Package/brcmfmac-firmware-43455-sdio = $(call Package/firmware-default,Broadcom BCM43455 FullMac SDIO firmware) -define Package/brcmfmac-firmware-43455-sdio/install - $(INSTALL_DIR) $(1)/lib/firmware/brcm - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/brcm/brcmfmac43455-sdio.bin \ - $(1)/lib/firmware/brcm/brcmfmac43455-sdio.bin -endef -$(eval $(call BuildPackage,brcmfmac-firmware-43455-sdio)) - -Package/brcmfmac-firmware-usb = $(call Package/firmware-default,Broadcom BCM43xx fullmac USB firmware) -define Package/brcmfmac-firmware-usb/install - $(INSTALL_DIR) $(1)/lib/firmware/brcm - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/brcm/brcmfmac43236b.bin \ - $(1)/lib/firmware/brcm/ - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/brcm/brcmfmac43143.bin \ - $(1)/lib/firmware/brcm/ -endef -$(eval $(call BuildPackage,brcmfmac-firmware-usb)) - -Package/brcmsmac-firmware = $(call Package/firmware-default,Broadcom BCM43xx softmac PCIe firmware) -define Package/brcmsmac-firmware/install - $(INSTALL_DIR) $(1)/lib/firmware/brcm - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx-0.fw \ - $(PKG_BUILD_DIR)/$(PKG_LINUX_FIRMWARE_SUBDIR)/brcm/bcm43xx_hdr-0.fw \ - $(1)/lib/firmware/brcm/ -endef -$(eval $(call BuildPackage,brcmsmac-firmware)) - -Package/bnx2-firmware = $(call Package/firmware-default,Broadcom BCM5706/5708/5709/5716 firmware) -define Package/bnx2-firmware/install - $(INSTALL_DIR) $(1)/lib/firmware/bnx2 - $(INSTALL_DATA) \ - $(PKG_BUILD_DIR)/bnx2/* \ - $(1)/lib/firmware/bnx2/ -endef -$(eval $(call BuildPackage,bnx2-firmware)) diff --git a/root/package/network/services/hostapd/Config.in b/root/package/network/services/hostapd/Config.in deleted file mode 100644 index 222cfb7f..00000000 --- a/root/package/network/services/hostapd/Config.in +++ /dev/null @@ -1,96 +0,0 @@ -# wpa_supplicant config -config WPA_SUPPLICANT_NO_TIMESTAMP_CHECK - bool "Disable timestamp check" - depends on PACKAGE_wpa-supplicant || \ - PACKAGE_wpa-supplicant-openssl || \ - PACKAGE_wpa-supplicant-wolfssl || \ - PACKAGE_wpa-supplicant-mesh-openssl || \ - PACKAGE_wpa-supplicant-mesh-wolfssl || \ - PACKAGE_wpa-supplicant-mini || \ - PACKAGE_wpa-supplicant-p2p || \ - PACKAGE_wpad || \ - PACKAGE_wpad-openssl || \ - PACKAGE_wpad-wolfssl || \ - PACKAGE_wpad-mini || \ - PACKAGE_wpad-mesh-openssl || \ - PACKAGE_wpad-mesh-wolfssl - default n - help - This disables the timestamp check for certificates in wpa_supplicant - Useful for devices without RTC that cannot reliably get the real date/time - -config WPA_RFKILL_SUPPORT - bool "Add rfkill support" - depends on PACKAGE_wpa-supplicant || \ - PACKAGE_wpa-supplicant-openssl || \ - PACKAGE_wpa-supplicant-wolfssl || \ - PACKAGE_wpa-supplicant-mesh-openssl || \ - PACKAGE_wpa-supplicant-mesh-wolfssl || \ - PACKAGE_wpa-supplicant-mini || \ - PACKAGE_wpa-supplicant-p2p || \ - PACKAGE_wpad || \ - PACKAGE_wpad-openssl || \ - PACKAGE_wpad-wolfssl || \ - PACKAGE_wpad-mini || \ - PACKAGE_wpad-mesh-openssl || \ - PACKAGE_wpad-mesh-wolfssl - default n - -config WPA_MSG_MIN_PRIORITY - int "Minimum debug message priority" - depends on PACKAGE_wpa-supplicant || \ - PACKAGE_wpa-supplicant-openssl || \ - PACKAGE_wpa-supplicant-wolfssl || \ - PACKAGE_wpa-supplicant-mesh-openssl || \ - PACKAGE_wpa-supplicant-mesh-wolfssl || \ - PACKAGE_wpa-supplicant-mini || \ - PACKAGE_wpa-supplicant-p2p || \ - PACKAGE_wpad || \ - PACKAGE_wpad-openssl || \ - PACKAGE_wpad-wolfssl || \ - PACKAGE_wpad-mini || \ - PACKAGE_wpad-mesh-openssl || \ - PACKAGE_wpad-mesh-wolfssl - default 3 - help - Useful values are: - 0 = all messages - 1 = raw message dumps - 2 = most debugging messages - 3 = info messages - 4 = warnings - 5 = errors - -config WPA_WOLFSSL - bool - default PACKAGE_wpa-supplicant-wolfssl ||\ - PACKAGE_wpad-wolfssl ||\ - PACKAGE_wpad-mesh-wolfssl ||\ - PACKAGE_eapol-test-wolfssl - select PACKAGE_libwolfssl - select WOLFSSL_HAS_AES_CCM - select WOLFSSL_HAS_AES_GCM - select WOLFSSL_HAS_ARC4 - select WOLFSSL_HAS_DES3 - select WOLFSSL_HAS_DH - select WOLFSSL_HAS_ECC - select WOLFSSL_HAS_OCSP - select WOLFSSL_HAS_PSK - select WOLFSSL_HAS_SESSION_TICKET - select WOLFSSL_HAS_WPAS - -config DRIVER_WEXT_SUPPORT - bool - default n - -config DRIVER_11N_SUPPORT - bool - default n - -config DRIVER_11AC_SUPPORT - bool - default n - -config DRIVER_11W_SUPPORT - bool - default n diff --git a/root/package/network/services/hostapd/Makefile b/root/package/network/services/hostapd/Makefile deleted file mode 100644 index 5edc513e..00000000 --- a/root/package/network/services/hostapd/Makefile +++ /dev/null @@ -1,644 +0,0 @@ -# Copyright (C) 2006-2014 OpenWrt.org -# -# This is free software, licensed under the GNU General Public License v2. -# See /LICENSE for more information. -# - -include $(TOPDIR)/rules.mk - -PKG_NAME:=hostapd -PKG_RELEASE:=4 - -PKG_SOURCE_URL:=http://w1.fi/hostap.git -PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE:=2018-05-21 -PKG_SOURCE_VERSION:=62566bc23d041e88f8e35933d5fd8c2fd0f7cf2a -PKG_MIRROR_HASH:=f234b24f9471ae9cb34460feec6d6614641691544101535673595272c91448eb - -PKG_MAINTAINER:=Felix Fietkau -PKG_LICENSE:=BSD-3-Clause -PKG_CPE_ID:=cpe:/a:w1.fi:hostapd - -PKG_BUILD_PARALLEL:=1 - -PKG_CONFIG_DEPENDS:= \ - CONFIG_WPA_SUPPLICANT_NO_TIMESTAMP_CHECK \ - CONFIG_PACKAGE_kmod-ath9k \ - CONFIG_PACKAGE_kmod-cfg80211 \ - CONFIG_PACKAGE_hostapd \ - CONFIG_PACKAGE_hostapd-mini \ - CONFIG_WPA_RFKILL_SUPPORT \ - CONFIG_DRIVER_WEXT_SUPPORT \ - CONFIG_DRIVER_11N_SUPPORT \ - CONFIG_DRIVER_11AC_SUPPORT \ - -WPAD_PROVIDERS:=wpad-mini wpad wpad-openssl wpad-wolfssl \ - wpad-mesh-openssl wpad-mesh-wolfssl - -SUPPLICANT_ONLY_PROVIDERS:=wpa-supplicant-mini wpa-supplicant-p2p \ - wpa-supplicant wpa-supplicant-openssl wpa-supplicant-wolfssl \ - wpa-supplicant-mesh-openssl wpa-supplicant-mesh-wolfssl - -HOSTAPD_ONLY_PROVIDERS:=hostapd-mini hostapd hostapd-openssl hostapd-wolfssl - -EAPOL_TEST_PROVIDERS:=eapol-test eapol-test-openssl eapol-test-wolfssl - -SUPPLICANT_PROVIDERS:=$(WPAD_PROVIDERS) $(SUPPLICANT_ONLY_PROVIDERS) -HOSTAPD_PROVIDERS:=$(WPAD_PROVIDERS) $(HOSTAPD_ONLY_PROVIDERS) -ANY_SUPPLICANT_PROVIDERS:=$(WPAD_PROVIDERS) $(SUPPLICANT_ONLY_PROVIDERS) -ANY_HOSTAPD_PROVIDERS:=$(WPAD_PROVIDERS) $(HOSTAPD_ONLY_PROVIDERS) -ANY_PROVIDERS:=$(WPAD_PROVIDERS) $(SUPPLICANT_ONLY_PROVIDERS) $(HOSTAPD_ONLY_PROVIDERS) - -LOCAL_TYPE=$(strip \ - $(if $(findstring wpad,$(BUILD_VARIANT)),wpad, \ - $(if $(findstring supplicant,$(BUILD_VARIANT)),supplicant, \ - hostapd \ - ))) - -LOCAL_AND_LIB_VARIANT=$(patsubst hostapd-%,%,\ - $(patsubst wpad-%,%,\ - $(patsubst supplicant-%,%,\ - $(BUILD_VARIANT)\ - ))) - -LOCAL_VARIANT=$(patsubst %-internal,%,\ - $(patsubst %-openssl,%,\ - $(patsubst %-wolfssl,%,\ - $(LOCAL_AND_LIB_VARIANT)\ - ))) - -SSL_VARIANT=$(strip \ - $(if $(findstring openssl,$(LOCAL_AND_LIB_VARIANT)),openssl,\ - $(if $(findstring wolfssl,$(LOCAL_AND_LIB_VARIANT)),wolfssl,\ - internal\ - ))) - -CONFIG_VARIANT:=$(LOCAL_VARIANT) -ifeq ($(LOCAL_VARIANT),mesh) - CONFIG_VARIANT:=full -endif - -PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) - -include $(INCLUDE_DIR)/package.mk - -STAMP_CONFIGURED:=$(STAMP_CONFIGURED)_$(CONFIG_WPA_MSG_MIN_PRIORITY) - - -ifneq ($(CONFIG_DRIVER_11N_SUPPORT),) - HOSTAPD_IEEE80211N:=y -endif - -ifneq ($(CONFIG_DRIVER_11AC_SUPPORT),) - HOSTAPD_IEEE80211AC:=y -endif - -DRIVER_MAKEOPTS= \ - CONFIG_ACS=$(CONFIG_PACKAGE_kmod-cfg80211) \ - CONFIG_DRIVER_NL80211=$(CONFIG_PACKAGE_kmod-cfg80211) \ - CONFIG_IEEE80211N=$(HOSTAPD_IEEE80211N) \ - CONFIG_IEEE80211AC=$(HOSTAPD_IEEE80211AC) \ - CONFIG_DRIVER_WEXT=$(CONFIG_DRIVER_WEXT_SUPPORT) \ - -space := -space += - -ifeq ($(LOCAL_VARIANT),full) - DRIVER_MAKEOPTS += CONFIG_IEEE80211W=$(CONFIG_DRIVER_11W_SUPPORT) -endif - -ifeq ($(LOCAL_VARIANT),full) - ifeq ($(SSL_VARIANT),openssl) - DRIVER_MAKEOPTS += CONFIG_TLS=openssl - TARGET_LDFLAGS += -lcrypto -lssl - endif - ifeq ($(SSL_VARIANT),wolfssl) - DRIVER_MAKEOPTS += CONFIG_TLS=wolfssl CONFIG_WPS_NFC=1 - TARGET_LDFLAGS += -lwolfssl - endif -endif - -ifneq ($(LOCAL_TYPE),hostapd) - ifeq ($(LOCAL_VARIANT),mesh) - ifeq ($(SSL_VARIANT),openssl) - DRIVER_MAKEOPTS += CONFIG_TLS=openssl CONFIG_AP=y CONFIG_SAE=y CONFIG_MESH=y - TARGET_LDFLAGS += -lcrypto -lssl - endif - ifeq ($(SSL_VARIANT),wolfssl) - DRIVER_MAKEOPTS += CONFIG_TLS=wolfssl CONFIG_WPS_NFC=1 CONFIG_AP=y CONFIG_SAE=y CONFIG_MESH=y - TARGET_LDFLAGS += -lwolfssl - endif - endif - - ifdef CONFIG_WPA_SUPPLICANT_NO_TIMESTAMP_CHECK - TARGET_CFLAGS += -DNO_TIMESTAMP_CHECK - endif - ifdef CONFIG_WPA_RFKILL_SUPPORT - DRIVER_MAKEOPTS += NEED_RFKILL=y - endif - DRIVER_MAKEOPTS += \ - CONFIG_DRIVER_ROBOSWITCH=$(CONFIG_PACKAGE_kmod-switch) -endif - -ifdef CONFIG_USE_GLIBC - TARGET_LDFLAGS += -lrt - TARGET_LDFLAGS_C += -lrt -endif - -DRV_DEPENDS:=+PACKAGE_kmod-cfg80211:libnl-tiny - -define Package/hostapd/Default - SECTION:=net - CATEGORY:=Network - TITLE:=IEEE 802.1x Authenticator - URL:=http://hostap.epitest.fi/ - DEPENDS:=$(DRV_DEPENDS) +hostapd-common +libubus -endef - -define Package/hostapd -$(call Package/hostapd/Default) - TITLE+= (full) - VARIANT:=full-internal -endef - -define Package/hostapd-openssl -$(call Package/hostapd/Default) - TITLE+= (full) - VARIANT:=full-openssl - DEPENDS+=+libopenssl - CONFLICTS:=$(filter-out hostapd-openssl ,$(HOSTAPD_ONLY_PROVIDERS)) - PROVIDES:=hostapd -endef - -define Package/hostapd-wolfssl -$(call Package/hostapd/Default) - TITLE+= (full) - VARIANT:=full-wolfssl - DEPENDS+=+libwolfssl - CONFLICTS:=$(filter-out hostapd-openssl ,$(filter-out hostapd-wolfssl ,$(HOSTAPD_ONLY_PROVIDERS))) - PROVIDES:=hostapd -endef - -define Package/hostapd/description - This package contains a full featured IEEE 802.1x/WPA/EAP/RADIUS - Authenticator. -endef - -Package/hostapd-openssl/description = $(Package/hostapd/description) -Package/hostapd-wolfssl/description = $(Package/hostapd/description) - -define Package/hostapd-mini -$(call Package/hostapd/Default) - TITLE+= (WPA-PSK only) - VARIANT:=mini - CONFLICTS:=$(filter-out hostapd-wolfssl ,$(filter-out hostapd-openssl ,$(filter-out hostapd-mini ,$(HOSTAPD_ONLY_PROVIDERS)))) - PROVIDES:=hostapd -endef - -define Package/hostapd-mini/description - This package contains a minimal IEEE 802.1x/WPA Authenticator (WPA-PSK only). -endef - - -define Package/hostapd-utils - $(call Package/hostapd/Default) - TITLE+= (utils) - DEPENDS:=@$(subst $(space),||,$(foreach pkg,$(ANY_HOSTAPD_PROVIDERS),PACKAGE_$(pkg))) -endef - -define Package/hostapd-utils/description - This package contains a command line utility to control the - IEEE 802.1x/WPA/EAP/RADIUS Authenticator. -endef - -define Package/wpad/Default - SECTION:=net - CATEGORY:=Network - TITLE:=IEEE 802.1x Authenticator/Supplicant - DEPENDS:=$(DRV_DEPENDS) +hostapd-common +libubus - URL:=http://hostap.epitest.fi/ - PROVIDES:=hostapd wpa-supplicant -endef - -define Package/wpad -$(call Package/wpad/Default) - TITLE+= (full) - VARIANT:=wpad-full-internal - CONFLICTS:=$(filter-out wpad-mesh-wolfssl,\ - $(filter-out wpad-mesh-openssl ,\ - $(filter-out wpad-openssl ,\ - $(filter-out wpad-wolfssl ,\ - $(filter-out wpad-wolfssl ,\ - $(filter-out wpad ,\ - $(ANY_PROVIDERS)\ - )))))) -endef - -define Package/wpad-openssl -$(call Package/wpad/Default) - TITLE+= (full) - VARIANT:=wpad-full-openssl - DEPENDS+=+libopenssl - CONFLICTS:=$(filter-out wpad-mesh-wolfssl,\ - $(filter-out wpad-mesh-openssl ,\ - $(filter-out wpad-openssl ,\ - $(ANY_PROVIDERS)))) -endef - -define Package/wpad-wolfssl -$(call Package/wpad/Default) - TITLE+= (full) - VARIANT:=wpad-full-wolfssl - DEPENDS+=+libwolfssl - CONFLICTS:=$(filter-out wpad-mesh-wolfssl ,\ - $(filter-out wpad-mesh-openssl ,\ - $(filter-out wpad-openssl ,\ - $(filter-out wpad-wolfssl ,\ - $(ANY_PROVIDERS))))) -endef - -define Package/wpad/description - This package contains a full featured IEEE 802.1x/WPA/EAP/RADIUS - Authenticator and Supplicant -endef - -Package/wpad-openssl/description = $(Package/wpad/description) -Package/wpad-wolfssl/description = $(Package/wpad/description) - -define Package/wpad-mini -$(call Package/wpad/Default) - TITLE+= (WPA-PSK only) - VARIANT:=wpad-mini - CONFLICTS:=$(SUPPLICANT_ONLY_PROVIDERS) -endef - -define Package/wpad-mini/description - This package contains a minimal IEEE 802.1x/WPA Authenticator and Supplicant (WPA-PSK only). -endef - -define Package/wpad-mesh-openssl -$(call Package/wpad/Default) - TITLE+= (with 802.11s mesh and SAE support) - DEPENDS+=@PACKAGE_kmod-cfg80211 @(!TARGET_uml||BROKEN) +libopenssl - VARIANT:=wpad-mesh-openssl - CONFLICTS:=$(filter-out wpad-mesh-openssl ,$(ANY_PROVIDERS)) - PROVIDES+=wpa-supplicant-mesh wpad-mesh -endef - -define Package/wpad-mesh-wolfssl -$(call Package/wpad/Default) - TITLE+= (with 802.11s mesh and SAE support) - DEPENDS+=@PACKAGE_kmod-cfg80211 @(!TARGET_uml||BROKEN) +libwolfssl - VARIANT:=wpad-mesh-wolfssl - CONFLICTS:=$(filter-out wpad-mesh-openssl ,$(filter-out wpad-mesh-wolfssl ,$(ANY_PROVIDERS))) - PROVIDES+=wpa-supplicant-mesh wpad-mesh -endef - -define Package/wpad-mesh/description - This package contains a minimal IEEE 802.1x/WPA Authenticator and Supplicant (with 802.11s mesh and SAE support). -endef - -Package/wpad-mesh-openssl/description = $(Package/wpad-mesh/description) -Package/wpad-mesh-wolfssl/description = $(Package/wpad-mesh/description) - -define Package/wpa-supplicant/Default - SECTION:=net - CATEGORY:=Network - TITLE:=WPA Supplicant - URL:=http://hostap.epitest.fi/wpa_supplicant/ - DEPENDS:=$(DRV_DEPENDS) -endef - -define Package/wpa-supplicant - $(Package/wpa-supplicant/Default) - VARIANT:=supplicant-full-internal - CONFLICTS:=wpa-supplicant-mini -endef - -define Package/wpa-supplicant-openssl - $(Package/wpa-supplicant/Default) - CONFLICTS:=$(filter-out wpa-supplicant-wolfssl ,\ - $(filter-out wpa-supplicant-openssl ,\ - $(filter-out wpa-supplicant-mesh-openssl ,\ - $(filter-out wpa-supplicant-mesh-wolfssl ,\ - $(SUPPLICANT_ONLY_PROVIDERS)\ - )))) - VARIANT:=supplicant-full-openssl - DEPENDS+=+libopenssl - PROVIDES:=wpa-supplicant -endef - -define Package/wpa-supplicant-wolfssl - $(Package/wpa-supplicant/Default) - CONFLICTS:=$(filter-out wpa-supplicant-wolfssl ,\ - $(filter-out wpa-supplicant-openssl ,\ - $(filter-out wpa-supplicant-mesh-openssl ,\ - $(filter-out wpa-supplicant-mesh-wolfssl ,\ - $(SUPPLICANT_ONLY_PROVIDERS)\ - )))) - VARIANT:=supplicant-full-wolfssl - DEPENDS+=+libwolfssl - PROVIDES:=wpa-supplicant -endef - -define Package/wpa-supplicant/config - source "$(SOURCE)/Config.in" -endef - -define Package/wpa-supplicant-p2p - $(Package/wpa-supplicant) - TITLE:=WPA Supplicant (with Wi-Fi P2P support) - DEPENDS:=$(DRV_DEPENDS) @PACKAGE_kmod-cfg80211 - CONFLICTS:=$(filter-out wpa-supplicant-openssl ,\ - $(filter-out wpa-supplicant-wolfssl ,\ - $(filter-out wpa-supplicant-p2p ,\ - $(filter-out wpa-supplicant-mesh-openssl ,\ - $(filter-out wpa-supplicant-mesh-wolfssl ,\ - $(SUPPLICANT_ONLY_PROVIDERS)\ - ))))) - VARIANT:=supplicant-p2p-internal - PROVIDES:=wpa-supplicant -endef - -define Package/wpa-supplicant-mesh/Default - $(Package/wpa-supplicant/Default) - TITLE:=WPA Supplicant (with 802.11s and SAE) - DEPENDS:=$(DRV_DEPENDS) @PACKAGE_kmod-cfg80211 @(!TARGET_uml||BROKEN) - PROVIDES:=wpa-supplicant wpa-supplicant-mesh -endef - -define Package/wpa-supplicant-mesh-openssl - $(Package/wpa-supplicant-mesh/Default) - VARIANT:=supplicant-mesh-openssl - CONFLICTS:=$(filter-out wpa-supplicant-mesh-openssl ,$(SUPPLICANT_ONLY_PROVIDERS)) - DEPENDS+=+libopenssl -endef - -define Package/wpa-supplicant-mesh-wolfssl - $(Package/wpa-supplicant-mesh/Default) - VARIANT:=supplicant-mesh-wolfssl - CONFLICTS:=$(filter-out wpa-supplicant-mesh-openssl ,$(filter-out wpa-supplicant-mesh-wolfssl ,$(SUPPLICANT_ONLY_PROVIDERS))) - DEPENDS+=+libwolfssl -endef - -define Package/wpa-supplicant-mini - $(Package/wpa-supplicant/Default) - TITLE:=WPA Supplicant (minimal version) - DEPENDS:=$(DRV_DEPENDS) - VARIANT:=supplicant-mini - PROVIDES:=wpa-supplicant -endef - -define Package/wpa-cli - SECTION:=net - CATEGORY:=Network - DEPENDS:=@$(subst $(space),||,$(foreach pkg,$(ANY_SUPPLICANT_PROVIDERS),PACKAGE_$(pkg))) - TITLE:=WPA Supplicant command line control utility -endef - -define Package/hostapd-common - TITLE:=hostapd/wpa_supplicant common support files - SECTION:=net - CATEGORY:=Network -endef - -define Package/eapol-test - TITLE:=802.1x authentication test utility - SECTION:=net - CATEGORY:=Network - VARIANT:=supplicant-full-internal - DEPENDS:=$(DRV_DEPENDS) -endef - -define Package/eapol-test-openssl - TITLE:=802.1x authentication test utility - SECTION:=net - CATEGORY:=Network - VARIANT:=supplicant-full-openssl - CONFLICTS:=$(filter-out eapol-test-openssl ,$(EAPOL_TEST_PROVIDERS)) - DEPENDS:=$(DRV_DEPENDS) +libopenssl - PROVIDES:=eapol-test -endef - -define Package/eapol-test-wolfssl - TITLE:=802.1x authentication test utility - SECTION:=net - CATEGORY:=Network - VARIANT:=supplicant-full-wolfssl - CONFLICTS:=$(filter-out eapol-test-openssl ,$(filter-out eapol-test-wolfssl ,$(EAPOL_TEST_PROVIDERS))) - DEPENDS:=$(DRV_DEPENDS) +libwolfssl - PROVIDES:=eapol-test -endef - - -ifneq ($(wildcard $(PKG_BUILD_DIR)/.config_*),$(subst .configured_,.config_,$(STAMP_CONFIGURED))) - define Build/Configure/rebuild - $(FIND) $(PKG_BUILD_DIR) -name \*.o -or -name \*.a | $(XARGS) rm -f - rm -f $(PKG_BUILD_DIR)/hostapd/hostapd - rm -f $(PKG_BUILD_DIR)/wpa_supplicant/wpa_supplicant - rm -f $(PKG_BUILD_DIR)/.config_* - touch $(subst .configured_,.config_,$(STAMP_CONFIGURED)) - endef -endif - -define Build/Configure - $(Build/Configure/rebuild) - $(if $(wildcard ./files/hostapd-$(CONFIG_VARIANT).config), \ - $(CP) ./files/hostapd-$(CONFIG_VARIANT).config $(PKG_BUILD_DIR)/hostapd/.config \ - ) - $(CP) ./files/wpa_supplicant-$(CONFIG_VARIANT).config $(PKG_BUILD_DIR)/wpa_supplicant/.config -endef - -TARGET_CPPFLAGS := \ - -I$(STAGING_DIR)/usr/include/libnl-tiny \ - -I$(PKG_BUILD_DIR)/src/crypto \ - $(TARGET_CPPFLAGS) \ - -DCONFIG_LIBNL20 \ - -D_GNU_SOURCE \ - $(if $(CONFIG_WPA_MSG_MIN_PRIORITY),-DCONFIG_MSG_MIN_PRIORITY=$(CONFIG_WPA_MSG_MIN_PRIORITY)) - -TARGET_CFLAGS += -ffunction-sections -fdata-sections -TARGET_LDFLAGS += -Wl,--gc-sections -ifeq ($(findstring supplicant,$(BUILD_VARIANT)),) - TARGET_LDFLAGS += -lubox -lubus -endif - -ifdef CONFIG_PACKAGE_kmod-cfg80211 - TARGET_LDFLAGS += -lm -lnl-tiny -endif - -define Build/RunMake - CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \ - $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR)/$(1) \ - $(TARGET_CONFIGURE_OPTS) \ - $(DRIVER_MAKEOPTS) \ - LIBS="$(TARGET_LDFLAGS)" \ - LIBS_c="$(TARGET_LDFLAGS_C)" \ - BCHECK= \ - $(2) -endef - -define Build/Compile/wpad - echo ` \ - $(call Build/RunMake,hostapd,-s MULTICALL=1 dump_cflags); \ - $(call Build/RunMake,wpa_supplicant,-s MULTICALL=1 dump_cflags) | \ - sed -e 's,-n ,,g' -e 's^$(TARGET_CFLAGS)^^' \ - ` > $(PKG_BUILD_DIR)/.cflags - sed -i 's/"/\\"/g' $(PKG_BUILD_DIR)/.cflags - +$(call Build/RunMake,hostapd, \ - CFLAGS="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \ - MULTICALL=1 \ - hostapd_cli hostapd_multi.a \ - ) - +$(call Build/RunMake,wpa_supplicant, \ - CFLAGS="$$$$(cat $(PKG_BUILD_DIR)/.cflags)" \ - MULTICALL=1 \ - wpa_cli wpa_supplicant_multi.a \ - ) - $(TARGET_CC) -o $(PKG_BUILD_DIR)/wpad \ - $(TARGET_CFLAGS) \ - ./files/multicall.c \ - $(PKG_BUILD_DIR)/hostapd/hostapd_multi.a \ - $(PKG_BUILD_DIR)/wpa_supplicant/wpa_supplicant_multi.a \ - $(TARGET_LDFLAGS) -endef - -define Build/Compile/hostapd - +$(call Build/RunMake,hostapd, \ - hostapd hostapd_cli \ - ) -endef - -define Build/Compile/supplicant - +$(call Build/RunMake,wpa_supplicant, \ - wpa_cli wpa_supplicant \ - ) -endef - -define Build/Compile/supplicant-full-internal - +$(call Build/RunMake,wpa_supplicant, \ - eapol_test \ - ) -endef - -define Build/Compile/supplicant-full-openssl - +$(call Build/RunMake,wpa_supplicant, \ - eapol_test \ - ) -endef - -define Build/Compile/supplicant-full-wolfssl - +$(call Build/RunMake,wpa_supplicant, \ - eapol_test \ - ) -endef - -define Build/Compile - $(Build/Compile/$(LOCAL_TYPE)) - $(Build/Compile/$(BUILD_VARIANT)) -endef - -define Install/hostapd - $(INSTALL_DIR) $(1)/usr/sbin -endef - -define Install/supplicant - $(INSTALL_DIR) $(1)/usr/sbin -endef - -define Package/hostapd-common/install - $(INSTALL_DIR) $(1)/lib/netifd - $(INSTALL_DATA) ./files/hostapd.sh $(1)/lib/netifd/hostapd.sh -endef - -define Package/hostapd/install - $(call Install/hostapd,$(1)) - $(INSTALL_BIN) $(PKG_BUILD_DIR)/hostapd/hostapd $(1)/usr/sbin/ -endef -Package/hostapd-mini/install = $(Package/hostapd/install) -Package/hostapd-openssl/install = $(Package/hostapd/install) -Package/hostapd-wolfssl/install = $(Package/hostapd/install) - -ifneq ($(LOCAL_TYPE),supplicant) - define Package/hostapd-utils/install - $(INSTALL_DIR) $(1)/usr/sbin $(1)/etc/rc.button - $(INSTALL_BIN) $(PKG_BUILD_DIR)/hostapd/hostapd_cli $(1)/usr/sbin/ - $(INSTALL_BIN) ./files/wps-hotplug.sh $(1)/etc/rc.button/wps - endef -endif - -define Package/wpad/install - $(call Install/hostapd,$(1)) - $(call Install/supplicant,$(1)) - $(INSTALL_BIN) $(PKG_BUILD_DIR)/wpad $(1)/usr/sbin/ - $(LN) wpad $(1)/usr/sbin/hostapd - $(LN) wpad $(1)/usr/sbin/wpa_supplicant -endef -Package/wpad-mini/install = $(Package/wpad/install) -Package/wpad-openssl/install = $(Package/wpad/install) -Package/wpad-wolfssl/install = $(Package/wpad/install) -Package/wpad-mesh-openssl/install = $(Package/wpad/install) -Package/wpad-mesh-wolfssl/install = $(Package/wpad/install) - -define Package/wpa-supplicant/install - $(call Install/supplicant,$(1)) - $(INSTALL_BIN) $(PKG_BUILD_DIR)/wpa_supplicant/wpa_supplicant $(1)/usr/sbin/ -endef -Package/wpa-supplicant-mini/install = $(Package/wpa-supplicant/install) -Package/wpa-supplicant-p2p/install = $(Package/wpa-supplicant/install) -Package/wpa-supplicant-openssl/install = $(Package/wpa-supplicant/install) -Package/wpa-supplicant-wolfssl/install = $(Package/wpa-supplicant/install) -Package/wpa-supplicant-mesh-openssl/install = $(Package/wpa-supplicant/install) -Package/wpa-supplicant-mesh-wolfssl/install = $(Package/wpa-supplicant/install) - -ifneq ($(LOCAL_TYPE),hostapd) - define Package/wpa-cli/install - $(INSTALL_DIR) $(1)/usr/sbin - $(CP) $(PKG_BUILD_DIR)/wpa_supplicant/wpa_cli $(1)/usr/sbin/ - endef -endif - -ifeq ($(BUILD_VARIANT),supplicant-full-internal) - define Package/eapol-test/install - $(INSTALL_DIR) $(1)/usr/sbin - $(CP) $(PKG_BUILD_DIR)/wpa_supplicant/eapol_test $(1)/usr/sbin/ - endef -endif - -ifeq ($(BUILD_VARIANT),supplicant-full-openssl) - define Package/eapol-test-openssl/install - $(INSTALL_DIR) $(1)/usr/sbin - $(CP) $(PKG_BUILD_DIR)/wpa_supplicant/eapol_test $(1)/usr/sbin/ - endef -endif - -ifeq ($(BUILD_VARIANT),supplicant-full-wolfssl) - define Package/eapol-test-wolfssl/install - $(INSTALL_DIR) $(1)/usr/sbin - $(CP) $(PKG_BUILD_DIR)/wpa_supplicant/eapol_test $(1)/usr/sbin/ - endef -endif - -$(eval $(call BuildPackage,hostapd)) -$(eval $(call BuildPackage,hostapd-mini)) -$(eval $(call BuildPackage,hostapd-openssl)) -$(eval $(call BuildPackage,hostapd-wolfssl)) -$(eval $(call BuildPackage,wpad)) -$(eval $(call BuildPackage,wpad-mesh-openssl)) -$(eval $(call BuildPackage,wpad-mesh-wolfssl)) -$(eval $(call BuildPackage,wpad-mini)) -$(eval $(call BuildPackage,wpad-openssl)) -$(eval $(call BuildPackage,wpad-wolfssl)) -$(eval $(call BuildPackage,wpa-supplicant)) -$(eval $(call BuildPackage,wpa-supplicant-mesh-openssl)) -$(eval $(call BuildPackage,wpa-supplicant-mesh-wolfssl)) -$(eval $(call BuildPackage,wpa-supplicant-mini)) -$(eval $(call BuildPackage,wpa-supplicant-p2p)) -$(eval $(call BuildPackage,wpa-supplicant-openssl)) -$(eval $(call BuildPackage,wpa-supplicant-wolfssl)) -$(eval $(call BuildPackage,wpa-cli)) -$(eval $(call BuildPackage,hostapd-utils)) -$(eval $(call BuildPackage,hostapd-common)) -$(eval $(call BuildPackage,eapol-test)) -$(eval $(call BuildPackage,eapol-test-openssl)) -$(eval $(call BuildPackage,eapol-test-wolfssl)) diff --git a/root/package/network/services/hostapd/files/hostapd-full.config b/root/package/network/services/hostapd/files/hostapd-full.config deleted file mode 100644 index 355a70b9..00000000 --- a/root/package/network/services/hostapd/files/hostapd-full.config +++ /dev/null @@ -1,380 +0,0 @@ -# Example hostapd build time configuration -# -# This file lists the configuration options that are used when building the -# hostapd binary. All lines starting with # are ignored. Configuration option -# lines must be commented out complete, if they are not to be included, i.e., -# just setting VARIABLE=n is not disabling that variable. -# -# This file is included in Makefile, so variables like CFLAGS and LIBS can also -# be modified from here. In most cass, these lines should use += in order not -# to override previous values of the variables. - -# Driver interface for Host AP driver -#CONFIG_DRIVER_HOSTAP=y - -# Driver interface for wired authenticator -CONFIG_DRIVER_WIRED=y - -# Driver interface for drivers using the nl80211 kernel interface -CONFIG_DRIVER_NL80211=y - -# QCA vendor extensions to nl80211 -#CONFIG_DRIVER_NL80211_QCA=y - -# driver_nl80211.c requires libnl. If you are compiling it yourself -# you may need to point hostapd to your version of libnl. -# -#CFLAGS += -I$ -#LIBS += -L$ - -# Use libnl v2.0 (or 3.0) libraries. -#CONFIG_LIBNL20=y - -# Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored) -#CONFIG_LIBNL32=y - - -# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) -#CONFIG_DRIVER_BSD=y -#CFLAGS += -I/usr/local/include -#LIBS += -L/usr/local/lib -#LIBS_p += -L/usr/local/lib -#LIBS_c += -L/usr/local/lib - -# Driver interface for no driver (e.g., RADIUS server only) -#CONFIG_DRIVER_NONE=y - -# IEEE 802.11F/IAPP -CONFIG_IAPP=y - -# WPA2/IEEE 802.11i RSN pre-authentication -CONFIG_RSN_PREAUTH=y - -# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS) -CONFIG_PEERKEY=y - -# IEEE 802.11w (management frame protection) -# Driver support is also needed for IEEE 802.11w. -#CONFIG_IEEE80211W=y - -# Integrated EAP server -CONFIG_EAP=y - -# EAP Re-authentication Protocol (ERP) in integrated EAP server -#CONFIG_ERP=y - -# EAP-MD5 for the integrated EAP server -CONFIG_EAP_MD5=y - -# EAP-TLS for the integrated EAP server -CONFIG_EAP_TLS=y - -# EAP-MSCHAPv2 for the integrated EAP server -CONFIG_EAP_MSCHAPV2=y - -# EAP-PEAP for the integrated EAP server -CONFIG_EAP_PEAP=y - -# EAP-GTC for the integrated EAP server -CONFIG_EAP_GTC=y - -# EAP-TTLS for the integrated EAP server -CONFIG_EAP_TTLS=y - -# EAP-SIM for the integrated EAP server -#CONFIG_EAP_SIM=y - -# EAP-AKA for the integrated EAP server -#CONFIG_EAP_AKA=y - -# EAP-AKA' for the integrated EAP server -# This requires CONFIG_EAP_AKA to be enabled, too. -#CONFIG_EAP_AKA_PRIME=y - -# EAP-PAX for the integrated EAP server -#CONFIG_EAP_PAX=y - -# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK) -#CONFIG_EAP_PSK=y - -# EAP-pwd for the integrated EAP server (secure authentication with a password) -#CONFIG_EAP_PWD=y - -# EAP-SAKE for the integrated EAP server -#CONFIG_EAP_SAKE=y - -# EAP-GPSK for the integrated EAP server -#CONFIG_EAP_GPSK=y -# Include support for optional SHA256 cipher suite in EAP-GPSK -#CONFIG_EAP_GPSK_SHA256=y - -# EAP-FAST for the integrated EAP server -# Note: If OpenSSL is used as the TLS library, OpenSSL 1.0 or newer is needed -# for EAP-FAST support. Older OpenSSL releases would need to be patched, e.g., -# with openssl-0.9.8x-tls-extensions.patch, to add the needed functions. -CONFIG_EAP_FAST=y - -# Wi-Fi Protected Setup (WPS) -CONFIG_WPS=y -# Enable UPnP support for external WPS Registrars -#CONFIG_WPS_UPNP=y -# Enable WPS support with NFC config method -#CONFIG_WPS_NFC=y - -# EAP-IKEv2 -#CONFIG_EAP_IKEV2=y - -# Trusted Network Connect (EAP-TNC) -#CONFIG_EAP_TNC=y - -# EAP-EKE for the integrated EAP server -#CONFIG_EAP_EKE=y - -# PKCS#12 (PFX) support (used to read private key and certificate file from -# a file that usually has extension .p12 or .pfx) -CONFIG_PKCS12=y - -# RADIUS authentication server. This provides access to the integrated EAP -# server from external hosts using RADIUS. -#CONFIG_RADIUS_SERVER=y - -# Build IPv6 support for RADIUS operations -CONFIG_IPV6=y - -# IEEE Std 802.11r-2008 (Fast BSS Transition) -CONFIG_IEEE80211R=y - -# Use the hostapd's IEEE 802.11 authentication (ACL), but without -# the IEEE 802.11 Management capability (e.g., FreeBSD/net80211) -#CONFIG_DRIVER_RADIUS_ACL=y - -# IEEE 802.11n (High Throughput) support -CONFIG_IEEE80211N=y - -# Wireless Network Management (IEEE Std 802.11v-2011) -# Note: This is experimental and not complete implementation. -CONFIG_WNM=y - -# IEEE 802.11ac (Very High Throughput) support -CONFIG_IEEE80211AC=y - -# IEEE 802.11ax HE support -# Note: This is experimental and work in progress. The definitions are still -# subject to change and this should not be expected to interoperate with the -# final IEEE 802.11ax version. -#CONFIG_IEEE80211AX=y - -# Remove debugging code that is printing out debug messages to stdout. -# This can be used to reduce the size of the hostapd considerably if debugging -# code is not needed. -#CONFIG_NO_STDOUT_DEBUG=y - -# Add support for writing debug log to a file: -f /tmp/hostapd.log -# Disabled by default. -#CONFIG_DEBUG_FILE=y - -# Send debug messages to syslog instead of stdout -CONFIG_DEBUG_SYSLOG=y - -# Add support for sending all debug messages (regardless of debug verbosity) -# to the Linux kernel tracing facility. This helps debug the entire stack by -# making it easy to record everything happening from the driver up into the -# same file, e.g., using trace-cmd. -#CONFIG_DEBUG_LINUX_TRACING=y - -# Remove support for RADIUS accounting -#CONFIG_NO_ACCOUNTING=y - -# Remove support for RADIUS -#CONFIG_NO_RADIUS=y - -# Remove support for VLANs -#CONFIG_NO_VLAN=y - -# Enable support for fully dynamic VLANs. This enables hostapd to -# automatically create bridge and VLAN interfaces if necessary. -CONFIG_FULL_DYNAMIC_VLAN=y - -# Use netlink-based kernel API for VLAN operations instead of ioctl() -# Note: This requires libnl 3.1 or newer. -#CONFIG_VLAN_NETLINK=y - -# Remove support for dumping internal state through control interface commands -# This can be used to reduce binary size at the cost of disabling a debugging -# option. -CONFIG_NO_DUMP_STATE=y - -# Enable tracing code for developer debugging -# This tracks use of memory allocations and other registrations and reports -# incorrect use with a backtrace of call (or allocation) location. -#CONFIG_WPA_TRACE=y -# For BSD, comment out these. -#LIBS += -lexecinfo -#LIBS_p += -lexecinfo -#LIBS_c += -lexecinfo - -# Use libbfd to get more details for developer debugging -# This enables use of libbfd to get more detailed symbols for the backtraces -# generated by CONFIG_WPA_TRACE=y. -#CONFIG_WPA_TRACE_BFD=y -# For BSD, comment out these. -#LIBS += -lbfd -liberty -lz -#LIBS_p += -lbfd -liberty -lz -#LIBS_c += -lbfd -liberty -lz - -# hostapd depends on strong random number generation being available from the -# operating system. os_get_random() function is used to fetch random data when -# needed, e.g., for key generation. On Linux and BSD systems, this works by -# reading /dev/urandom. It should be noted that the OS entropy pool needs to be -# properly initialized before hostapd is started. This is important especially -# on embedded devices that do not have a hardware random number generator and -# may by default start up with minimal entropy available for random number -# generation. -# -# As a safety net, hostapd is by default trying to internally collect -# additional entropy for generating random data to mix in with the data -# fetched from the OS. This by itself is not considered to be very strong, but -# it may help in cases where the system pool is not initialized properly. -# However, it is very strongly recommended that the system pool is initialized -# with enough entropy either by using hardware assisted random number -# generator or by storing state over device reboots. -# -# hostapd can be configured to maintain its own entropy store over restarts to -# enhance random number generation. This is not perfect, but it is much more -# secure than using the same sequence of random numbers after every reboot. -# This can be enabled with -e command line option. The specified -# file needs to be readable and writable by hostapd. -# -# If the os_get_random() is known to provide strong random data (e.g., on -# Linux/BSD, the board in question is known to have reliable source of random -# data from /dev/urandom), the internal hostapd random pool can be disabled. -# This will save some in binary size and CPU use. However, this should only be -# considered for builds that are known to be used on devices that meet the -# requirements described above. -CONFIG_NO_RANDOM_POOL=y - -# Should we use poll instead of select? Select is used by default. -#CONFIG_ELOOP_POLL=y - -# Should we use epoll instead of select? Select is used by default. -#CONFIG_ELOOP_EPOLL=y - -# Should we use kqueue instead of select? Select is used by default. -#CONFIG_ELOOP_KQUEUE=y - -# Select TLS implementation -# openssl = OpenSSL (default) -# gnutls = GnuTLS -# internal = Internal TLSv1 implementation (experimental) -# linux = Linux kernel AF_ALG and internal TLSv1 implementation (experimental) -# none = Empty template -CONFIG_TLS=internal - -# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1) -# can be enabled to get a stronger construction of messages when block ciphers -# are used. -#CONFIG_TLSV11=y - -# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.2) -# can be enabled to enable use of stronger crypto algorithms. -#CONFIG_TLSV12=y - -# Select which ciphers to use by default with OpenSSL if the user does not -# specify them. -#CONFIG_TLS_DEFAULT_CIPHERS="DEFAULT:!EXP:!LOW" - -# If CONFIG_TLS=internal is used, additional library and include paths are -# needed for LibTomMath. Alternatively, an integrated, minimal version of -# LibTomMath can be used. See beginning of libtommath.c for details on benefits -# and drawbacks of this option. -CONFIG_INTERNAL_LIBTOMMATH=y -#ifndef CONFIG_INTERNAL_LIBTOMMATH -#LTM_PATH=/usr/src/libtommath-0.39 -#CFLAGS += -I$(LTM_PATH) -#LIBS += -L$(LTM_PATH) -#LIBS_p += -L$(LTM_PATH) -#endif -# At the cost of about 4 kB of additional binary size, the internal LibTomMath -# can be configured to include faster routines for exptmod, sqr, and div to -# speed up DH and RSA calculation considerably -#CONFIG_INTERNAL_LIBTOMMATH_FAST=y - -# Interworking (IEEE 802.11u) -# This can be used to enable functionality to improve interworking with -# external networks. -#CONFIG_INTERWORKING=y - -# Hotspot 2.0 -#CONFIG_HS20=y - -# Enable SQLite database support in hlr_auc_gw, EAP-SIM DB, and eap_user_file -#CONFIG_SQLITE=y - -# Enable Fast Session Transfer (FST) -#CONFIG_FST=y - -# Enable CLI commands for FST testing -#CONFIG_FST_TEST=y - -# Testing options -# This can be used to enable some testing options (see also the example -# configuration file) that are really useful only for testing clients that -# connect to this hostapd. These options allow, for example, to drop a -# certain percentage of probe requests or auth/(re)assoc frames. -# -#CONFIG_TESTING_OPTIONS=y - -# Automatic Channel Selection -# This will allow hostapd to pick the channel automatically when channel is set -# to "acs_survey" or "0". Eventually, other ACS algorithms can be added in -# similar way. -# -# Automatic selection is currently only done through initialization, later on -# we hope to do background checks to keep us moving to more ideal channels as -# time goes by. ACS is currently only supported through the nl80211 driver and -# your driver must have survey dump capability that is filled by the driver -# during scanning. -# -# You can customize the ACS survey algorithm with the hostapd.conf variable -# acs_num_scans. -# -# Supported ACS drivers: -# * ath9k -# * ath5k -# * ath10k -# -# For more details refer to: -# http://wireless.kernel.org/en/users/Documentation/acs -# -#CONFIG_ACS=y - -# Multiband Operation support -# These extentions facilitate efficient use of multiple frequency bands -# available to the AP and the devices that may associate with it. -#CONFIG_MBO=y - -# Client Taxonomy -# Has the AP retain the Probe Request and (Re)Association Request frames from -# a client, from which a signature can be produced which can identify the model -# of client device like "Nexus 6P" or "iPhone 5s". -CONFIG_TAXONOMY=y - -# Fast Initial Link Setup (FILS) (IEEE 802.11ai) -# Note: This is an experimental and not yet complete implementation. This -# should not be enabled for production use. -#CONFIG_FILS=y -# FILS shared key authentication with PFS -#CONFIG_FILS_SK_PFS=y - -# Include internal line edit mode in hostapd_cli. This can be used to provide -# limited command line editing and history support. -#CONFIG_WPA_CLI_EDIT=y - -# Opportunistic Wireless Encryption (OWE) -# Experimental implementation of draft-harkins-owe-07.txt -#CONFIG_OWE=y - -# uBus IPC/RPC System -# Services can connect to the bus and provide methods -# that can be called by other services or clients. -CONFIG_UBUS=y diff --git a/root/package/network/services/hostapd/files/hostapd-mini.config b/root/package/network/services/hostapd/files/hostapd-mini.config deleted file mode 100644 index 661983a9..00000000 --- a/root/package/network/services/hostapd/files/hostapd-mini.config +++ /dev/null @@ -1,380 +0,0 @@ -# Example hostapd build time configuration -# -# This file lists the configuration options that are used when building the -# hostapd binary. All lines starting with # are ignored. Configuration option -# lines must be commented out complete, if they are not to be included, i.e., -# just setting VARIABLE=n is not disabling that variable. -# -# This file is included in Makefile, so variables like CFLAGS and LIBS can also -# be modified from here. In most cass, these lines should use += in order not -# to override previous values of the variables. - -# Driver interface for Host AP driver -#CONFIG_DRIVER_HOSTAP=y - -# Driver interface for wired authenticator -CONFIG_DRIVER_WIRED=y - -# Driver interface for drivers using the nl80211 kernel interface -CONFIG_DRIVER_NL80211=y - -# QCA vendor extensions to nl80211 -#CONFIG_DRIVER_NL80211_QCA=y - -# driver_nl80211.c requires libnl. If you are compiling it yourself -# you may need to point hostapd to your version of libnl. -# -#CFLAGS += -I$ -#LIBS += -L$ - -# Use libnl v2.0 (or 3.0) libraries. -#CONFIG_LIBNL20=y - -# Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored) -#CONFIG_LIBNL32=y - - -# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver) -#CONFIG_DRIVER_BSD=y -#CFLAGS += -I/usr/local/include -#LIBS += -L/usr/local/lib -#LIBS_p += -L/usr/local/lib -#LIBS_c += -L/usr/local/lib - -# Driver interface for no driver (e.g., RADIUS server only) -#CONFIG_DRIVER_NONE=y - -# IEEE 802.11F/IAPP -#CONFIG_IAPP=y - -# WPA2/IEEE 802.11i RSN pre-authentication -CONFIG_RSN_PREAUTH=y - -# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS) -CONFIG_PEERKEY=y - -# IEEE 802.11w (management frame protection) -# Driver support is also needed for IEEE 802.11w. -#CONFIG_IEEE80211W=y - -# Integrated EAP server -#CONFIG_EAP=y - -# EAP Re-authentication Protocol (ERP) in integrated EAP server -#CONFIG_ERP=y - -# EAP-MD5 for the integrated EAP server -#CONFIG_EAP_MD5=y - -# EAP-TLS for the integrated EAP server -#CONFIG_EAP_TLS=y - -# EAP-MSCHAPv2 for the integrated EAP server -#CONFIG_EAP_MSCHAPV2=y - -# EAP-PEAP for the integrated EAP server -#CONFIG_EAP_PEAP=y - -# EAP-GTC for the integrated EAP server -#CONFIG_EAP_GTC=y - -# EAP-TTLS for the integrated EAP server -#CONFIG_EAP_TTLS=y - -# EAP-SIM for the integrated EAP server -#CONFIG_EAP_SIM=y - -# EAP-AKA for the integrated EAP server -#CONFIG_EAP_AKA=y - -# EAP-AKA' for the integrated EAP server -# This requires CONFIG_EAP_AKA to be enabled, too. -#CONFIG_EAP_AKA_PRIME=y - -# EAP-PAX for the integrated EAP server -#CONFIG_EAP_PAX=y - -# EAP-PSK for the integrated EAP server (this is _not_ needed for WPA-PSK) -#CONFIG_EAP_PSK=y - -# EAP-pwd for the integrated EAP server (secure authentication with a password) -#CONFIG_EAP_PWD=y - -# EAP-SAKE for the integrated EAP server -#CONFIG_EAP_SAKE=y - -# EAP-GPSK for the integrated EAP server -#CONFIG_EAP_GPSK=y -# Include support for optional SHA256 cipher suite in EAP-GPSK -#CONFIG_EAP_GPSK_SHA256=y - -# EAP-FAST for the integrated EAP server -# Note: If OpenSSL is used as the TLS library, OpenSSL 1.0 or newer is needed -# for EAP-FAST support. Older OpenSSL releases would need to be patched, e.g., -# with openssl-0.9.8x-tls-extensions.patch, to add the needed functions. -#CONFIG_EAP_FAST=y - -# Wi-Fi Protected Setup (WPS) -#CONFIG_WPS=y -# Enable UPnP support for external WPS Registrars -#CONFIG_WPS_UPNP=y -# Enable WPS support with NFC config method -#CONFIG_WPS_NFC=y - -# EAP-IKEv2 -#CONFIG_EAP_IKEV2=y - -# Trusted Network Connect (EAP-TNC) -#CONFIG_EAP_TNC=y - -# EAP-EKE for the integrated EAP server -#CONFIG_EAP_EKE=y - -# PKCS#12 (PFX) support (used to read private key and certificate file from -# a file that usually has extension .p12 or .pfx) -#CONFIG_PKCS12=y - -# RADIUS authentication server. This provides access to the integrated EAP -# server from external hosts using RADIUS. -#CONFIG_RADIUS_SERVER=y - -# Build IPv6 support for RADIUS operations -#CONFIG_IPV6=y - -# IEEE Std 802.11r-2008 (Fast BSS Transition) -#CONFIG_IEEE80211R=y - -# Use the hostapd's IEEE 802.11 authentication (ACL), but without -# the IEEE 802.11 Management capability (e.g., FreeBSD/net80211) -#CONFIG_DRIVER_RADIUS_ACL=y - -# IEEE 802.11n (High Throughput) support -CONFIG_IEEE80211N=y - -# Wireless Network Management (IEEE Std 802.11v-2011) -# Note: This is experimental and not complete implementation. -#CONFIG_WNM=y - -# IEEE 802.11ac (Very High Throughput) support -CONFIG_IEEE80211AC=y - -# IEEE 802.11ax HE support -# Note: This is experimental and work in progress. The definitions are still -# subject to change and this should not be expected to interoperate with the -# final IEEE 802.11ax version. -#CONFIG_IEEE80211AX=y - -# Remove debugging code that is printing out debug messages to stdout. -# This can be used to reduce the size of the hostapd considerably if debugging -# code is not needed. -#CONFIG_NO_STDOUT_DEBUG=y - -# Add support for writing debug log to a file: -f /tmp/hostapd.log -# Disabled by default. -#CONFIG_DEBUG_FILE=y - -# Send debug messages to syslog instead of stdout -CONFIG_DEBUG_SYSLOG=y - -# Add support for sending all debug messages (regardless of debug verbosity) -# to the Linux kernel tracing facility. This helps debug the entire stack by -# making it easy to record everything happening from the driver up into the -# same file, e.g., using trace-cmd. -#CONFIG_DEBUG_LINUX_TRACING=y - -# Remove support for RADIUS accounting -CONFIG_NO_ACCOUNTING=y - -# Remove support for RADIUS -CONFIG_NO_RADIUS=y - -# Remove support for VLANs -#CONFIG_NO_VLAN=y - -# Enable support for fully dynamic VLANs. This enables hostapd to -# automatically create bridge and VLAN interfaces if necessary. -#CONFIG_FULL_DYNAMIC_VLAN=y - -# Use netlink-based kernel API for VLAN operations instead of ioctl() -# Note: This requires libnl 3.1 or newer. -#CONFIG_VLAN_NETLINK=y - -# Remove support for dumping internal state through control interface commands -# This can be used to reduce binary size at the cost of disabling a debugging -# option. -CONFIG_NO_DUMP_STATE=y - -# Enable tracing code for developer debugging -# This tracks use of memory allocations and other registrations and reports -# incorrect use with a backtrace of call (or allocation) location. -#CONFIG_WPA_TRACE=y -# For BSD, comment out these. -#LIBS += -lexecinfo -#LIBS_p += -lexecinfo -#LIBS_c += -lexecinfo - -# Use libbfd to get more details for developer debugging -# This enables use of libbfd to get more detailed symbols for the backtraces -# generated by CONFIG_WPA_TRACE=y. -#CONFIG_WPA_TRACE_BFD=y -# For BSD, comment out these. -#LIBS += -lbfd -liberty -lz -#LIBS_p += -lbfd -liberty -lz -#LIBS_c += -lbfd -liberty -lz - -# hostapd depends on strong random number generation being available from the -# operating system. os_get_random() function is used to fetch random data when -# needed, e.g., for key generation. On Linux and BSD systems, this works by -# reading /dev/urandom. It should be noted that the OS entropy pool needs to be -# properly initialized before hostapd is started. This is important especially -# on embedded devices that do not have a hardware random number generator and -# may by default start up with minimal entropy available for random number -# generation. -# -# As a safety net, hostapd is by default trying to internally collect -# additional entropy for generating random data to mix in with the data -# fetched from the OS. This by itself is not considered to be very strong, but -# it may help in cases where the system pool is not initialized properly. -# However, it is very strongly recommended that the system pool is initialized -# with enough entropy either by using hardware assisted random number -# generator or by storing state over device reboots. -# -# hostapd can be configured to maintain its own entropy store over restarts to -# enhance random number generation. This is not perfect, but it is much more -# secure than using the same sequence of random numbers after every reboot. -# This can be enabled with -e command line option. The specified -# file needs to be readable and writable by hostapd. -# -# If the os_get_random() is known to provide strong random data (e.g., on -# Linux/BSD, the board in question is known to have reliable source of random -# data from /dev/urandom), the internal hostapd random pool can be disabled. -# This will save some in binary size and CPU use. However, this should only be -# considered for builds that are known to be used on devices that meet the -# requirements described above. -CONFIG_NO_RANDOM_POOL=y - -# Should we use poll instead of select? Select is used by default. -#CONFIG_ELOOP_POLL=y - -# Should we use epoll instead of select? Select is used by default. -#CONFIG_ELOOP_EPOLL=y - -# Should we use kqueue instead of select? Select is used by default. -#CONFIG_ELOOP_KQUEUE=y - -# Select TLS implementation -# openssl = OpenSSL (default) -# gnutls = GnuTLS -# internal = Internal TLSv1 implementation (experimental) -# linux = Linux kernel AF_ALG and internal TLSv1 implementation (experimental) -# none = Empty template -CONFIG_TLS=internal - -# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1) -# can be enabled to get a stronger construction of messages when block ciphers -# are used. -#CONFIG_TLSV11=y - -# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.2) -# can be enabled to enable use of stronger crypto algorithms. -#CONFIG_TLSV12=y - -# Select which ciphers to use by default with OpenSSL if the user does not -# specify them. -#CONFIG_TLS_DEFAULT_CIPHERS="DEFAULT:!EXP:!LOW" - -# If CONFIG_TLS=internal is used, additional library and include paths are -# needed for LibTomMath. Alternatively, an integrated, minimal version of -# LibTomMath can be used. See beginning of libtommath.c for details on benefits -# and drawbacks of this option. -#CONFIG_INTERNAL_LIBTOMMATH=y -#ifndef CONFIG_INTERNAL_LIBTOMMATH -#LTM_PATH=/usr/src/libtommath-0.39 -#CFLAGS += -I$(LTM_PATH) -#LIBS += -L$(LTM_PATH) -#LIBS_p += -L$(LTM_PATH) -#endif -# At the cost of about 4 kB of additional binary size, the internal LibTomMath -# can be configured to include faster routines for exptmod, sqr, and div to -# speed up DH and RSA calculation considerably -#CONFIG_INTERNAL_LIBTOMMATH_FAST=y - -# Interworking (IEEE 802.11u) -# This can be used to enable functionality to improve interworking with -# external networks. -#CONFIG_INTERWORKING=y - -# Hotspot 2.0 -#CONFIG_HS20=y - -# Enable SQLite database support in hlr_auc_gw, EAP-SIM DB, and eap_user_file -#CONFIG_SQLITE=y - -# Enable Fast Session Transfer (FST) -#CONFIG_FST=y - -# Enable CLI commands for FST testing -#CONFIG_FST_TEST=y - -# Testing options -# This can be used to enable some testing options (see also the example -# configuration file) that are really useful only for testing clients that -# connect to this hostapd. These options allow, for example, to drop a -# certain percentage of probe requests or auth/(re)assoc frames. -# -#CONFIG_TESTING_OPTIONS=y - -# Automatic Channel Selection -# This will allow hostapd to pick the channel automatically when channel is set -# to "acs_survey" or "0". Eventually, other ACS algorithms can be added in -# similar way. -# -# Automatic selection is currently only done through initialization, later on -# we hope to do background checks to keep us moving to more ideal channels as -# time goes by. ACS is currently only supported through the nl80211 driver and -# your driver must have survey dump capability that is filled by the driver -# during scanning. -# -# You can customize the ACS survey algorithm with the hostapd.conf variable -# acs_num_scans. -# -# Supported ACS drivers: -# * ath9k -# * ath5k -# * ath10k -# -# For more details refer to: -# http://wireless.kernel.org/en/users/Documentation/acs -# -#CONFIG_ACS=y - -# Multiband Operation support -# These extentions facilitate efficient use of multiple frequency bands -# available to the AP and the devices that may associate with it. -#CONFIG_MBO=y - -# Client Taxonomy -# Has the AP retain the Probe Request and (Re)Association Request frames from -# a client, from which a signature can be produced which can identify the model -# of client device like "Nexus 6P" or "iPhone 5s". -#CONFIG_TAXONOMY=y - -# Fast Initial Link Setup (FILS) (IEEE 802.11ai) -# Note: This is an experimental and not yet complete implementation. This -# should not be enabled for production use. -#CONFIG_FILS=y -# FILS shared key authentication with PFS -#CONFIG_FILS_SK_PFS=y - -# Include internal line edit mode in hostapd_cli. This can be used to provide -# limited command line editing and history support. -#CONFIG_WPA_CLI_EDIT=y - -# Opportunistic Wireless Encryption (OWE) -# Experimental implementation of draft-harkins-owe-07.txt -#CONFIG_OWE=y - -# uBus IPC/RPC System -# Services can connect to the bus and provide methods -# that can be called by other services or clients. -CONFIG_UBUS=y diff --git a/root/package/network/services/hostapd/files/hostapd.sh b/root/package/network/services/hostapd/files/hostapd.sh deleted file mode 100644 index f50081bb..00000000 --- a/root/package/network/services/hostapd/files/hostapd.sh +++ /dev/null @@ -1,856 +0,0 @@ -. /lib/functions/network.sh - -wpa_supplicant_add_rate() { - local var="$1" - local val="$(($2 / 1000))" - local sub="$((($2 / 100) % 10))" - append $var "$val" "," - [ $sub -gt 0 ] && append $var "." -} - -hostapd_add_rate() { - local var="$1" - local val="$(($2 / 100))" - append $var "$val" " " -} - -hostapd_append_wep_key() { - local var="$1" - - wep_keyidx=0 - set_default key 1 - case "$key" in - [1234]) - for idx in 1 2 3 4; do - local zidx - zidx=$(($idx - 1)) - json_get_var ckey "key${idx}" - [ -n "$ckey" ] && \ - append $var "wep_key${zidx}=$(prepare_key_wep "$ckey")" "$N$T" - done - wep_keyidx=$((key - 1)) - ;; - *) - append $var "wep_key0=$(prepare_key_wep "$key")" "$N$T" - ;; - esac -} - -hostapd_append_wpa_key_mgmt() { - local auth_type="$(echo $auth_type | tr 'a-z' 'A-Z')" - - append wpa_key_mgmt "WPA-$auth_type" - [ "${ieee80211r:-0}" -gt 0 ] && append wpa_key_mgmt "FT-${auth_type}" - [ "${ieee80211w:-0}" -gt 0 ] && append wpa_key_mgmt "WPA-${auth_type}-SHA256" -} - -hostapd_add_log_config() { - config_add_boolean \ - log_80211 \ - log_8021x \ - log_radius \ - log_wpa \ - log_driver \ - log_iapp \ - log_mlme - - config_add_int log_level -} - -hostapd_common_add_device_config() { - config_add_array basic_rate - config_add_array supported_rates - - config_add_string country - config_add_boolean country_ie doth - config_add_string require_mode - config_add_boolean legacy_rates - - config_add_string acs_chan_bias - config_add_array hostapd_options - - hostapd_add_log_config -} - -hostapd_prepare_device_config() { - local config="$1" - local driver="$2" - - local base="${config%%.conf}" - local base_cfg= - - json_get_vars country country_ie beacon_int:100 doth require_mode legacy_rates acs_chan_bias - - hostapd_set_log_options base_cfg - - set_default country_ie 1 - set_default doth 1 - set_default legacy_rates 1 - - [ "$hwmode" = "b" ] && legacy_rates=1 - - [ -n "$country" ] && { - append base_cfg "country_code=$country" "$N" - - [ "$country_ie" -gt 0 ] && append base_cfg "ieee80211d=1" "$N" - [ "$hwmode" = "a" -a "$doth" -gt 0 ] && append base_cfg "ieee80211h=1" "$N" - } - - [ -n "$acs_chan_bias" ] && append base_cfg "acs_chan_bias=$acs_chan_bias" "$N" - - local brlist= br - json_get_values basic_rate_list basic_rate - local rlist= r - json_get_values rate_list supported_rates - - [ -n "$hwmode" ] && append base_cfg "hw_mode=$hwmode" "$N" - [ "$legacy_rates" -eq 0 ] && set_default require_mode g - - [ "$hwmode" = "g" ] && { - [ "$legacy_rates" -eq 0 ] && set_default rate_list "6000 9000 12000 18000 24000 36000 48000 54000" - [ -n "$require_mode" ] && set_default basic_rate_list "6000 12000 24000" - } - - case "$require_mode" in - n) append base_cfg "require_ht=1" "$N";; - ac) append base_cfg "require_vht=1" "$N";; - esac - - for r in $rate_list; do - hostapd_add_rate rlist "$r" - done - - for br in $basic_rate_list; do - hostapd_add_rate brlist "$br" - done - - [ -n "$rlist" ] && append base_cfg "supported_rates=$rlist" "$N" - [ -n "$brlist" ] && append base_cfg "basic_rates=$brlist" "$N" - append base_cfg "beacon_int=$beacon_int" "$N" - - json_get_values opts hostapd_options - for val in $opts; do - append base_cfg "$val" "$N" - done - - cat > "$config" <