These new variants include support for mesh mode and SAE crypto. They always depend on openssl as EC operations are not provided by the internal crypto implementation.
Signed-off-by: Daniel Golle <[email protected]> --- package/network/services/hostapd/Config.in | 7 +++-- package/network/services/hostapd/Makefile | 50 +++++++++++++++++++++++++----- 2 files changed, 46 insertions(+), 11 deletions(-) diff --git a/package/network/services/hostapd/Config.in b/package/network/services/hostapd/Config.in index b39be38..65125a3 100644 --- a/package/network/services/hostapd/Config.in +++ b/package/network/services/hostapd/Config.in @@ -1,7 +1,7 @@ # wpa_supplicant config config WPA_SUPPLICANT_NO_TIMESTAMP_CHECK bool "Disable timestamp check" - depends on PACKAGE_wpa-supplicant || PACKAGE_wpa-supplicant-mini || PACKAGE_wpad || PACKAGE_wpad-mini + depends on PACKAGE_wpa-supplicant || PACKAGE_wpa-supplicant-mesh || PACKAGE_wpa-supplicant-mini || PACKAGE_wpad || PACKAGE_wpad-mini || PACAKGE_wpad-mesh default n help This disables the timestamp check for certificates in wpa_supplicant @@ -10,10 +10,11 @@ config WPA_SUPPLICANT_NO_TIMESTAMP_CHECK choice prompt "Choose TLS provider" default WPA_SUPPLICANT_INTERNAL - depends on PACKAGE_wpa-supplicant || PACKAGE_wpad + depends on PACKAGE_wpa-supplicant || PACKAGE_wpa-supplicant-mesh || PACKAGE_wpad || PACKAGE_wpad-mesh config WPA_SUPPLICANT_INTERNAL bool "internal" + depends on PACKAGE_wpa-supplicant || PACKAGE_wpad config WPA_SUPPLICANT_OPENSSL bool "openssl" @@ -23,7 +24,7 @@ endchoice config WPA_RFKILL_SUPPORT bool "Add rfkill support" - depends on PACKAGE_wpa-supplicant || PACKAGE_wpa-supplicant-mini || PACKAGE_wpad || PACKAGE_wpad-mini + depends on PACKAGE_wpa-supplicant || PACKAGE_wpa-supplicant-mesh || PACKAGE_wpa-supplicant-mini || PACKAGE_wpad || PACKAGE_wpad-mini || PACKAGE_wpad-mesh default n config WPA_MSG_MIN_PRIORITY diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile index 0ae25e3..6b9e779 100644 --- a/package/network/services/hostapd/Makefile +++ b/package/network/services/hostapd/Makefile @@ -1,4 +1,3 @@ -# # Copyright (C) 2006-2014 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. @@ -48,6 +47,10 @@ ifeq ($(LOCAL_TYPE),supplicant) CONFIG_WPA_SUPPLICANT_INTERNAL \ CONFIG_WPA_SUPPLICANT_OPENSSL endif + ifeq ($(LOCAL_VARIANT),mesh) + PKG_CONFIG_DEPENDS += \ + CONFIG_WPA_SUPPLICANT_OPENSSL + endif endif PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) @@ -74,6 +77,10 @@ ifneq ($(LOCAL_TYPE),hostapd) TARGET_LDFLAGS += -lcrypto -lssl endif endif + ifeq ($(LOCAL_VARIANT),mesh) + DRIVER_MAKEOPTS += CONFIG_TLS=openssl + TARGET_LDFLAGS += -lcrypto -lssl + endif ifdef CONFIG_WPA_SUPPLICANT_NO_TIMESTAMP_CHECK TARGET_CFLAGS += -DNO_TIMESTAMP_CHECK endif @@ -103,7 +110,7 @@ define Package/hostapd $(call Package/hostapd/Default) TITLE+= (full) VARIANT:=full - CONFLICTS:=wpad wpad-mini + CONFLICTS:=wpad wpad-mini wpad-mesh endef define Package/hostapd/description @@ -115,7 +122,7 @@ define Package/hostapd-mini $(call Package/hostapd/Default) TITLE+= (WPA-PSK only) VARIANT:=mini - CONFLICTS:=wpad wpad-mini + CONFLICTS:=wpad wpad-mini wpad-mesh endef define Package/hostapd-mini/description @@ -125,7 +132,7 @@ endef define Package/hostapd-utils $(call Package/hostapd/Default) TITLE+= (utils) - DEPENDS:=@PACKAGE_hostapd||PACKAGE_hostapd-mini||PACKAGE_wpad||PACKAGE_wpad-mini + DEPENDS:=@PACKAGE_hostapd||PACKAGE_hostapd-mini||PACKAGE_wpad||PACKAGE_wpad-mesh||PACKAGE_wpad-mini endef define Package/hostapd-utils/description @@ -163,13 +170,25 @@ 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 +$(call Package/wpad/Default) + TITLE+= (with 802.11s mesh and SAE support) + DEPENDS:=$(DRV_DEPENDS) +libubus +libopenssl +@CONFIG_WPA_SUPPLICANT_OPENSSL + CONFLICTS:=@WPA_SUPPLICANT_INTERNAL + VARIANT:=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 SECTION:=net CATEGORY:=Network TITLE:=WPA Supplicant URL:=http://hostap.epitest.fi/wpa_supplicant/ DEPENDS:=$(DRV_DEPENDS) +WPA_SUPPLICANT_OPENSSL:libopenssl - CONFLICTS:=wpad wpad-mini + CONFLICTS:=wpad wpad-mini wpad-mesh VARIANT:=supplicant-full endef @@ -185,7 +204,7 @@ define Package/wpa-supplicant-p2p $(Package/wpa-supplicant) TITLE:=WPA Supplicant (with Wi-Fi P2P support) DEPENDS:=$(DRV_DEPENDS) - CONFLICTS:=wpad wpad-mini + CONFLICTS:=wpad wpad-mini wpad-mesh VARIANT:=supplicant-p2p endef @@ -193,11 +212,23 @@ define Package/wpa-supplicant-p2p/Description WPA Supplicant (with Wi-Fi P2P support) endef +define Package/wpa-supplicant-mesh + $(Package/wpa-supplicant) + TITLE:=WPA Supplicant (with 802.11s and SAE) + DEPENDS:=$(DRV_DEPENDS) + CONFLICTS:=wpad wpad-mesh wpad-mesh + VARIANT:=supplicant-mesh +endef + +define Package/wpa-supplicant-mesh/Description + WPA Supplicant (variant with 802.11s and SAE support) +endef + define Package/wpa-supplicant-mini $(Package/wpa-supplicant) TITLE:=WPA Supplicant (minimal version) DEPENDS:=$(DRV_DEPENDS) - CONFLICTS:=wpad wpad-mini + CONFLICTS:=wpad wpad-mini wpad-mesh VARIANT:=supplicant-mini endef @@ -208,7 +239,7 @@ endef define Package/wpa-cli SECTION:=net CATEGORY:=Network - DEPENDS:=@PACKAGE_wpa-supplicant||PACKAGE_wpa-supplicant-p2p||PACKAGE_wpad-mini||PACKAGE_wpad + DEPENDS:=@PACKAGE_wpa-supplicant||PACKAGE_wpa-supplicant-p2p||PACKAGE_wpad-mini||PACKAGE_wpad||PACKAGE_wpad-mesh TITLE:=WPA Supplicant command line interface endef @@ -372,6 +403,7 @@ 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) define Package/wpa-supplicant/install $(call Install/supplicant,$(1)) @@ -397,8 +429,10 @@ endif $(eval $(call BuildPackage,hostapd)) $(eval $(call BuildPackage,hostapd-mini)) $(eval $(call BuildPackage,wpad)) +$(eval $(call BuildPackage,wpad-mesh)) $(eval $(call BuildPackage,wpad-mini)) $(eval $(call BuildPackage,wpa-supplicant)) +$(eval $(call BuildPackage,wpa-supplicant-mesh)) $(eval $(call BuildPackage,wpa-supplicant-mini)) $(eval $(call BuildPackage,wpa-supplicant-p2p)) $(eval $(call BuildPackage,wpa-cli)) -- 2.3.3 _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
