[OpenWrt-Devel] [PATCH 2/3] hostapd: package wpad-mesh and wpa_supplicant-mesh variants

Daniel Golle daniel at makrotopia.org
Mon Mar 23 13:12:27 EDT 2015


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 <daniel at makrotopia.org>
---
 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 + at 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
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list