add hostapd
authorFelix Fietkau <nbd@openwrt.org>
Sun, 11 Jun 2006 00:41:16 +0000 (00:41 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 11 Jun 2006 00:41:16 +0000 (00:41 +0000)
SVN-Revision: 3932

openwrt/package/hostapd/Makefile [new file with mode: 0644]
openwrt/package/hostapd/files/default.config [new file with mode: 0644]
openwrt/package/hostapd/files/mini.config [new file with mode: 0644]
openwrt/package/hostapd/ipkg/hostapd-mini.conffiles [new file with mode: 0644]
openwrt/package/hostapd/ipkg/hostapd.conffiles [new file with mode: 0644]
openwrt/package/hostapd/patches/001-cross_compile_fix.patch [new file with mode: 0644]

diff --git a/openwrt/package/hostapd/Makefile b/openwrt/package/hostapd/Makefile
new file mode 100644 (file)
index 0000000..9c2ecea
--- /dev/null
@@ -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/openwrt/package/hostapd/files/default.config b/openwrt/package/hostapd/files/default.config
new file mode 100644 (file)
index 0000000..e2237d6
--- /dev/null
@@ -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/openwrt/package/hostapd/files/mini.config b/openwrt/package/hostapd/files/mini.config
new file mode 100644 (file)
index 0000000..912bee8
--- /dev/null
@@ -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/openwrt/package/hostapd/ipkg/hostapd-mini.conffiles b/openwrt/package/hostapd/ipkg/hostapd-mini.conffiles
new file mode 100644 (file)
index 0000000..f619800
--- /dev/null
@@ -0,0 +1 @@
+/etc/hostapd.conf
diff --git a/openwrt/package/hostapd/ipkg/hostapd.conffiles b/openwrt/package/hostapd/ipkg/hostapd.conffiles
new file mode 100644 (file)
index 0000000..f619800
--- /dev/null
@@ -0,0 +1 @@
+/etc/hostapd.conf
diff --git a/openwrt/package/hostapd/patches/001-cross_compile_fix.patch b/openwrt/package/hostapd/patches/001-cross_compile_fix.patch
new file mode 100644 (file)
index 0000000..8b5ca68
--- /dev/null
@@ -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