aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2018-05-25 15:59:41 +0200
committerDaniel Golle <daniel@makrotopia.org>2018-05-25 16:01:59 +0200
commitc8fdd0e9c843dd483f6677dc41f7df17313aa3cd (patch)
treee3e57317ab5910d224f70ddf9bfb7e0a93f85a02
parenta3f2451fbad3c40e1e8ca9709b14e04c7e9cf03d (diff)
downloadupstream-c8fdd0e9c843dd483f6677dc41f7df17313aa3cd.tar.gz
upstream-c8fdd0e9c843dd483f6677dc41f7df17313aa3cd.tar.bz2
upstream-c8fdd0e9c843dd483f6677dc41f7df17313aa3cd.zip
hostapd: convert ssl provider build options to variants
Instead of selecting the SSL provider at compile time, build package variants for each option so users can select the binary package without having to build it themselves. Most likely not all variants have actually ever been user by anyone. We should reduce the selection to the reasonable and most used combinations at some point in future. For now, build them all. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
-rw-r--r--package/network/services/hostapd/Config.in82
-rw-r--r--package/network/services/hostapd/Makefile288
2 files changed, 285 insertions, 85 deletions
diff --git a/package/network/services/hostapd/Config.in b/package/network/services/hostapd/Config.in
index ba0b235990..3568d9add3 100644
--- a/package/network/services/hostapd/Config.in
+++ b/package/network/services/hostapd/Config.in
@@ -1,48 +1,50 @@
# wpa_supplicant config
config WPA_SUPPLICANT_NO_TIMESTAMP_CHECK
bool "Disable timestamp check"
- depends on PACKAGE_wpa-supplicant || PACKAGE_wpa-supplicant-mesh || PACKAGE_wpa-supplicant-mini || PACKAGE_wpad || PACKAGE_wpad-mini || PACKAGE_wpad-mesh
+ depends on PACKAGE_wpa-supplicant || \
+ PACKAGE_wpa-supplicant-openssl || \
+ PACKAGE_wpa-supplicant-wolfssl || \
+ PACKAGE_wpa-supplicant-mesh || \
+ PACKAGE_wpa-supplicant-mini || \
+ 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
-choice
- prompt "Choose TLS provider"
- default WPA_SUPPLICANT_INTERNAL
- depends on PACKAGE_wpa-supplicant || PACKAGE_wpad || PACKAGE_wpad-mesh
-
-config WPA_SUPPLICANT_INTERNAL
- bool "internal"
- depends on PACKAGE_wpa-supplicant || PACKAGE_wpad
-
-config WPA_SUPPLICANT_OPENSSL
- bool "openssl"
- select PACKAGE_libopenssl
-
-config WPA_SUPPLICANT_WOLFSSL
- bool "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
-
-endchoice
-
config WPA_RFKILL_SUPPORT
bool "Add rfkill support"
- depends on PACKAGE_wpa-supplicant || PACKAGE_wpa-supplicant-mesh || PACKAGE_wpa-supplicant-mini || PACKAGE_wpad || PACKAGE_wpad-mini || PACKAGE_wpad-mesh
+ depends on PACKAGE_wpa-supplicant || \
+ PACKAGE_wpa-supplicant-openssl || \
+ PACKAGE_wpa-supplicant-wolfssl || \
+ PACKAGE_wpa-supplicant-mesh || \
+ PACKAGE_wpa-supplicant-mini || \
+ 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 || \
+ PACKAGE_wpa-supplicant-mini || \
+ 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:
@@ -53,6 +55,24 @@ config WPA_MSG_MIN_PRIORITY
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
diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile
index 933ad9a231..45d1883e95 100644
--- a/package/network/services/hostapd/Makefile
+++ b/package/network/services/hostapd/Makefile
@@ -7,7 +7,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=hostapd
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE_URL:=http://w1.fi/hostap.git
PKG_SOURCE_PROTO:=git
@@ -30,39 +30,58 @@ PKG_CONFIG_DEPENDS:= \
CONFIG_WPA_RFKILL_SUPPORT \
CONFIG_DRIVER_WEXT_SUPPORT \
CONFIG_DRIVER_11N_SUPPORT \
- CONFIG_DRIVER_11AC_SUPPORT
+ CONFIG_DRIVER_11AC_SUPPORT \
LOCAL_TYPE=$(strip \
$(if $(findstring wpad,$(BUILD_VARIANT)),wpad, \
$(if $(findstring supplicant,$(BUILD_VARIANT)),supplicant, \
hostapd \
- )))
-LOCAL_VARIANT=$(patsubst wpad-%,%,$(patsubst supplicant-%,%,$(BUILD_VARIANT)))
+ )))
+
+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
-ifneq ($(LOCAL_TYPE),hostapd)
- ifeq ($(LOCAL_VARIANT),full)
- PKG_CONFIG_DEPENDS += \
- CONFIG_WPA_SUPPLICANT_INTERNAL \
- CONFIG_WPA_SUPPLICANT_OPENSSL \
- CONFIG_WPA_SUPPLICANT_WOLFSSL
- endif
- ifeq ($(LOCAL_VARIANT),mesh)
- PKG_CONFIG_DEPENDS += \
- CONFIG_WPA_SUPPLICANT_OPENSSL \
- CONFIG_WPA_SUPPLICANT_WOLFSSL
- endif
-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)
+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_PROVIDERS:=$(WPAD_PROVIDERS) $(HOSTAPD_ONLY_PROVIDERS) $(SUPPLICANT_ONLY_PROVIDERS)
+
ifneq ($(CONFIG_DRIVER_11N_SUPPORT),)
HOSTAPD_IEEE80211N:=y
endif
@@ -78,29 +97,31 @@ DRIVER_MAKEOPTS= \
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
ifneq ($(LOCAL_TYPE),hostapd)
- ifdef CONFIG_WPA_SUPPLICANT_OPENSSL
- ifeq ($(LOCAL_VARIANT),full)
+ ifeq ($(LOCAL_VARIANT),full)
+ ifeq ($(SSL_VARIANT),openssl)
DRIVER_MAKEOPTS += CONFIG_TLS=openssl
TARGET_LDFLAGS += -lcrypto -lssl
endif
- endif
- ifdef CONFIG_WPA_SUPPLICANT_WOLFSSL
- ifeq ($(LOCAL_VARIANT),full)
+ ifeq ($(SSL_VARIANT),wolfssl)
DRIVER_MAKEOPTS += CONFIG_TLS=wolfssl CONFIG_WPS_NFC=1
TARGET_LDFLAGS += -lwolfssl
endif
endif
ifeq ($(LOCAL_VARIANT),mesh)
- ifndef CONFIG_WPA_SUPPLICANT_WOLFSSL
+ ifeq ($(SSL_VARIANT),openssl)
DRIVER_MAKEOPTS += CONFIG_TLS=openssl CONFIG_AP=y CONFIG_SAE=y CONFIG_MESH=y
TARGET_LDFLAGS += -lcrypto -lssl
- else
+ 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
@@ -134,8 +155,25 @@ endef
define Package/hostapd
$(call Package/hostapd/Default)
TITLE+= (full)
- VARIANT:=full
- CONFLICTS:=wpad wpad-mini wpad-mesh
+ 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
@@ -143,21 +181,26 @@ define Package/hostapd/description
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:=wpad wpad-mini wpad-mesh
+ 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:=@PACKAGE_hostapd||PACKAGE_hostapd-mini||PACKAGE_wpad||PACKAGE_wpad-mesh||PACKAGE_wpad-mini
+ DEPENDS:=@$(subst $(space),||,$(foreach pkg,$(HOSTAPD_PROVIDERS),PACKAGE_$(pkg)))
endef
define Package/hostapd-utils/description
@@ -171,13 +214,36 @@ define Package/wpad/Default
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)
- DEPENDS+=+WPA_SUPPLICANT_OPENSSL:libopenssl +WPA_SUPPLICANT_WOLFSSL:libwolfssl
- VARIANT:=wpad-full
+ VARIANT:=wpad-full-internal
+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
@@ -185,6 +251,9 @@ define Package/wpad/description
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)
@@ -195,25 +264,59 @@ 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
+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:=$(DRV_DEPENDS) +libubus +WPA_SUPPLICANT_OPENSSL:libopenssl +WPA_SUPPLICANT_INTERNAL:libopenssl +WPA_SUPPLICANT_WOLFSSL:libwolfssl @PACKAGE_kmod-cfg80211 @(!TARGET_uml||BROKEN)
- VARIANT:=wpad-mesh
+ 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
-define Package/wpa-supplicant
+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) +WPA_SUPPLICANT_OPENSSL:libopenssl +WPA_SUPPLICANT_WOLFSSL:libwolfssl
- CONFLICTS:=wpad wpad-mini wpad-mesh
- VARIANT:=supplicant-full
+ DEPENDS:=$(DRV_DEPENDS)
+endef
+
+define Package/wpa-supplicant
+ $(Package/wpa-supplicant/Default)
+ CONFLICTS:=$(filter-out wpa-supplicant ,$(SUPPLICANT_ONLY_PROVIDERS))
+ VARIANT:=supplicant-full-internal
+endef
+
+define Package/wpa-supplicant-openssl
+ $(Package/wpa-supplicant/Default)
+ CONFLICTS:=$(filter-out wpa-supplicant-openssl ,$(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 ,$(SUPPLICANT_ONLY_PROVIDERS))
+ VARIANT:=supplicant-full-wolfssl
+ DEPENDS+=+libwolfssl
+ PROVIDES:=wpa-supplicant
endef
define Package/wpa-supplicant/config
@@ -224,30 +327,45 @@ define Package/wpa-supplicant-p2p
$(Package/wpa-supplicant)
TITLE:=WPA Supplicant (with Wi-Fi P2P support)
DEPENDS:=$(DRV_DEPENDS) @PACKAGE_kmod-cfg80211
- CONFLICTS:=wpad wpad-mini wpad-mesh
- VARIANT:=supplicant-p2p
+ CONFLICTS:=$(filter-out wpa-supplicant-p2p ,$(SUPPLICANT_ONLY_PROVIDERS))
+ VARIANT:=supplicant-p2p-internal
+ PROVIDES:=wpa-supplicant
endef
-define Package/wpa-supplicant-mesh
+define Package/wpa-supplicant-mesh/Default
$(Package/wpa-supplicant)
TITLE:=WPA Supplicant (with 802.11s and SAE)
- DEPENDS:=$(DRV_DEPENDS) +WPA_SUPPLICANT_OPENSSL:libopenssl +WPA_SUPPLICANT_INTERNAL:libopenssl +WPA_SUPPLICANT_WOLFSSL:libwolfssl @PACKAGE_kmod-cfg80211 @(!TARGET_uml||BROKEN)
- CONFLICTS:=wpad wpad-mesh wpad-mesh
- VARIANT:=supplicant-mesh
+ 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)
TITLE:=WPA Supplicant (minimal version)
DEPENDS:=$(DRV_DEPENDS)
- CONFLICTS:=wpad wpad-mini wpad-mesh
+ CONFLICTS:=$(filter-out wpa-supplicant-mini ,$(SUPPLICANT_ONLY_PROVIDERS))
VARIANT:=supplicant-mini
+ PROVIDES:=wpa-supplicant
endef
define Package/wpa-cli
SECTION:=net
CATEGORY:=Network
- DEPENDS:=@PACKAGE_wpa-supplicant||PACKAGE_wpa-supplicant-p2p||PACKAGE_wpad-mini||PACKAGE_wpad||PACKAGE_wpad-mesh
+ DEPENDS:=@$(subst $(space),||,$(foreach pkg,$(SUPPLICANT_PROVIDERS),PACKAGE_$(pkg)))
TITLE:=WPA Supplicant command line control utility
endef
@@ -261,8 +379,26 @@ define Package/eapol-test
TITLE:=802.1x authentication test utility
SECTION:=net
CATEGORY:=Network
- VARIANT:=supplicant-full
- DEPENDS:=$(DRV_DEPENDS) +WPA_SUPPLICANT_OPENSSL:libopenssl +WPA_SUPPLICANT_WOLFSSL:libwolfssl
+ 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
+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
endef
@@ -350,7 +486,19 @@ define Build/Compile/supplicant
)
endef
-define Build/Compile/supplicant-full
+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 \
)
@@ -379,6 +527,8 @@ define Package/hostapd/install
$(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
@@ -396,7 +546,10 @@ define Package/wpad/install
$(LN) wpad $(1)/usr/sbin/wpa_supplicant
endef
Package/wpad-mini/install = $(Package/wpad/install)
-Package/wpad-mesh/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))
@@ -404,7 +557,10 @@ define Package/wpa-supplicant/install
endef
Package/wpa-supplicant-mini/install = $(Package/wpa-supplicant/install)
Package/wpa-supplicant-p2p/install = $(Package/wpa-supplicant/install)
-Package/wpa-supplicant-mesh/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
@@ -413,23 +569,47 @@ ifneq ($(LOCAL_TYPE),hostapd)
endef
endif
-ifeq ($(BUILD_VARIANT),supplicant-full)
+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))
+$(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))
+$(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))