#!/bin/sh # $FreeBSD: head/security/tinc/files/tincd.in 406095 2016-01-14 06:02:05Z dinoex $ # # PROVIDE: tincd # REQUIRE: ipfilter FILESYSTEMS sysctl netif # BEFORE: SERVERS routing # KEYWORD: nojail # # Define these tincd_* variables in one of these files: # /etc/rc.conf # /etc/rc.conf.local # /etc/rc.conf.d/tincd # # tincd_enable (bool): Set to "NO" by default. # Set it to "YES" to enable tincd. # tincd_cfg (str): Set to "" by default. # Set it to NETNAMEs to use (ex.: "vpn1 vpn2"). # tincd_flags (str): Set to "" by default. # Set it to flags to use (ex.: "-d 1 --logfile"). # # DO NOT CHANGE THESE DEFAULT VALUES HERE tincd_enable=${tincd_enable:-"NO"} . /etc/rc.subr name="tincd" rcvar="tincd_enable" command="/usr/local/sbin/tincd" start_cmd="tincd_start" stop_cmd="tincd_stop" reload_cmd="tincd_reload" extra_commands="reload" procname=${command:-tincd} ldconfig_command="/sbin/ldconfig" load_rc_config $name tincd_start() { local setfib setfib=/usr/sbin/setfib ${ldconfig_command} -elf -m /usr/local/lib if test -z "${tincd_cfg}" then eval tincd_fib=\$${name}_fib if [ -n "${tincd_fib}" ] then procname="${command}" echo "Starting tincd" $setfib -F ${tincd_fib} $command ${command_args} else echo "Starting tincd" $command ${command_args} fi else for cfg in ${tincd_cfg} do eval tincd_fib=\$${name}_${cfg}_fib command_args="-n $cfg" if [ -n "${tincd_fib}" ] then procname="${command}" echo "Starting tincd" $setfib -F ${tincd_fib} $command ${command_args} else echo "Starting tincd for: ${cfg}" $command ${command_args} fi done fi # code deliberately borrowed from /etc/rc.d/netif if [ -f /etc/rc.d/ipfilter ] ; then # Resync ipfilter /etc/rc.d/ipfilter quietresync fi } tincd_stop() { if test -z "${tincd_cfg}" then echo "Stopping tincd" $command -k else for cfg in $tincd_cfg do echo "Stopping tincd for: ${cfg}" $command -n $cfg -k done fi } tincd_reload() { if test -z "${tincd_cfg}" then echo "Sending HUP to tincd" $command --kill=HUP else for cfg in $tincd_cfg do echo "Sending HUP to tincd for: ${cfg}" $command -n $cfg --kill=HUP done fi } run_rc_command "$1" # eof