aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/hostapd/Makefile110
-rw-r--r--package/hostapd/files/default.config69
-rw-r--r--package/hostapd/files/mini.config69
-rw-r--r--package/hostapd/ipkg/hostapd-mini.conffiles1
-rw-r--r--package/hostapd/ipkg/hostapd.conffiles1
-rw-r--r--package/hostapd/patches/001-cross_compile_fix.patch35
6 files changed, 285 insertions, 0 deletions
diff --git a/package/hostapd/Makefile b/package/hostapd/Makefile
new file mode 100644
index 0000000000..9c2ecea430
--- /dev/null
+++ b/package/hostapd/Makefile
@@ -0,0 +1,110 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=hostapd
+PKG_VERSION:=0.5.3
+PKG_RELEASE:=1
+PKG_MD5SUM:=4e3134e8b0d86e831230f8c620fd81bb
+PKG_BUILDDEP:=madwifi
+
+PKG_SOURCE_URL:=http://hostap.epitest.fi/releases/
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+
+include $(TOPDIR)/package/rules.mk
+
+
+define Build/ConfigureTarget
+ $(CP) $(PKG_BUILD_DIR) $(PKG_BUILD_DIR)_$(1)
+ $(CP) ./files/$(1).config $(PKG_BUILD_DIR)_$(1)/.config
+endef
+
+define Build/CompileTarget
+ $(MAKE) -C $(PKG_BUILD_DIR)_$(1) \
+ $(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 hostapd_cli
+ $(CP) $(PKG_BUILD_DIR)_$(1)/hostapd_cli $(PKG_BUILD_DIR)/
+endef
+
+define Package/InstallTemplate
+ if [ \! -f "$(PKG_BUILD_DIR)_$(2)/hostapd" ]; then \
+ rm -f $(PKG_BUILD_DIR)/.built; \
+ $(MAKE) $(PKG_BUILD_DIR)/.built; \
+ fi
+ install -m0755 -d $$(1)/etc
+ install -m0600 $(PKG_BUILD_DIR)_$(2)/madwifi.conf $$(1)/etc/hostapd.conf
+ install -m0755 -d $$(1)/usr/sbin
+ install -m0755 $(PKG_BUILD_DIR)_$(2)/hostapd $$(1)/usr/sbin/
+endef
+
+define Package/Template
+ ifneq ($(CONFIG_PACKAGE_$(1)),)
+ define Build/Configure/$(2)
+ $(call Build/ConfigureTarget,$(2))
+ endef
+ define Build/Compile/$(2)
+ $(call Build/CompileTarget,$(2))
+ endef
+ endif
+
+ define Package/$(1)/install
+ $(call Package/InstallTemplate,$(1),$(2))
+ endef
+endef
+
+define Build/Configure
+ $(call Build/Configure/default)
+ $(call Build/Configure/mini)
+endef
+
+define Build/Compile
+ $(call Build/Compile/default)
+ $(call Build/Compile/mini)
+endef
+
+define Build/Clean
+ rm -rf $(PKG_BUILD_DIR)_default
+ rm -rf $(PKG_BUILD_DIR)_mini
+endef
+
+define Package/hostapd
+SECTION:=net
+CATEGORY:=Network
+DEPENDS:=+libopenssl
+TITLE:=IEEE 802.1x Authenticator
+DESCRIPTION:=IEEE 802.1x/WPA/EAP/RADIUS Authenticator
+URL:=http://hostap.epitest.fi/
+endef
+
+define Package/hostapd-mini
+$(call Package/hostapd)
+TITLE:=IEEE 802.1x Authenticator (WPA-PSK only)
+DESCRIPTION:=IEEE 802.1x/WPA/EAP/RADIUS Authenticator (WPA-PSK only)
+endef
+
+define Package/hostapd-utils
+$(call Package/hostapd)
+DEPENDS:=@PACKAGE_hostapd||PACKAGE_hostapd-mini
+TITLE:=IEEE 802.1x Authenticator (utils)
+DESCRIPTION:=IEEE 802.1x/WPA/EAP/RADIUS Authenticator (command line utils)
+endef
+
+define Package/hostapd-utils/install
+ install -m0755 -d $(1)/usr/sbin
+ install -m0755 $(PKG_BUILD_DIR)/hostapd_cli $(1)/usr/sbin/
+endef
+
+
+$(eval $(call Package/Template,hostapd,default))
+$(eval $(call Package/Template,hostapd-mini,mini))
+
+$(eval $(call BuildPackage,hostapd))
+$(eval $(call BuildPackage,hostapd-mini))
+$(eval $(call BuildPackage,hostapd-utils))
+
diff --git a/package/hostapd/files/default.config b/package/hostapd/files/default.config
new file mode 100644
index 0000000000..e2237d6d8d
--- /dev/null
+++ b/package/hostapd/files/default.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/mini.config b/package/hostapd/files/mini.config
new file mode 100644
index 0000000000..912bee8d7f
--- /dev/null
+++ b/package/hostapd/files/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/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.conffiles b/package/hostapd/ipkg/hostapd.conffiles
new file mode 100644
index 0000000000..f61980010e
--- /dev/null
+++ b/package/hostapd/ipkg/hostapd.conffiles
@@ -0,0 +1 @@
+/etc/hostapd.conf
diff --git a/package/hostapd/patches/001-cross_compile_fix.patch b/package/hostapd/patches/001-cross_compile_fix.patch
new file mode 100644
index 0000000000..8b5ca681d2
--- /dev/null
+++ b/package/hostapd/patches/001-cross_compile_fix.patch
@@ -0,0 +1,35 @@
+Common subdirectories: hostapd-0.5.2/logwatch and hostapd-0.5.2.new/logwatch
+diff -u hostapd-0.5.2/Makefile hostapd-0.5.2.new/Makefile
+--- hostapd-0.5.2/Makefile 2006-03-20 03:20:09.000000000 +0000
++++ hostapd-0.5.2.new/Makefile 2006-03-21 22:25:23.803473592 +0000
+@@ -3,7 +3,7 @@
+ DIR_HOSTAP=.
+
+ ifndef CFLAGS
+-CFLAGS = -MMD -O2 -Wall -g
++CFLAGS = -MMD $(OPTFLAGS) $(CPPFLAGS)
+ endif
+
+ # define HOSTAPD_DUMP_STATE to include SIGUSR1 handler for dumping state to
+@@ -266,7 +266,7 @@
+ for i in $(ALL); do cp $$i /usr/local/bin/$$i; done
+
+ hostapd: $(OBJS)
+- $(CC) -o hostapd $(OBJS) $(LIBS)
++ $(CC) -o hostapd $(OBJS) $(LDFLAGS) $(LIBS)
+
+ driver_conf.c: Makefile .config
+ rm -f driver_conf.c
+@@ -330,10 +330,10 @@
+ endif
+
+ nt_password_hash: $(NOBJS)
+- $(CC) -o nt_password_hash $(NOBJS) $(LIBS_n)
++ $(CC) -o nt_password_hash $(NOBJS) $(LDFLAGS) $(LIBS_n)
+
+ hlr_auc_gw: $(HOBJS)
+- $(CC) -o hlr_auc_gw $(HOBJS) $(LIBS_h)
++ $(CC) -o hlr_auc_gw $(HOBJS) $(LDFLAGS) $(LIBS_h)
+
+ clean:
+ rm -f core *~ *.o hostapd hostapd_cli nt_password_hash hlr_auc_gw