diff options
Diffstat (limited to 'package/hostapd')
-rw-r--r-- | package/hostapd/Makefile | 132 | ||||
-rw-r--r-- | package/hostapd/files/default.config | 69 | ||||
-rw-r--r-- | package/hostapd/files/mini.config | 69 | ||||
-rw-r--r-- | package/hostapd/patches/001-cross_compile_fix.patch | 35 | ||||
-rw-r--r-- | package/hostapd/patches/100-madwifi_fixes.patch | 52 |
5 files changed, 357 insertions, 0 deletions
diff --git a/package/hostapd/Makefile b/package/hostapd/Makefile new file mode 100644 index 0000000..ba16193 --- /dev/null +++ b/package/hostapd/Makefile @@ -0,0 +1,132 @@ +# +# Copyright (C) 2006 OpenWrt.org +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# +# $Id$ + +include $(TOPDIR)/rules.mk + +PKG_NAME:=hostapd +PKG_VERSION:=0.5.3 +PKG_RELEASE:=1 + +PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz +PKG_SOURCE_URL:=http://hostap.epitest.fi/releases/ +PKG_MD5SUM:=4e3134e8b0d86e831230f8c620fd81bb +PKG_CAT:=zcat + +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) + +PKG_BUILDDEP:=madwifi + +include $(INCLUDE_DIR)/package.mk + +define Package/hostapd/Default + SECTION:=net + CATEGORY:=Network + TITLE:=IEEE 802.1x Authenticator + URL:=http://hostap.epitest.fi/ +endef + +define Package/hostapd + $(call Package/hostapd/Default) + DEPENDS:=+libopenssl + TITLE+= (full) + DESCRIPTION:=\ + This package contains a full featured IEEE 802.1x/WPA/EAP/RADIUS \\\ + Authenticator. +endef + +define Package/hostapd/conffiles +/etc/hostapd.conf +endef + +define Package/hostapd-mini + $(call Package/hostapd/Default) + TITLE+= (WPA-PSK only) + DESCRIPTION:=\ + This package contains a minimal IEEE 802.1x/WPA/EAP/RADIUS Authenticator \\\ + (WPA-PSK only). +endef + +define Package/hostapd-mini/conffiles +/etc/hostapd.conf +endef + +define Package/hostapd-utils + $(call Package/hostapd/Default) + DEPENDS:=@PACKAGE_hostapd||PACKAGE_hostapd-mini + TITLE+= (utils) + DESCRIPTION:=\ + This package contains a command line utility to control the \\\ + IEEE 802.1x/WPA/EAP/RADIUS Authenticator. +endef + +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 + define Package/$(1)/install + $(call Package/InstallTemplate,$(1),$(2)) + endef + endif +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-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 0000000..e2237d6 --- /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 0000000..912bee8 --- /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/patches/001-cross_compile_fix.patch b/package/hostapd/patches/001-cross_compile_fix.patch new file mode 100644 index 0000000..8b5ca68 --- /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 diff --git a/package/hostapd/patches/100-madwifi_fixes.patch b/package/hostapd/patches/100-madwifi_fixes.patch new file mode 100644 index 0000000..eb7299b --- /dev/null +++ b/package/hostapd/patches/100-madwifi_fixes.patch @@ -0,0 +1,52 @@ +diff -ur hostapd.old/driver_madwifi.c hostapd.dev/driver_madwifi.c +--- hostapd.old/driver_madwifi.c 2006-03-25 20:55:18.000000000 +0100 ++++ hostapd.dev/driver_madwifi.c 2006-06-12 21:54:22.000000000 +0200 +@@ -20,11 +20,6 @@ + + #include <include/compat.h> + #include <net80211/ieee80211.h> +-#ifdef WME_NUM_AC +-/* Assume this is built against BSD branch of madwifi driver. */ +-#define MADWIFI_BSD +-#include <net80211/_ieee80211.h> +-#endif /* WME_NUM_AC */ + #include <net80211/ieee80211_crypto.h> + #include <net80211/ieee80211_ioctl.h> + +@@ -168,7 +164,10 @@ + } + return 0; + } +- ++static int madwifi_get_inact_sec(void *priv, const u8 *addr) ++{ ++return 0; ++} + static int + set80211param(struct madwifi_driver_data *drv, int op, int arg) + { +@@ -1204,8 +1203,6 @@ + goto bad; + } + +- madwifi_set_iface_flags(drv, 0); /* mark down during setup */ +- + hapd->driver = &drv->ops; + return 0; + bad: +@@ -1226,7 +1223,6 @@ + + drv->hapd->driver = NULL; + +- (void) madwifi_set_iface_flags(drv, 0); + if (drv->ioctl_sock >= 0) + close(drv->ioctl_sock); + if (drv->sock_recv != NULL && drv->sock_recv != drv->sock_xmit) +@@ -1306,6 +1452,7 @@ + .get_ssid = madwifi_get_ssid, + .set_countermeasures = madwifi_set_countermeasures, + .sta_clear_stats = madwifi_sta_clear_stats, ++ .get_inact_sec = madwifi_get_inact_sec, + }; + + void madwifi_driver_register(void) |