#!/bin/sh
#
# $FreeBSD: src/etc/rc.d/wpa_supplicant,v 1.2 2005/10/19 22:26:47 jkim Exp $
#

# PROVIDE: wpa_supplicant
# REQUIRE: SERVERS
# KEYWORD: nojail

. /etc/rc.subr
. /etc/network.subr

name="wpa_supplicant"
rcvar=`set_rcvar`

load_rc_config $name

ifn="$2"

if [ -z "${ifn}" ]; then
	# got no interface, run single daemon for multiple matching interfaces
	# but ensure the feature is supported first
	case `${wpa_supplicant_program} -h 2>/dev/null` in
		*-M*) match_iface=1 ;;
		*) return 1 ;;
	esac
	flags="-M -i wlan* -D bsd -P /var/run/${name}.pid ${wpa_supplicant_flags}"
else
	# got particular interface, possibly called from ifconfig_up() in network.subr
	# force "enable" to ensure run_rc_command below runs daemon for the interface
	wpa_supplicant_enable="YES"
	if is_wired_interface ${ifn} ; then
		driver="wired"
	else
		driver="bsd"
	fi
	flags="-i ${ifn} -D ${driver} -P /var/run/${name}/${ifn}.pid ${wpa_supplicant_flags}"
fi

flags="-B -s ${flags}"
run_rc_command "$1"
