From 20f6233941a0393bca7f4ab69b93b1ff61bac4a6 Mon Sep 17 00:00:00 2001 From: nico Date: Sat, 1 Apr 2006 14:40:44 +0000 Subject: [PATCH] add an hostapd-mini package with WPA support only, and move hostapd_cli in a separate hostapd-utils package. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@3564 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- openwrt/package/hostapd/Config.in | 49 ++++++++++++- openwrt/package/hostapd/Makefile | 67 +++++++++++++----- .../package/hostapd/files/hostapd-mini.config | 69 +++++++++++++++++++ .../hostapd/files/{config => hostapd.config} | 0 .../hostapd/ipkg/hostapd-mini.conffiles | 1 + .../package/hostapd/ipkg/hostapd-mini.control | 5 ++ .../hostapd/ipkg/hostapd-utils.control | 5 ++ openwrt/package/hostapd/ipkg/hostapd.control | 1 + 8 files changed, 178 insertions(+), 19 deletions(-) create mode 100644 openwrt/package/hostapd/files/hostapd-mini.config rename openwrt/package/hostapd/files/{config => hostapd.config} (100%) create mode 100644 openwrt/package/hostapd/ipkg/hostapd-mini.conffiles create mode 100644 openwrt/package/hostapd/ipkg/hostapd-mini.control create mode 100644 openwrt/package/hostapd/ipkg/hostapd-utils.control diff --git a/openwrt/package/hostapd/Config.in b/openwrt/package/hostapd/Config.in index db72ff02b..7a66d876d 100644 --- a/openwrt/package/hostapd/Config.in +++ b/openwrt/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/openwrt/package/hostapd/Makefile b/openwrt/package/hostapd/Makefile index f80125695..ac45e7f7b 100644 --- a/openwrt/package/hostapd/Makefile +++ b/openwrt/package/hostapd/Makefile @@ -16,31 +16,62 @@ PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install include $(TOPDIR)/package/rules.mk -$(eval $(call PKG_template,HOSTAPD,hostapd,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH))) +define PKG_build -$(PKG_BUILD_DIR)/.configured: - $(CP) ./files/config $(PKG_BUILD_DIR)/.config - touch $@ +ifneq ($(BR2_PACKAGE_$(1)),) +BUILD_TARGETS += $(PKG_INSTALL_DIR)/$(2)/hostapd +endif -$(PKG_BUILD_DIR)/.built: +$(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)/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 + 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/hostapd.config $(PKG_BUILD_DIR)/.config 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) +$(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)/include -I$(STAGING_DIR)/usr/include/madwifi" \ + LDFLAGS="-L$(STAGING_DIR)/usr/lib -L$(STAGING_DIR)/lib" \ + hostapd_cli + touch $@ + +$(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/openwrt/package/hostapd/files/hostapd-mini.config b/openwrt/package/hostapd/files/hostapd-mini.config new file mode 100644 index 000000000..912bee8d7 --- /dev/null +++ b/openwrt/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/openwrt/package/hostapd/files/config b/openwrt/package/hostapd/files/hostapd.config similarity index 100% rename from openwrt/package/hostapd/files/config rename to openwrt/package/hostapd/files/hostapd.config diff --git a/openwrt/package/hostapd/ipkg/hostapd-mini.conffiles b/openwrt/package/hostapd/ipkg/hostapd-mini.conffiles new file mode 100644 index 000000000..f61980010 --- /dev/null +++ b/openwrt/package/hostapd/ipkg/hostapd-mini.conffiles @@ -0,0 +1 @@ +/etc/hostapd.conf diff --git a/openwrt/package/hostapd/ipkg/hostapd-mini.control b/openwrt/package/hostapd/ipkg/hostapd-mini.control new file mode 100644 index 000000000..5118ba76a --- /dev/null +++ b/openwrt/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/openwrt/package/hostapd/ipkg/hostapd-utils.control b/openwrt/package/hostapd/ipkg/hostapd-utils.control new file mode 100644 index 000000000..5f8d82d9c --- /dev/null +++ b/openwrt/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/openwrt/package/hostapd/ipkg/hostapd.control b/openwrt/package/hostapd/ipkg/hostapd.control index 4ee883e6d..cb2dac672 100644 --- a/openwrt/package/hostapd/ipkg/hostapd.control +++ b/openwrt/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