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