Changeset View
Changeset View
Standalone View
Standalone View
head/net/dhcp6/files/dhcp6c.in
Show All 10 Lines | |||||
# Add the following lines to | # Add the following lines to | ||||
# /etc/rc.conf.d/dhcp6c /etc/rc.conf.local or /etc/rc.conf | # /etc/rc.conf.d/dhcp6c /etc/rc.conf.local or /etc/rc.conf | ||||
# to enable this service: | # to enable this service: | ||||
# | # | ||||
# dhcp6c_enable (bool): Set to NO by default. | # dhcp6c_enable (bool): Set to NO by default. | ||||
# Set it to YES to enable dhcp6c. | # Set it to YES to enable dhcp6c. | ||||
# dhcp6c_config (path): Set to %%PREFIX%%/etc/dhcp6c.conf | # dhcp6c_config (path): Set to %%PREFIX%%/etc/dhcp6c.conf | ||||
# by default. | # by default. | ||||
# dhcp6c_dhcp6cctlkey (path): Set to %%PREFIX%%/etc/dhcp6cctlkey | |||||
# by default. | |||||
# dhcp6c_pidfile (path): Set to /var/run/dhcp6c.pid | # dhcp6c_pidfile (path): Set to /var/run/dhcp6c.pid | ||||
# by default. | # by default. | ||||
# dhcp6c_interfaces (NIC list): Not defined by default. | # dhcp6c_interfaces (NIC list): Not defined by default. | ||||
# Set it to the network interface(s) where dhcp6c should work on. | # Set it to the network interface(s) where dhcp6c should work on. | ||||
# dhcp6c_flags (additional arguments): Not defined by default. | # dhcp6c_flags (additional arguments): Not defined by default. | ||||
# | # | ||||
. /etc/rc.subr | . /etc/rc.subr | ||||
name="dhcp6c" | name="dhcp6c" | ||||
rcvar=dhcp6c_enable | rcvar=dhcp6c_enable | ||||
command="%%PREFIX%%/sbin/${name}" | command="%%PREFIX%%/sbin/${name}" | ||||
start_precmd="${name}_precmd" | start_precmd="${name}_precmd" | ||||
load_rc_config $name | load_rc_config $name | ||||
: ${dhcp6c_enable="NO"} | : ${dhcp6c_enable="NO"} | ||||
: ${dhcp6c_config="%%PREFIX%%/etc/${name}.conf"} | : ${dhcp6c_config="%%PREFIX%%/etc/${name}.conf"} | ||||
: ${dhcp6c_dhcp6cctlkey="%%PREFIX%%/etc/dhcp6cctlkey"} | |||||
: ${dhcp6c_pidfile="/var/run/${name}.pid"} | : ${dhcp6c_pidfile="/var/run/${name}.pid"} | ||||
required_files="${dhcp6c_config}" | required_files="${dhcp6c_config}" | ||||
pidfile="${dhcp6c_pidfile}" | pidfile="${dhcp6c_pidfile}" | ||||
command_args="-c ${dhcp6c_config} -p ${dhcp6c_pidfile} ${dhcp6c_flags} ${dhcp6c_interfaces}" | command_args="-c ${dhcp6c_config} -p ${dhcp6c_pidfile} ${dhcp6c_flags} ${dhcp6c_interfaces}" | ||||
dhcp6c_precmd() | dhcp6c_precmd() | ||||
{ | { | ||||
if [ -z ${dhcp6c_interfaces} ]; then | if [ -z ${dhcp6c_interfaces} ]; then | ||||
warn "dhcp6c_interfaces is not set." | warn "dhcp6c_interfaces is not set." | ||||
return 1 | return 1 | ||||
fi | |||||
if [ ! -s ${dhcp6c_dhcp6cctlkey} ]; then | |||||
echo "Creating ${dhcp6c_dhcp6cctlkey}" | |||||
(umask 077 ; openssl rand -base64 48 > ${dhcp6c_dhcp6cctlkey}) | |||||
fi | fi | ||||
} | } | ||||
run_rc_command "$1" | run_rc_command "$1" |