diff --git a/.cvsignore b/.cvsignore index e69de29..209fe5a 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +hostapd-0.6.9.tar.gz diff --git a/hostapd-MSG_DEBUG.patch b/hostapd-MSG_DEBUG.patch new file mode 100644 index 0000000..aa76275 --- /dev/null +++ b/hostapd-MSG_DEBUG.patch @@ -0,0 +1,21 @@ +diff -up hostapd-0.6.9/hostapd/hostapd.c.orig hostapd-0.6.9/hostapd/hostapd.c +--- hostapd-0.6.9/hostapd/hostapd.c.orig 2009-12-16 14:25:27.000000000 -0500 ++++ hostapd-0.6.9/hostapd/hostapd.c 2009-12-16 14:27:00.000000000 -0500 +@@ -1338,7 +1338,7 @@ static int hostapd_setup_bss(struct host + } + + if (!hostapd_drv_none(hapd)) { +- wpa_printf(MSG_ERROR, "Using interface %s with hwaddr " MACSTR ++ wpa_printf(MSG_DEBUG, "Using interface %s with hwaddr " MACSTR + " and ssid '%s'", + hapd->conf->iface, MAC2STR(hapd->own_addr), + hapd->conf->ssid.ssid); +@@ -1937,7 +1937,7 @@ int main(int argc, char *argv[]) + + /* Initialize interfaces */ + for (i = 0; i < interfaces.count; i++) { +- wpa_printf(MSG_ERROR, "Configuration file: %s", ++ wpa_printf(MSG_DEBUG, "Configuration file: %s", + argv[optind + i]); + interfaces.iface[i] = hostapd_init(argv[optind + i]); + if (!interfaces.iface[i]) diff --git a/hostapd-RPM_OPT_FLAGS.patch b/hostapd-RPM_OPT_FLAGS.patch new file mode 100644 index 0000000..2e6785b --- /dev/null +++ b/hostapd-RPM_OPT_FLAGS.patch @@ -0,0 +1,12 @@ +diff -up hostapd-0.6.9/hostapd/Makefile.orig hostapd-0.6.9/hostapd/Makefile +--- hostapd-0.6.9/hostapd/Makefile.orig 2009-12-16 18:16:19.000000000 -0500 ++++ hostapd-0.6.9/hostapd/Makefile 2009-12-16 18:16:42.000000000 -0500 +@@ -6,6 +6,8 @@ ifndef CFLAGS + CFLAGS = -MMD -O2 -Wall -g + endif + ++CFLAGS += $(EXTRA_CFLAGS) ++ + # define HOSTAPD_DUMP_STATE to include SIGUSR1 handler for dumping state to + # a file (undefine it, if you want to save in binary size) + CFLAGS += -DHOSTAPD_DUMP_STATE diff --git a/hostapd.conf b/hostapd.conf new file mode 100644 index 0000000..3fae6db --- /dev/null +++ b/hostapd.conf @@ -0,0 +1,35 @@ +# +# This will give you a minimal, insecure wireless network. +# +# DO NOT BE SATISFIED WITH THAT!!! +# +# For more information, look here: +# +# http://wireless.kernel.org/en/users/Documentation/hostapd +# + +ctrl_interface=/var/run/hostapd +ctrl_interface_group=wheel + +# Some usable default settings... +macaddr_acl=0 +auth_algs=1 +ignore_broadcast_ssid=0 + +# Uncomment these for base WPA & WPA2 support with a pre-shared key +#wpa=3 +#wpa_key_mgmt=WPA-PSK +#wpa_pairwise=TKIP +#rsn_pairwise=CCMP + +# DO NOT FORGET TO SET A WPA PASSPHRASE!! +#wpa_passphrase=YourPassPhrase + +# Most modern wireless drivers in the kernel need driver=nl80211 +driver=nl80211 + +# Customize these for your local configuration... +interface= +hw_mode= +channel= +ssid= diff --git a/hostapd.init b/hostapd.init new file mode 100644 index 0000000..83b5f20 --- /dev/null +++ b/hostapd.init @@ -0,0 +1,89 @@ +#!/bin/bash +# +# hostapd +# +# chkconfig: - 23 88 +# description: 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 and RADIUS +# authentication server. +# processname: hostapd +# config: /etc/hostapd/hostapd.conf +# +### BEGIN INIT INFO +# Provides: hostapd +# Required-Start: +# Required-Stop: +# Default-Start: +# Default-Stop: 0 1 6 +# Short-Description: start and stop hostapd +# Description: IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator +### END INIT INFO + +# Source function library. +. /etc/rc.d/init.d/functions + +# Source networking configuration. +. /etc/sysconfig/network + +exec="/usr/sbin/hostapd" +prog=hostapd +conf="/etc/hostapd/hostapd.conf" +lockfile=/var/lock/subsys/$prog + +[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog + +start() { + echo -n $"Starting $prog: $conf" + daemon $prog -B $OTHER_ARGS $conf + retval=$? + echo + [ $retval -eq 0 ] && touch $lockfile + return $retval +} + +stop() { + echo -n $"Stopping $prog: " + killproc $prog + retval=$? + echo + [ $retval -eq 0 ] && rm -f $lockfile + return $retval +} + +restart() { + stop + start +} + +reload() { + restart +} + +force_reload() { + restart +} + +fdr_status() { + status $prog +} + + +case "$1" in + start|stop|restart|reload) + $1 + ;; + force-reload) + force_reload + ;; + status) + fdr_status + ;; + condrestart|try-restart) + [ -f $lockfile ] && restart + ;; + *) + echo $"Usage: $0 {start|stop|status|restart|try-restart|reload|force-reload}" + exit 1 +esac + diff --git a/hostapd.spec b/hostapd.spec new file mode 100644 index 0000000..26f8036 --- /dev/null +++ b/hostapd.spec @@ -0,0 +1,165 @@ +Name: hostapd +Version: 0.6.9 +Release: 6%{?dist} +Summary: IEEE 802.11 AP, IEEE 802.1X/WPA/WPA2/EAP/RADIUS Authenticator +Group: System Environment/Daemons +License: BSD +URL: http://w1.fi/hostapd +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) +Source0: %{URL}/%{name}-%{version}.tar.gz +Source1: %{name}.init +Source2: %{name}.conf +Source3: %{name}.sysconfig +Patch0: hostapd-RPM_OPT_FLAGS.patch +Patch1: hostapd-MSG_DEBUG.patch + +BuildRequires: libnl-devel >= 1.1 +BuildRequires: openssl-devel +BuildRequires: gzip + +Requires(post): chkconfig +Requires(preun): chkconfig +# This is for /sbin/service +Requires(preun): initscripts + + +%description +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 and RADIUS authentication server. + +hostapd is designed to be a "daemon" program that runs in the back- +ground and acts as the backend component controlling authentication. +hostapd supports separate frontend programs and an example text-based +frontend, hostapd_cli, is included with hostapd. + +%package logwatch +Summary: Logwatch scripts for hostapd +Requires: %{name} = %{version}-%{release} logwatch perl +%description logwatch +Logwatch scripts for hostapd + + +%prep +%setup -q + +# Hack Makefile to allow use of RPM_OPT_FLAGS +%patch0 -p1 + +# Quiet some unnecessary console spam at startup +%patch1 -p1 + + +%build +cd hostapd +cat defconfig | sed -e '/^#CONFIG_DRIVER_NL80211=y/s/^#//' \ + -e '/^#CONFIG_RADIUS_SERVER=y/s/^#//' \ + -e '/^#CONFIG_DRIVER_WIRED=y/s/^#//' \ + -e '/^#CONFIG_DRIVER_NONE=y/s/^#//' > .config +make %{?_smp_mflags} EXTRA_CFLAGS="$RPM_OPT_FLAGS" + + +%install +rm -rf %{buildroot} + +# init scripts +install -d %{buildroot}/%{_initddir} +install -pm 0755 %{SOURCE1} %{buildroot}/%{_initddir}/hostapd + +# logwatch files +install -d %{buildroot}/%{_sysconfdir}/logwatch/conf/services +install -pm 0644 hostapd/logwatch/hostapd.conf \ + %{buildroot}/%{_sysconfdir}/logwatch/conf/services/hostapd.conf +install -d %{buildroot}/%{_sysconfdir}/logwatch/scripts/services +install -pm 0755 hostapd/logwatch/hostapd \ + %{buildroot}/%{_sysconfdir}/logwatch/scripts/services/hostapd + +# config files +install -d %{buildroot}/%{_sysconfdir}/%{name} +install -pm 0644 %{SOURCE2} %{buildroot}/%{_sysconfdir}/%{name}/hostapd.conf + +install -d %{buildroot}/%{_sysconfdir}/sysconfig +install -pm 0644 %{SOURCE3} %{buildroot}/%{_sysconfdir}/sysconfig/hostapd + +# binaries +install -d %{buildroot}/%{_sbindir} +install -pm 0755 hostapd/hostapd %{buildroot}%{_sbindir}/hostapd +install -pm 0755 hostapd/hostapd_cli %{buildroot}%{_sbindir}/hostapd_cli + +# runtime state directory +install -d %{buildroot}/%{_localstatedir}/run/%{name} + +# man pages +/usr/bin/gzip -c hostapd/hostapd_cli.1 > hostapd/hostapd_cli.1.gz +/usr/bin/gzip -c hostapd/hostapd.8 > hostapd/hostapd.8.gz +install -d %{buildroot}%{_mandir}/man{1,8} +install -pm 0644 hostapd/hostapd_cli.1.gz %{buildroot}%{_mandir}/man1 +install -pm 0644 hostapd/hostapd.8.gz %{buildroot}%{_mandir}/man8 + +# prepare docs +cp hostapd/README ./README.hostapd +cp hostapd/logwatch/README ./README.logwatch + + +%clean +rm -rf %{buildroot} + + +%files +%defattr(-,root,root,-) +%doc COPYING README README.hostapd +%doc hostapd/hostapd.conf hostapd/wired.conf +%doc hostapd/hostapd.accept hostapd/hostapd.deny +%doc hostapd/hostapd.eap_user hostapd/hostapd.radius_clients +%doc hostapd/hostapd.vlan hostapd/hostapd.wpa_psk +%config(noreplace) %{_sysconfdir}/%{name}/hostapd.conf +%config(noreplace) %{_sysconfdir}/sysconfig/hostapd +%{_initddir}/hostapd +%{_sbindir}/hostapd +%{_sbindir}/hostapd_cli +%dir %{_sysconfdir}/%{name} +%dir %{_localstatedir}/run/%{name} +%{_mandir}/man1/* +%{_mandir}/man8/* + +%files logwatch +%defattr(-,root,root,-) +%doc hostapd/logwatch/README +%config(noreplace) %{_sysconfdir}/logwatch/conf/services/hostapd.conf +%{_sysconfdir}/logwatch/scripts/services/hostapd + + +%post +/sbin/chkconfig --add %{name} + + +%preun +if [ $1 = 0 ]; then + /sbin/service %{name} stop >/dev/null 2>&1 + /sbin/chkconfig --del %{name} +fi + + +%changelog +* Thu Dec 17 2009 John W. Linville - 0.6.9-6 +- Enable RADIUS server +- Enable "wired" and "none" drivers +- Use BSD license option + +* Wed Dec 16 2009 John W. Linville - 0.6.9-5 +- Use openssl instead of gnutls (broken) + +* Wed Dec 16 2009 John W. Linville - 0.6.9-4 +- Remove wired.conf from %doc (not in chosen configuration) +- Use $RPM_OPT_FLAGS +- Add %{?dist} tag + +* Wed Dec 16 2009 John W. Linville - 0.6.9-3 +- Use gnutls instead of openssl +- Turn-off internal EAP server (broken w/ gnutls) +- Remove %doc files not applicable to chosen configuration +- Un-mangle README filename for logwatch sub-package + +* Wed Dec 16 2009 John W. Linville - 0.6.9-2 +- Initial build +- Start release at 2 to avoid conflicts w/ previous attempts by others diff --git a/hostapd.sysconfig b/hostapd.sysconfig new file mode 100644 index 0000000..1d9f8e3 --- /dev/null +++ b/hostapd.sysconfig @@ -0,0 +1,5 @@ +# Other arguments +# -d show more debug messages (-dd for even more) +# -K include key data in debug messages +# -t include timestamps in some debug messages +OTHER_ARGS="" diff --git a/import.log b/import.log new file mode 100644 index 0000000..2f32f87 --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +hostapd-0_6_9-6_fc11:HEAD:hostapd-0.6.9-6.fc11.src.rpm:1261425965 diff --git a/sources b/sources index e69de29..80f3785 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +83630d11fa66ade9091f1b304fccd74c hostapd-0.6.9.tar.gz