From 27828bb0a4d584e1869ce8aadbe62131479f7f97 Mon Sep 17 00:00:00 2001 From: nbd Date: Sun, 11 Jun 2006 00:41:16 +0000 Subject: [PATCH] add hostapd git-svn-id: svn://svn.openwrt.org/openwrt/branches/buildroot-ng/openwrt@3932 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/hostapd/Makefile | 110 ++++++++++++++++++ package/hostapd/files/default.config | 69 +++++++++++ package/hostapd/files/mini.config | 69 +++++++++++ package/hostapd/ipkg/hostapd-mini.conffiles | 1 + package/hostapd/ipkg/hostapd.conffiles | 1 + .../patches/001-cross_compile_fix.patch | 35 ++++++ 6 files changed, 285 insertions(+) create mode 100644 package/hostapd/Makefile create mode 100644 package/hostapd/files/default.config create mode 100644 package/hostapd/files/mini.config create mode 100644 package/hostapd/ipkg/hostapd-mini.conffiles create mode 100644 package/hostapd/ipkg/hostapd.conffiles create mode 100644 package/hostapd/patches/001-cross_compile_fix.patch diff --git a/package/hostapd/Makefile b/package/hostapd/Makefile new file mode 100644 index 000000000..9c2ecea43 --- /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 000000000..e2237d6d8 --- /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 000000000..912bee8d7 --- /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 000000000..f61980010 --- /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 000000000..f61980010 --- /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 000000000..8b5ca681d --- /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 -- 2.35.1