Add a hack to fix the dhcpcd rc.d script to work with a single

interface specified in dhcpcd_flags in rc.conf(5).
Fixes PR bin/43490
This commit is contained in:
roy 2013-06-25 13:02:53 +00:00
parent b06b1ca6c0
commit e3bb11dade
1 changed files with 21 additions and 1 deletions

View File

@ -9,7 +9,27 @@ $_rc_subr_loaded . /etc/rc.subr
name=dhcpcd
rcvar=$name
command=/sbin/$name
pidfile=/var/run/$name.pid
load_rc_config $name
# If the last argument to dhcpcd is a valid interface and the prior argument
# is not then dhcpcd will start on one interface only and create a pidfile
# based on the interface name. See PR bin/43490.
if [ -n "$flags" ]; then
myflags=$flags
else
eval myflags=\$${name}_flags
fi
ifname="${myflags##* }"
myflags="${myflags%% $ifname}"
last_flag="${myflags##* }"
if /sbin/ifconfig "$ifname" >/dev/null 2>&1 &&
! /sbin/ifconfig "$last_flag" >/dev/null 2>&1
then
pidfile=/var/run/$name-"$ifname".pid
else
pidfile=/var/run/$name.pid
fi
unset myflags ifname last_flag
run_rc_command "$1"