1################################################################################ 2# 3# hostapd 4# 5################################################################################ 6 7HOSTAPD_VERSION = 2.9 8HOSTAPD_SITE = http://w1.fi/releases 9HOSTAPD_SUBDIR = hostapd 10HOSTAPD_CONFIG = $(HOSTAPD_DIR)/$(HOSTAPD_SUBDIR)/.config 11HOSTAPD_PATCH = \ 12 https://w1.fi/security/2020-1/0001-WPS-UPnP-Do-not-allow-event-subscriptions-with-URLs-.patch \ 13 https://w1.fi/security/2020-1/0002-WPS-UPnP-Fix-event-message-generation-using-a-long-U.patch \ 14 https://w1.fi/security/2020-1/0003-WPS-UPnP-Handle-HTTP-initiation-failures-for-events-.patch \ 15 https://w1.fi/security/2021-1/0001-P2P-Fix-a-corner-case-in-peer-addition-based-on-PD-R.patch 16HOSTAPD_DEPENDENCIES = host-pkgconf 17HOSTAPD_CFLAGS = $(TARGET_CFLAGS) 18HOSTAPD_LICENSE = BSD-3-Clause 19HOSTAPD_LICENSE_FILES = README 20 21# 0001-AP-Silently-ignore-management-frame-from-unexpected-.patch 22HOSTAPD_IGNORE_CVES += CVE-2019-16275 23 24# 0001-WPS-UPnP-Do-not-allow-event-subscriptions-with-URLs-.patch 25HOSTAPD_IGNORE_CVES += CVE-2020-12695 26 27# 0002-ASN.1-Validate-DigestAlgorithmIdentifier-parameters.patch 28HOSTAPD_IGNORE_CVES += CVE-2021-30004 29 30# 0001-P2P-Fix-a-corner-case-in-peer-addition-based-on-PD-R.patch 31HOSTAPD_IGNORE_CVES += CVE-2021-27803 32 33HOSTAPD_CPE_ID_VENDOR = w1.fi 34HOSTAPD_SELINUX_MODULES = hostapd 35HOSTAPD_CONFIG_SET = 36 37HOSTAPD_CONFIG_ENABLE = \ 38 CONFIG_INTERNAL_LIBTOMMATH \ 39 CONFIG_DEBUG_FILE \ 40 CONFIG_DEBUG_SYSLOG 41 42HOSTAPD_CONFIG_DISABLE = 43 44# Try to use openssl if it's already available 45ifeq ($(BR2_PACKAGE_LIBOPENSSL),y) 46HOSTAPD_DEPENDENCIES += host-pkgconf libopenssl 47HOSTAPD_LIBS += `$(PKG_CONFIG_HOST_BINARY) --libs openssl` 48HOSTAPD_CONFIG_EDITS += 's/\#\(CONFIG_TLS=openssl\)/\1/' 49else 50HOSTAPD_CONFIG_DISABLE += CONFIG_EAP_PWD CONFIG_EAP_TEAP 51HOSTAPD_CONFIG_EDITS += 's/\#\(CONFIG_TLS=\).*/\1internal/' 52endif 53 54ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_HOSTAP),) 55HOSTAPD_CONFIG_DISABLE += CONFIG_DRIVER_HOSTAP 56endif 57 58ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_NL80211),) 59HOSTAPD_CONFIG_DISABLE += CONFIG_DRIVER_NL80211 60endif 61 62ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_WIRED),y) 63HOSTAPD_CONFIG_ENABLE += CONFIG_DRIVER_WIRED 64endif 65 66ifeq ($(BR2_PACKAGE_HOSTAPD_DRIVER_NONE),y) 67HOSTAPD_CONFIG_ENABLE += CONFIG_DRIVER_NONE 68endif 69 70# Add options for wireless drivers 71ifeq ($(BR2_PACKAGE_HOSTAPD_HAS_WIFI_DRIVERS),y) 72HOSTAPD_CONFIG_ENABLE += \ 73 CONFIG_HS20 \ 74 CONFIG_IEEE80211AC \ 75 CONFIG_IEEE80211N \ 76 CONFIG_IEEE80211R \ 77 CONFIG_INTERWORKING 78endif 79 80ifeq ($(BR2_PACKAGE_HOSTAPD_ACS),y) 81HOSTAPD_CONFIG_ENABLE += CONFIG_ACS 82endif 83 84ifeq ($(BR2_PACKAGE_HOSTAPD_EAP),y) 85HOSTAPD_CONFIG_ENABLE += \ 86 CONFIG_EAP \ 87 CONFIG_RADIUS_SERVER 88 89# Enable both TLS v1.1 (CONFIG_TLSV11) and v1.2 (CONFIG_TLSV12) 90HOSTAPD_CONFIG_ENABLE += CONFIG_TLSV1 91else 92HOSTAPD_CONFIG_DISABLE += CONFIG_EAP 93HOSTAPD_CONFIG_ENABLE += \ 94 CONFIG_NO_ACCOUNTING \ 95 CONFIG_NO_RADIUS 96endif 97 98ifeq ($(BR2_PACKAGE_HOSTAPD_WPS),y) 99HOSTAPD_CONFIG_ENABLE += CONFIG_WPS 100endif 101 102ifeq ($(BR2_PACKAGE_HOSTAPD_WPA3),y) 103HOSTAPD_CONFIG_SET += \ 104 CONFIG_DPP \ 105 CONFIG_SAE 106HOSTAPD_CONFIG_ENABLE += \ 107 CONFIG_OWE 108else 109HOSTAPD_CONFIG_DISABLE += \ 110 CONFIG_OWE 111endif 112 113ifeq ($(BR2_PACKAGE_HOSTAPD_VLAN),) 114HOSTAPD_CONFIG_ENABLE += CONFIG_NO_VLAN 115endif 116 117ifeq ($(BR2_PACKAGE_HOSTAPD_VLAN_DYNAMIC),y) 118HOSTAPD_CONFIG_ENABLE += CONFIG_FULL_DYNAMIC_VLAN 119HOSTAPD_CONFIG_SET += NEED_LINUX_IOCTL 120endif 121 122ifeq ($(BR2_PACKAGE_HOSTAPD_VLAN_NETLINK),y) 123HOSTAPD_CONFIG_ENABLE += CONFIG_VLAN_NETLINK 124endif 125 126# Options for building with libnl 127ifeq ($(BR2_PACKAGE_LIBNL),y) 128HOSTAPD_DEPENDENCIES += libnl 129HOSTAPD_CFLAGS += -I$(STAGING_DIR)/usr/include/libnl3/ 130HOSTAPD_CONFIG_ENABLE += CONFIG_LIBNL32 131# libnl-3 needs -lm (for rint) and -lpthread if linking statically 132# And library order matters hence stick -lnl-3 first since it's appended 133# in the hostapd Makefiles as in LIBS+=-lnl-3 ... thus failing 134ifeq ($(BR2_STATIC_LIBS),y) 135HOSTAPD_LIBS += -lnl-3 -lm -lpthread 136endif 137endif 138 139define HOSTAPD_CONFIGURE_CMDS 140 cp $(@D)/hostapd/defconfig $(HOSTAPD_CONFIG) 141 sed -i $(patsubst %,-e 's/^#\(%\)/\1/',$(HOSTAPD_CONFIG_ENABLE)) \ 142 $(patsubst %,-e 's/^\(%\)/#\1/',$(HOSTAPD_CONFIG_DISABLE)) \ 143 $(patsubst %,-e '1i%=y',$(HOSTAPD_CONFIG_SET)) \ 144 $(patsubst %,-e %,$(HOSTAPD_CONFIG_EDITS)) \ 145 $(HOSTAPD_CONFIG) 146endef 147 148define HOSTAPD_BUILD_CMDS 149 $(TARGET_MAKE_ENV) CFLAGS="$(HOSTAPD_CFLAGS)" \ 150 LDFLAGS="$(TARGET_LDFLAGS)" LIBS="$(HOSTAPD_LIBS)" \ 151 $(MAKE) CC="$(TARGET_CC)" -C $(@D)/$(HOSTAPD_SUBDIR) 152endef 153 154define HOSTAPD_INSTALL_TARGET_CMDS 155 $(INSTALL) -m 0755 -D $(@D)/$(HOSTAPD_SUBDIR)/hostapd \ 156 $(TARGET_DIR)/usr/sbin/hostapd 157 $(INSTALL) -m 0755 -D $(@D)/$(HOSTAPD_SUBDIR)/hostapd_cli \ 158 $(TARGET_DIR)/usr/bin/hostapd_cli 159 $(INSTALL) -m 0644 -D $(@D)/$(HOSTAPD_SUBDIR)/hostapd.conf \ 160 $(TARGET_DIR)/etc/hostapd.conf 161endef 162 163$(eval $(generic-package)) 164