summaryrefslogtreecommitdiff
path: root/package/hostapd
diff options
context:
space:
mode:
Diffstat (limited to 'package/hostapd')
-rw-r--r--package/hostapd/Makefile132
-rw-r--r--package/hostapd/files/default.config69
-rw-r--r--package/hostapd/files/mini.config69
-rw-r--r--package/hostapd/patches/001-cross_compile_fix.patch35
-rw-r--r--package/hostapd/patches/100-madwifi_fixes.patch52
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)