xref: /dflybsd-src/etc/rc.d/wpa_supplicant (revision ce0833857e05eba4d13f3fd8a4d049ea68c5ffa4)
1f26c267aSSascha Wildner#!/bin/sh
2f26c267aSSascha Wildner#
3f26c267aSSascha Wildner# $FreeBSD: src/etc/rc.d/wpa_supplicant,v 1.2 2005/10/19 22:26:47 jkim Exp $
4f26c267aSSascha Wildner#
5f26c267aSSascha Wildner
6f26c267aSSascha Wildner# PROVIDE: wpa_supplicant
7*ce083385SAaron LI# REQUIRE: SERVERS
88716355dSDaniel Fojt# KEYWORD: nojail
9f26c267aSSascha Wildner
10f26c267aSSascha Wildner. /etc/rc.subr
11f26c267aSSascha Wildner. /etc/network.subr
12f26c267aSSascha Wildner
13f26c267aSSascha Wildnername="wpa_supplicant"
148716355dSDaniel Fojtrcvar=`set_rcvar`
15d8cf6a8bSAaron LI
168716355dSDaniel Fojtload_rc_config $name
170dbb0ed8SThomas Nikolajsen
18f26c267aSSascha Wildnerifn="$2"
19f26c267aSSascha Wildner
208716355dSDaniel Fojtif [ -z "${ifn}" ]; then
218716355dSDaniel Fojt	# got no interface, run single daemon for multiple matching interfaces
228716355dSDaniel Fojt	# but ensure the feature is supported first
238716355dSDaniel Fojt	case `${wpa_supplicant_program} -h 2>/dev/null` in
248716355dSDaniel Fojt		*-M*) match_iface=1 ;;
258716355dSDaniel Fojt		*) return 1 ;;
26f26c267aSSascha Wildner	esac
278716355dSDaniel Fojt	flags="-M -i wlan* -D bsd -P /var/run/${name}.pid ${wpa_supplicant_flags}"
288716355dSDaniel Fojtelse
298716355dSDaniel Fojt	# got particular interface, possibly called from ifconfig_up() in network.subr
308716355dSDaniel Fojt	# force "enable" to ensure run_rc_command below runs daemon for the interface
318716355dSDaniel Fojt	wpa_supplicant_enable="YES"
328716355dSDaniel Fojt	if is_wired_interface ${ifn} ; then
338716355dSDaniel Fojt		driver="wired"
34d98188c5SSascha Wildner	else
35d98188c5SSascha Wildner		driver="bsd"
36d98188c5SSascha Wildner	fi
378716355dSDaniel Fojt	flags="-i ${ifn} -D ${driver} -P /var/run/${name}/${ifn}.pid ${wpa_supplicant_flags}"
38d8cf6a8bSAaron LIfi
39d8cf6a8bSAaron LI
408716355dSDaniel Fojtflags="-B -s ${flags}"
41f26c267aSSascha Wildnerrun_rc_command "$1"
42