aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/hostapd/Config.in49
-rw-r--r--package/hostapd/Makefile61
-rw-r--r--package/hostapd/files/hostapd-mini.config69
-rw-r--r--package/hostapd/files/hostapd.config (renamed from package/hostapd/files/config)0
-rw-r--r--package/hostapd/ipkg/hostapd-mini.conffiles1
-rw-r--r--package/hostapd/ipkg/hostapd-mini.control5
-rw-r--r--package/hostapd/ipkg/hostapd-utils.control5
-rw-r--r--package/hostapd/ipkg/hostapd.control1
8 files changed, 175 insertions, 16 deletions
diff --git a/package/hostapd/Config.in b/package/hostapd/Config.in
index db72ff02b2..7a66d876dd 100644
--- a/package/hostapd/Config.in
+++ b/package/hostapd/Config.in
@@ -1,14 +1,61 @@
+config BR2_COMPILE_HOSTAPD
+ tristate
+ default n
+ depends BR2_PACKAGE_HOSTAPD || BR2_PACKAGE_HOSTAPD_MINI || BR2_PACKAGE_HOSTAPD_UTILS
+ select BR2_PACKAGE_KMOD_MADWIFI
+
config BR2_PACKAGE_HOSTAPD
prompt "hostapd........................... An IEEE 802.11 AP, IEEE 802.1x/WPA/WPA2/EAP/RADIUS Authenticator"
tristate
default m if CONFIG_DEVEL
- select BR2_PACKAGE_KMOD_MADWIFI
+ select BR2_COMPILE_HOSTAPD
select BR2_PACKAGE_LIBOPENSSL
help
+
+ hostapd is a user space daemon for access point and
+ authentication servers. It implements IEEE 802.11 access point
+ management, IEEE 802.1X/WPA/WPA2/EAP Authenticators, RADIUS
+ client, EAP server, and RADIUS authentication server.
+
+ http://hostap.epitest.fi/hostapd/
+
+ Includes:
+ - hostapd
+
+config BR2_PACKAGE_HOSTAPD_MINI
+ prompt "hostapd-mini...................... An IEEE 802.11 AP, IEEE 802.1x/WPA/WPA2/EAP/RADIUS Authenticator (without EAP TLS/TTLS support)"
+ tristate
+ default m if CONFIG_DEVEL
+ select BR2_COMPILE_HOSTAPD
+ help
+
+ hostapd is a user space daemon for access point and
+ authentication servers. It implements IEEE 802.11 access point
+ management, IEEE 802.1X/WPA/WPA2/EAP Authenticators, RADIUS
+ client, EAP server, and RADIUS authentication server.
+
+ http://hostap.epitest.fi/hostapd/
+
+ Includes:
+ - hostapd (built with WPA support only)
+
+config BR2_PACKAGE_HOSTAPD_UTILS
+ prompt "hostapd-utils..................... An IEEE 802.11 AP, IEEE 802.1x/WPA/WPA2/EAP/RADIUS Authenticator (CLI utility)"
+ tristate
+ default m if CONFIG_DEVEL
+ select BR2_COMPILE_HOSTAPD
+ help
+
hostapd is a user space daemon for access point and
authentication servers. It implements IEEE 802.11 access point
management, IEEE 802.1X/WPA/WPA2/EAP Authenticators, RADIUS
client, EAP server, and RADIUS authentication server.
http://hostap.epitest.fi/hostapd/
+
+ Includes:
+ - hostapd_cli
+if (BR2_PACKAGE_HOSTAPD = y) && (BR2_PACKAGE_HOSTAPD_MINI = y)
+ comment "WARNING: both hostapd and hostapd-mini are selected for installation !"
+endif
diff --git a/package/hostapd/Makefile b/package/hostapd/Makefile
index f801256956..ac45e7f7bc 100644
--- a/package/hostapd/Makefile
+++ b/package/hostapd/Makefile
@@ -16,31 +16,62 @@ PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
include $(TOPDIR)/package/rules.mk
+define PKG_build
+
+ifneq ($(BR2_PACKAGE_$(1)),)
+BUILD_TARGETS += $(PKG_INSTALL_DIR)/$(2)/hostapd
+endif
+
+$(PKG_INSTALL_DIR)/$(2)/hostapd: $(PKG_BUILD_DIR)/.prepared
+ -$(MAKE) -C $(PKG_BUILD_DIR) clean
+ $(CP) ./files/$(2).config $(PKG_BUILD_DIR)/.config
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ $(TARGET_CONFIGURE_OPTS) \
+ OPTFLAGS="$(TARGET_CFLAGS)" \
+ CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/include/madwifi" \
+ LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
+ hostapd
+ mkdir -p $(PKG_INSTALL_DIR)/$(2)
+ $(CP) $(PKG_BUILD_DIR)/hostapd $(PKG_INSTALL_DIR)/$(2)/
+ touch $$@
+
+$$(IPKG_$(1)): $(PKG_INSTALL_DIR)/$(2)/hostapd
+ install -m0755 -d $$(IDIR_$(1))/etc
+ install -m0600 $(PKG_BUILD_DIR)/madwifi.conf $$(IDIR_$(1))/etc/hostapd.conf
+ install -m0755 -d $$(IDIR_$(1))/usr/sbin
+ install -m0755 $(PKG_INSTALL_DIR)/$(2)/hostapd $$(IDIR_$(1))/usr/sbin/
+ $(RSTRIP) $$(IDIR_$(1))
+ $(IPKG_BUILD) $$(IDIR_$(1)) $(PACKAGE_DIR)
+
+endef
+
$(eval $(call PKG_template,HOSTAPD,hostapd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,HOSTAPD_MINI,hostapd-mini,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_template,HOSTAPD_UTILS,hostapd-utils,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(eval $(call PKG_build,HOSTAPD,hostapd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+$(eval $(call PKG_build,HOSTAPD_MINI,hostapd-mini,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
$(PKG_BUILD_DIR)/.configured:
- $(CP) ./files/config $(PKG_BUILD_DIR)/.config
+ $(CP) ./files/hostapd.config $(PKG_BUILD_DIR)/.config
touch $@
-$(PKG_BUILD_DIR)/.built:
+$(PKG_BUILD_DIR)/.built: $(BUILD_TARGETS)
$(MAKE) -C $(PKG_BUILD_DIR) \
$(TARGET_CONFIGURE_OPTS) \
OPTFLAGS="$(TARGET_CFLAGS)" \
- CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/usr/include/madwifi" \
- LDFLAGS="-L$(STAGING_DIR)/lib -L$(STAGING_DIR)/usr/lib" \
- all
+ CPPFLAGS="-I$(STAGING_DIR)/usr/include -I$(STAGING_DIR)/include -I$(STAGING_DIR)/usr/include/madwifi" \
+ LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \
+ hostapd_cli
touch $@
-$(IPKG_HOSTAPD):
- install -m0755 -d $(IDIR_HOSTAPD)/etc
- install -m0600 $(PKG_BUILD_DIR)/madwifi.conf $(IDIR_HOSTAPD)/etc/hostapd.conf
- install -m0755 -d $(IDIR_HOSTAPD)/usr/sbin
- install -m0755 $(PKG_BUILD_DIR)/hostapd $(IDIR_HOSTAPD)/usr/sbin/
- install -m0755 $(PKG_BUILD_DIR)/hostapd_cli $(IDIR_HOSTAPD)/usr/sbin/
- $(RSTRIP) $(IDIR_HOSTAPD)
- $(IPKG_BUILD) $(IDIR_HOSTAPD) $(PACKAGE_DIR)
+$(IPKG_HOSTAPD_UTILS): $(PKG_BUILD_DIR)/.built
+ install -m0755 -d $(IDIR_HOSTAPD_UTILS)/usr/sbin
+ install -m0755 $(PKG_BUILD_DIR)/hostapd_cli $(IDIR_HOSTAPD_UTILS)/usr/sbin/
+ $(RSTRIP) $(IDIR_HOSTAPD_UTILS)
+ $(IPKG_BUILD) $(IDIR_HOSTAPD_UTILS) $(PACKAGE_DIR)
mostlyclean:
- make -C $(PKG_BUILD_DIR) clean
- rm $(PKG_BUILD_DIR)/.built
+ -$(MAKE) -C $(PKG_BUILD_DIR) clean
+ rm -f $(PKG_BUILD_DIR)/.built
diff --git a/package/hostapd/files/hostapd-mini.config b/package/hostapd/files/hostapd-mini.config
new file mode 100644
index 0000000000..912bee8d7f
--- /dev/null
+++ b/package/hostapd/files/hostapd-mini.config
@@ -0,0 +1,69 @@
+# 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 madwifi driver
+CONFIG_DRIVER_MADWIFI=y
+#CFLAGS += -I../head # change to reflect local setup; directory for madwifi src
+
+# Driver interface for Prism54 driver
+#CONFIG_DRIVER_PRISM54=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
+
+# IEEE 802.11F/IAPP
+CONFIG_IAPP=y
+
+# WPA2/IEEE 802.11i RSN pre-authentication
+CONFIG_RSN_PREAUTH=y
+
+# Integrated EAP authenticator
+CONFIG_EAP=y
+
+# EAP-MD5 for the integrated EAP authenticator
+#CONFIG_EAP_MD5=y
+
+# EAP-TLS for the integrated EAP authenticator
+#CONFIG_EAP_TLS=y
+
+# EAP-MSCHAPv2 for the integrated EAP authenticator
+#CONFIG_EAP_MSCHAPV2=y
+
+# EAP-PEAP for the integrated EAP authenticator
+#CONFIG_EAP_PEAP=y
+
+# EAP-PSK for the integrated EAP authenticator
+CONFIG_EAP_PSK=y
+
+# EAP-GTC for the integrated EAP authenticator
+#CONFIG_EAP_GTC=y
+
+# EAP-TTLS for the integrated EAP authenticator
+#CONFIG_EAP_TTLS=y
+
+# EAP-SIM for the integrated EAP authenticator
+#CONFIG_EAP_SIM=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
+# authenticator from external hosts using RADIUS.
+#CONFIG_RADIUS_SERVER=y
diff --git a/package/hostapd/files/config b/package/hostapd/files/hostapd.config
index e2237d6d8d..e2237d6d8d 100644
--- a/package/hostapd/files/config
+++ b/package/hostapd/files/hostapd.config
diff --git a/package/hostapd/ipkg/hostapd-mini.conffiles b/package/hostapd/ipkg/hostapd-mini.conffiles
new file mode 100644
index 0000000000..f61980010e
--- /dev/null
+++ b/package/hostapd/ipkg/hostapd-mini.conffiles
@@ -0,0 +1 @@
+/etc/hostapd.conf
diff --git a/package/hostapd/ipkg/hostapd-mini.control b/package/hostapd/ipkg/hostapd-mini.control
new file mode 100644
index 0000000000..5118ba76ac
--- /dev/null
+++ b/package/hostapd/ipkg/hostapd-mini.control
@@ -0,0 +1,5 @@
+Package: hostapd-mini
+Priority: optional
+Section: net
+Depends: kmod-madwifi
+Description: an IEEE 802.11 AP, IEEE 802.1x/WPA/WPA2/EAP/RADIUS Authenticator (with EAP/PSK only)
diff --git a/package/hostapd/ipkg/hostapd-utils.control b/package/hostapd/ipkg/hostapd-utils.control
new file mode 100644
index 0000000000..5f8d82d9c4
--- /dev/null
+++ b/package/hostapd/ipkg/hostapd-utils.control
@@ -0,0 +1,5 @@
+Package: hostapd-utils
+Priority: optional
+Section: net
+Depends: hostapd
+Description: an IEEE 802.11 AP, IEEE 802.1x/WPA/WPA2/EAP/RADIUS Authenticator (CLI utility)
diff --git a/package/hostapd/ipkg/hostapd.control b/package/hostapd/ipkg/hostapd.control
index 4ee883e6d6..cb2dac672b 100644
--- a/package/hostapd/ipkg/hostapd.control
+++ b/package/hostapd/ipkg/hostapd.control
@@ -2,4 +2,5 @@ Package: hostapd
Priority: optional
Section: net
Depends: kmod-madwifi, libopenssl
+Provides: hostpad
Description: an IEEE 802.11 AP, IEEE 802.1x/WPA/WPA2/EAP/RADIUS Authenticator