svn commit: r252748 - in stable/9/etc: . rc.d
Rui Paulo
rpaulo at FreeBSD.org
Fri Jul 5 02:07:00 UTC 2013
Author: rpaulo
Date: Fri Jul 5 02:06:59 2013
New Revision: 252748
URL: http://svnweb.freebsd.org/changeset/base/252748
Log:
Merge r252230:
Implement ifconfig_wlanX="HOSTAP".
Not only this is a bit cleaner, it allows multiple instances of hostapd to be
running on the system host, useful for simultaneous dual-band WiFi.
This is similar to ifconfig_wlanX="WPA" but it uses /etc/hostapd-wlanX.conf.
Compatibility with hostapd_enable=YES/NO was kept.
Modified:
stable/9/etc/network.subr
stable/9/etc/rc.d/hostapd
Directory Properties:
stable/9/etc/ (props changed)
stable/9/etc/rc.d/ (props changed)
Modified: stable/9/etc/network.subr
==============================================================================
--- stable/9/etc/network.subr Fri Jul 5 01:53:51 2013 (r252747)
+++ stable/9/etc/network.subr Fri Jul 5 02:06:59 2013 (r252748)
@@ -159,6 +159,9 @@ ifconfig_up()
if wpaif $1; then
/etc/rc.d/wpa_supplicant start $1
_cfg=0 # XXX: not sure this should count
+ elif hostapif $1; then
+ /etc/rc.d/hostapd start $1
+ _cfg=0
fi
if dhcpif $1; then
@@ -186,6 +189,9 @@ ifconfig_down()
if wpaif $1; then
/etc/rc.d/wpa_supplicant stop $1
_cfg=0
+ elif hostapif $1; then
+ /etc/rc.d/hostapd stop $1
+ _cfg=0
fi
if dhcpif $1; then
@@ -264,6 +270,7 @@ ifconfig_getargs()
[Nn][Oo][Ss][Yy][Nn][Cc][Dd][Hh][Cc][Pp]) ;;
[Ss][Yy][Nn][Cc][Dd][Hh][Cc][Pp]) ;;
[Ww][Pp][Aa]) ;;
+ [Hh][Oo][Ss][Tt][Aa][Pp]) ;;
*)
_args="$_args $_arg"
;;
@@ -364,6 +371,24 @@ wpaif()
return 1
}
+# hostapif if
+# Returns 0 if the interface is a HOSTAP interface and 1 otherwise.
+hostapif()
+{
+ local _tmpargs _arg
+ _tmpargs=`_ifconfig_getargs $1`
+
+ for _arg in $_tmpargs; do
+ case $_arg in
+ [Hh][Oo][Ss][Tt][Aa][Pp])
+ return 0
+ ;;
+ esac
+ done
+
+ return 1
+}
+
# afexists af
# Returns 0 if the address family is enabled in the kernel
# 1 otherwise.
Modified: stable/9/etc/rc.d/hostapd
==============================================================================
--- stable/9/etc/rc.d/hostapd Fri Jul 5 01:53:51 2013 (r252747)
+++ stable/9/etc/rc.d/hostapd Fri Jul 5 02:06:59 2013 (r252748)
@@ -10,11 +10,18 @@
. /etc/rc.subr
name="hostapd"
-rcvar="hostapd_enable"
command="/usr/sbin/${name}"
-conf_file="/etc/${name}.conf"
-pidfile="/var/run/${name}.pid"
+ifn="$2"
+if [ -z "$ifn" ]; then
+ rcvar="hostapd_enable"
+ conf_file="/etc/${name}.conf"
+ pidfile="/var/run/${name}.pid"
+else
+ rcvar=
+ conf_file="/etc/${name}-${ifn}.conf"
+ pidfile="/var/run/${name}-${ifn}.pid"
+fi
command_args="-P ${pidfile} -B ${conf_file}"
required_files="${conf_file}"
More information about the svn-src-stable-9
mailing list