Hi,

Many rc(8) scripts have corresponding 'foo_program="/path/to/foo"'
entries in etc/defaults/rc.conf .

However, some are missing the functionality to override $command
correctly.

The attached patch:

 - Adds missing "${name}_program=/path/to/${name}" entries to
   defaults/rc.conf

 - Adds missing functionality of setting
   "command=${foo_program:-/path/to/foo}" in corresponding rc(8)
   scripts.

Comments welcome.

Thanks,

Glen

Index: head/etc/defaults/rc.conf
===================================================================
--- head/etc/defaults/rc.conf   (revision 240175)
+++ head/etc/defaults/rc.conf   (working copy)
@@ -34,11 +34,15 @@
 
 swapfile="NO"          # Set to name of swapfile if aux swapfile desired.
 apm_enable="NO"                # Set to YES to enable APM BIOS functions (or 
NO).
+apm_program="/usr/sbin/apm" # path to apm program, if you want a different one.
 apmd_enable="NO"       # Run apmd to handle APM event from userland.
+apmd_program="/usr/sbin/apmd" # path to apmd program, if you want a different 
one.
 apmd_flags=""          # Flags to apmd (if enabled).
 ddb_enable="NO"                # Set to YES to load ddb scripts at boot.
+ddb_program="/sbin/ddb"        # path to ddb program, if you want a different 
one.
 ddb_config="/etc/ddb.conf"     # ddb(8) config file.
 devd_enable="YES"      # Run devd, to trigger programs on device tree changes.
+devd_program="/sbin/devd" # path to ddb program, if you want a different one.
 devd_flags=""          # Additional flags for devd(8).
 #kld_list=""           # Kernel modules to load after local disks are mounted
 kldxref_enable="NO"    # Build linker.hints files with kldxref(8).
@@ -199,6 +203,7 @@
 pflog_program="/sbin/pflogd"   # where the pflogd program lives
 pflog_flags=""                 # additional flags for pflogd
 ftpproxy_enable="NO"           # Set to YES to enable ftp-proxy(8) for pf
+ftpproxy_program="/usr/sbin/ftp-proxy" # path to ftp-proxy program.
 ftpproxy_flags=""              # additional flags for ftp-proxy(8)
 pfsync_enable="NO"             # Expose pf state to other hosts for syncing
 pfsync_syncdev=""              # Interface for pfsync to work through
@@ -261,6 +266,7 @@
 
 ### Network daemon (miscellaneous) ###
 hostapd_enable="NO"            # Run hostap daemon.
+hostapd_program="/usr/sbin/hostapd" # path to hostapd, if you want a different 
one.
 syslogd_enable="YES"           # Run syslog daemon (or NO).
 syslogd_program="/usr/sbin/syslogd" # path to syslogd, if you want a different 
one.
 syslogd_flags="-s"             # Flags to syslogd (if enabled).
@@ -302,6 +308,7 @@
 kfd_program="/usr/libexec/kfd" # path to kerberos 5 kfd daemon
 
 gssd_enable="NO"               # Run the gssd daemon (or NO).
+gssd_program="/usr/sbin/gssd"  # path to gssd program.
 gssd_flags=""                  # Flags for gssd.
 
 rwhod_enable="NO"              # Run the rwho daemon (or NO).
@@ -309,6 +316,8 @@
 rarpd_enable="NO"              # Run rarpd (or NO).
 rarpd_flags="-a"               # Flags to rarpd.
 bootparamd_enable="NO"         # Run bootparamd (or NO).
+bootparamd_program="/usr/sbin/bootparamd"      # path to bootparamd, if you 
want a
+                               # different one.
 bootparamd_flags=""            # Flags to bootparamd
 pppoed_enable="NO"             # Run the PPP over Ethernet daemon.
 pppoed_provider="*"            # Provider and ppp(8) config file entry.
@@ -345,6 +354,7 @@
 rpcbind_flags=""               # Flags to rpcbind (if enabled).
 rpc_ypupdated_enable="NO"      # Run if NIS master and SecureRPC (or NO).
 keyserv_enable="NO"            # Run the SecureRPC keyserver (or NO).
+keyserv_program="/usr/sbin/keyserv" # path to keyserv program.
 keyserv_flags=""               # Flags to keyserv (if enabled).
 nfsv4_server_enable="NO"       # Enable support for NFSv4
 nfscbd_enable="NO"             # NFSv4 client side callback daemon
@@ -383,6 +393,8 @@
 # Be sure to understand the security implications of running SNMP v1/v2
 # in your network.
 bsnmpd_enable="NO"             # Run the SNMP daemon (or NO).
+bsnmpd_program="/usr/sbin/bsnmpd" # path to bsnmpd, if you want a
+                               # different one.
 bsnmpd_flags=""                        # Flags for bsnmpd.
 
 ### Network routing options: ###
@@ -403,6 +415,7 @@
 mrouted_flags=""               # Flags for multicast routing daemon.
 ipxgateway_enable="NO"         # Set to YES to enable IPX routing.
 ipxrouted_enable="NO"          # Set to YES to run the IPX routing daemon.
+ipxrouted_program="/usr/sbin/IPXrouted"        # path to ipxrouted program.
 ipxrouted_flags=""             # Flags for IPX routing daemon.
 arpproxy_all="NO"              # replaces obsolete kernel option ARP_PROXYALL.
 forward_sourceroute="NO"       # do source routing (only if gateway_enable is 
set to "YES")
@@ -422,14 +435,18 @@
 ### Bluetooth ###
 hcsecd_enable="NO"             # Enable hcsecd(8) (or NO)
 hcsecd_config="/etc/bluetooth/hcsecd.conf" # hcsecd(8) configuration file
+hcsecd_program="/usr/sbin/hcsecd"   # path to hcsecd program.
 
 sdpd_enable="NO"               # Enable sdpd(8) (or NO)
+sdpd_program="/usr/sbin/sdpd"  # path to sdpd program.
 sdpd_control="/var/run/sdp"    # sdpd(8) control socket
 sdpd_groupname="nobody"                # set spdp(8) user/group to run as after
 sdpd_username="nobody"         # it initializes
 
 bthidd_enable="NO"             # Enable bthidd(8) (or NO)
 bthidd_config="/etc/bluetooth/bthidd.conf" # bthidd(8) configuration file
+bthidd_program="/usr/sbin/bthidd" # path to bthidd program, if you want a
+                               # different one.
 bthidd_hids="/var/db/bthidd.hids" # bthidd(8) known HID devices file
 
 rfcomm_pppd_server_enable="NO" # Enable rfcomm_pppd(8) in server mode (or NO)
@@ -598,6 +615,7 @@
 lpd_program="/usr/sbin/lpd"    # path to lpd, if you want a different one.
 lpd_flags=""           # Flags to lpd (if enabled).
 nscd_enable="NO"       # Run the nsswitch caching daemon.
+nscd_program="/usr/sbin/nscd"  # path to nscd program.
 chkprintcap_enable="NO"        # Run chkprintcap(8) before running lpd.
 chkprintcap_flags="-d" # Create missing directories by default.
 dumpdev="AUTO"         # Device to crashdump to (device name, AUTO, or NO).
Index: head/etc/rc.d/nscd
===================================================================
--- head/etc/rc.d/nscd  (revision 240175)
+++ head/etc/rc.d/nscd  (working copy)
@@ -21,7 +21,6 @@
 name="nscd"
 rcvar="nscd_enable"
 
-command=/usr/sbin/nscd
 extra_commands="flush"
 flush_cmd="${command} -I all"
 
@@ -46,6 +45,7 @@
 
 
 load_rc_config $name
+command="${nscd_program:-/usr/sbin/nscd}"
 _nscd_set_option "enable" "NO"
 _nscd_set_option "pidfile" "/var/run/nscd.pid"
 _nscd_set_option "flags" ""
Index: head/etc/rc.d/lpd
===================================================================
--- head/etc/rc.d/lpd   (revision 240175)
+++ head/etc/rc.d/lpd   (working copy)
@@ -12,10 +12,13 @@
 
 name="lpd"
 rcvar="lpd_enable"
-command="/usr/sbin/${name}"
+
 required_files="/etc/printcap"
 start_precmd="chkprintcap"
 
+load_rc_config $name
+command="${lpd_program:-/usr/sbin/${name}}"
+
 chkprintcap()
 {
        if checkyesno chkprintcap_enable ; then
@@ -23,5 +26,4 @@
        fi
 }
 
-load_rc_config $name
 run_rc_command "$1"
Index: head/etc/rc.d/sshd
===================================================================
--- head/etc/rc.d/sshd  (revision 240175)
+++ head/etc/rc.d/sshd  (working copy)
@@ -11,13 +11,15 @@
 
 name="sshd"
 rcvar="sshd_enable"
-command="/usr/sbin/${name}"
 keygen_cmd="sshd_keygen"
 start_precmd="sshd_precmd"
 configtest_cmd="sshd_configtest"
 pidfile="/var/run/${name}.pid"
 extra_commands="configtest keygen reload"
 
+load_rc_config $name
+command="${sshd_program:-/usr/sbin/${name}}"
+
 timeout=300
 
 user_reseed()
@@ -106,5 +108,4 @@
        sshd_configtest
 }
 
-load_rc_config $name
 run_rc_command "$1"
Index: head/etc/rc.d/rpcbind
===================================================================
--- head/etc/rc.d/rpcbind       (revision 240175)
+++ head/etc/rc.d/rpcbind       (working copy)
@@ -11,9 +11,10 @@
 
 name="rpcbind"
 rcvar="rpcbind_enable"
-command="/usr/sbin/${name}"
+
+load_rc_config $name
+command="${rpcbind_program:-/usr/sbin/${name}}"
 
 stop_postcmd='/bin/rm -f /var/run/rpcbind.*'
 
-load_rc_config $name
 run_rc_command "$1"
Index: head/etc/rc.d/ddb
===================================================================
--- head/etc/rc.d/ddb   (revision 240175)
+++ head/etc/rc.d/ddb   (working copy)
@@ -12,7 +12,6 @@
 
 name="ddb"
 rcvar="ddb_enable"
-command="/sbin/${name}"
 start_precmd="ddb_prestart"
 stop_cmd=":"
 
@@ -25,7 +24,7 @@
 }
 
 load_rc_config $name
-
+command="${ddb_program:-/sbin/${name}}"
 required_files="${ddb_config}"
 command_args="${ddb_config}"
 
Index: head/etc/rc.d/bootparams
===================================================================
--- head/etc/rc.d/bootparams    (revision 240175)
+++ head/etc/rc.d/bootparams    (working copy)
@@ -13,7 +13,8 @@
 name="bootparamd"
 rcvar="bootparamd_enable"
 required_files="/etc/bootparams"
-command="/usr/sbin/${name}"
 
 load_rc_config $name
+command="${bootparamd_program:-/usr/sbin/${name}}"
+
 run_rc_command "$1"
Index: head/etc/rc.d/ftp-proxy
===================================================================
--- head/etc/rc.d/ftp-proxy     (revision 240175)
+++ head/etc/rc.d/ftp-proxy     (working copy)
@@ -11,7 +11,7 @@
 
 name="ftpproxy"
 rcvar="ftpproxy_enable"
-command="/usr/sbin/ftp-proxy"
-
 load_rc_config $name
+command="${ftpproxy_program:-/usr/sbin/ftp-proxy}"
+
 run_rc_command "$1"
Index: head/etc/rc.d/ftpd
===================================================================
--- head/etc/rc.d/ftpd  (revision 240175)
+++ head/etc/rc.d/ftpd  (working copy)
@@ -11,15 +11,17 @@
 
 name="ftpd"
 rcvar="ftpd_enable"
-command="/usr/libexec/${name}"
+
 pidfile="/var/run/${name}.pid"
 start_precmd=ftpd_prestart
 
+load_rc_config $name
+command="${ftpd_program:-/usr/libexec/${name}}"
+
 ftpd_prestart()
 {
        rc_flags="-D ${rc_flags}"
        return 0
 }
 
-load_rc_config $name
 run_rc_command "$1"
Index: head/etc/rc.d/mrouted
===================================================================
--- head/etc/rc.d/mrouted       (revision 240175)
+++ head/etc/rc.d/mrouted       (working copy)
@@ -11,10 +11,11 @@
 
 name="mrouted"
 rcvar="mrouted_enable"
-command="/usr/local/sbin/${name}"
 pidfile="/var/run/${name}.pid"
 required_files="/etc/${name}.conf"
 extra_commands="reload"
 
 load_rc_config $name
+command="${mrouted_program:-/usr/local/sbin/${name}}"
+
 run_rc_command "$1"
Index: head/etc/rc.d/dhclient
===================================================================
--- head/etc/rc.d/dhclient      (revision 240175)
+++ head/etc/rc.d/dhclient      (working copy)
@@ -53,6 +53,7 @@
 
 load_rc_config $name
 load_rc_config network
+command="${dhclient_program:-/sbin/${name}}"
 
 if [ -z $ifn ] ; then
        # only complain if a command was specified but no interface
Index: head/etc/rc.d/amd
===================================================================
--- head/etc/rc.d/amd   (revision 240175)
+++ head/etc/rc.d/amd   (working copy)
@@ -12,11 +12,14 @@
 
 name="amd"
 rcvar="amd_enable"
-command="/usr/sbin/${name}"
+
 start_precmd="amd_precmd"
 command_args="&"
 extra_commands="reload"
 
+load_rc_config $name
+command="${amd_program:-/usr/sbin/${name}}"
+
 amd_precmd()
 {
        force_depend nfsclient nfs_client || return 1
@@ -44,5 +47,4 @@
        esac
 }
 
-load_rc_config $name
 run_rc_command "$1"
Index: head/etc/rc.d/devd
===================================================================
--- head/etc/rc.d/devd  (revision 240175)
+++ head/etc/rc.d/devd  (working copy)
@@ -12,11 +12,13 @@
 
 name="devd"
 rcvar="devd_enable"
-command="/sbin/${name}"
 
 start_precmd=${name}_prestart
 stop_precmd=find_pidfile
 
+load_rc_config $name
+command="${devd_program:-/sbin/${name}}"
+
 find_pidfile()
 {
        if get_pidfile_from_conf pid-file /etc/devd.conf; then
@@ -36,5 +38,4 @@
        fi
 }
 
-load_rc_config $name
 run_rc_command "$1"
Index: head/etc/rc.d/ipxrouted
===================================================================
--- head/etc/rc.d/ipxrouted     (revision 240175)
+++ head/etc/rc.d/ipxrouted     (working copy)
@@ -12,8 +12,9 @@
 
 name="ipxrouted"
 rcvar="ipxrouted_enable"
-command="/usr/sbin/IPXrouted"
-command_args="> /dev/null 2>&1"
 
 load_rc_config $name
+command="${ipxrouted_program:-/usr/sbin/IPXrouted}"
+command_args="> /dev/null 2>&1"
+
 run_rc_command "$1"
Index: head/etc/rc.d/cron
===================================================================
--- head/etc/rc.d/cron  (revision 240175)
+++ head/etc/rc.d/cron  (working copy)
@@ -12,10 +12,11 @@
 
 name="cron"
 rcvar="cron_enable"
-command="/usr/sbin/${name}"
 pidfile="/var/run/${name}.pid"
 
 load_rc_config $name
+command=${cron_program:-/usr/sbin/${name}}
+
 if checkyesno cron_dst
 then
        cron_flags="$cron_flags -s"
Index: head/etc/rc.d/pflog
===================================================================
--- head/etc/rc.d/pflog (revision 240175)
+++ head/etc/rc.d/pflog (working copy)
@@ -11,15 +11,16 @@
 
 name="pflog"
 rcvar="pflog_enable"
-command="/sbin/pflogd"
 pidfile="/var/run/pflogd.pid"
 start_precmd="pflog_prestart"
 stop_postcmd="pflog_poststop"
 extra_commands="reload resync"
-
 # for backward compatibility
 resync_cmd="pflog_resync"
 
+load_rc_config $name
+command="${pflog_program:-/sbin/pflogd}"
+
 pflog_prestart()
 {
        load_kld pflog || return 1
@@ -52,5 +53,4 @@
        run_rc_command reload
 }
 
-load_rc_config $name
 run_rc_command "$1"
Index: head/etc/rc.d/ppp
===================================================================
--- head/etc/rc.d/ppp   (revision 240175)
+++ head/etc/rc.d/ppp   (working copy)
@@ -11,11 +11,13 @@
 
 name="ppp"
 rcvar="ppp_enable"
-command="/usr/sbin/${name}"
 start_cmd="ppp_start"
 stop_cmd="ppp_stop"
 start_postcmd="ppp_poststart"
 
+load_rc_config $name
+command="${ppp_program:-/usr/sbin/${name}}"
+
 ppp_start_profile()
 {
        local _ppp_profile _ppp_mode _ppp_nat _ppp_unit
@@ -130,5 +132,4 @@
        echo "."
 }
 
-load_rc_config $name
 run_rc_command $*
Index: head/etc/rc.d/bthidd
===================================================================
--- head/etc/rc.d/bthidd        (revision 240175)
+++ head/etc/rc.d/bthidd        (working copy)
@@ -12,7 +12,6 @@
 
 name="bthidd"
 rcvar="bthidd_enable"
-command="/usr/sbin/${name}"
 pidfile="/var/run/${name}.pid"
 start_precmd="bthidd_prestart"
 
@@ -25,6 +24,7 @@
 }
 
 load_rc_config $name
+command="${bthidd_program:-/usr/sbin/${name}}"
 config="${bthidd_config:-/etc/bluetooth/${name}.conf}"
 hids="${bthidd_hids:-/var/db/${name}.hids}"
 command_args="-c ${config} -H ${hids} -p ${pidfile}"
Index: head/etc/rc.d/gssd
===================================================================
--- head/etc/rc.d/gssd  (revision 240175)
+++ head/etc/rc.d/gssd  (working copy)
@@ -13,6 +13,6 @@
 
 load_rc_config $name
 rcvar="gssd_enable"
-command="${gssd:-/usr/sbin/${name}}"
+command="${gssd_program:-/usr/sbin/${name}}"
 eval ${name}_flags=\"${gssd_flags}\"
 run_rc_command "$1"
Index: head/etc/rc.d/mroute6d
===================================================================
--- head/etc/rc.d/mroute6d      (revision 240175)
+++ head/etc/rc.d/mroute6d      (working copy)
@@ -12,7 +12,8 @@
 
 name="mroute6d"
 rcvar="mroute6d_enable"
-command="/usr/local/sbin/pim6dd"
 
 load_rc_config $name
+command="${mroute6d_program:-/usr/local/sbin/pim6dd}"
+
 run_rc_command "$1"
Index: head/etc/rc.d/apm
===================================================================
--- head/etc/rc.d/apm   (revision 240175)
+++ head/etc/rc.d/apm   (working copy)
@@ -12,12 +12,15 @@
 
 name="apm"
 rcvar="apm_enable"
+
 start_precmd="apm_precmd"
-command="/usr/sbin/${name}"
 start_cmd="${command} -e enable"
 stop_cmd="${command} -e disable"
 status_cmd="apm_status"
 
+load_rc_config $name
+command="${apm_program:-/usr/sbin/${name}}"
+
 apm_precmd()
 {
        case `${SYSCTL_N} hw.machine_arch` in
@@ -42,5 +45,4 @@
        return 1
 }
 
-load_rc_config $name
 run_rc_command "$1"
Index: head/etc/rc.d/syslogd
===================================================================
--- head/etc/rc.d/syslogd       (revision 240175)
+++ head/etc/rc.d/syslogd       (working copy)
@@ -12,7 +12,6 @@
 name="syslogd"
 rcvar="syslogd_enable"
 pidfile="/var/run/syslog.pid"
-command="/usr/sbin/${name}"
 required_files="/etc/syslog.conf"
 start_precmd="syslogd_precmd"
 extra_commands="reload"
@@ -21,6 +20,9 @@
 evalargs="rc_flags=\"\`set_socketlist\` \$rc_flags\""
 altlog_proglist="named"
 
+load_rc_config $name
+command="${syslogd_program:-/usr/sbin/${name}}"
+
 syslogd_precmd()
 {
        local _l _ldir
@@ -68,5 +70,4 @@
        done
        echo $_socketargs
 }
-load_rc_config $name
 run_rc_command "$1"
Index: head/etc/rc.d/keyserv
===================================================================
--- head/etc/rc.d/keyserv       (revision 240175)
+++ head/etc/rc.d/keyserv       (working copy)
@@ -14,13 +14,14 @@
 
 name="keyserv"
 rcvar="keyserv_enable"
-command="/usr/sbin/${name}"
 start_precmd="keyserv_prestart"
 
+load_rc_config $name
+command="${keyserv_program:-/usr/sbin/${name}}"
+
 keyserv_prestart()
 {
        force_depend rpcbind || return 1
 }
 
-load_rc_config $name
 run_rc_command "$1"
Index: head/etc/rc.d/hostapd
===================================================================
--- head/etc/rc.d/hostapd       (revision 240175)
+++ head/etc/rc.d/hostapd       (working copy)
@@ -11,7 +11,6 @@
 
 name="hostapd"
 rcvar="hostapd_enable"
-command="/usr/sbin/${name}"
 
 conf_file="/etc/${name}.conf"
 pidfile="/var/run/${name}.pid"
@@ -22,4 +21,6 @@
 extra_commands="reload"
 
 load_rc_config ${name}
+command="${hostapd_program:-/usr/sbin/${name}}"
+
 run_rc_command "$1"
Index: head/etc/rc.d/inetd
===================================================================
--- head/etc/rc.d/inetd (revision 240175)
+++ head/etc/rc.d/inetd (working copy)
@@ -11,10 +11,12 @@
 
 name="inetd"
 rcvar="inetd_enable"
-command="/usr/sbin/${name}"
+
 pidfile="/var/run/${name}.pid"
 required_files="/etc/${name}.conf"
 extra_commands="reload"
 
 load_rc_config $name
+command="${inetd_program:-/usr/sbin/${name}}"
+
 run_rc_command "$1"
Index: head/etc/rc.d/apmd
===================================================================
--- head/etc/rc.d/apmd  (revision 240175)
+++ head/etc/rc.d/apmd  (working copy)
@@ -12,7 +12,10 @@
 
 name="apmd"
 rcvar="apmd_enable"
-command="/usr/sbin/${name}"
+
+load_rc_config $name
+command="${apmd_program:-/usr/sbin/${name}}"
+
 start_precmd="apmd_prestart"
 
 apmd_prestart()
@@ -33,5 +36,4 @@
        esac
 }
 
-load_rc_config $name
 run_rc_command "$1"
Index: head/etc/rc.d/natd
===================================================================
--- head/etc/rc.d/natd  (revision 240175)
+++ head/etc/rc.d/natd  (working copy)
@@ -11,11 +11,13 @@
 
 name="natd"
 rcvar="natd_enable"
-command="/sbin/${name}"
 pidfile="/var/run/${name}.pid"
 start_precmd="natd_precmd"
 required_modules="ipdivert"
 
+load_rc_config $name
+command="${natd_program:-/sbin/${name}}"
+
 natd_precmd()
 {
        if [ -n "${natd_interface}" ]; then
@@ -39,5 +41,4 @@
        return 0
 }
 
-load_rc_config $name
 run_rc_command "$1"
Index: head/etc/rc.d/hcsecd
===================================================================
--- head/etc/rc.d/hcsecd        (revision 240175)
+++ head/etc/rc.d/hcsecd        (working copy)
@@ -12,11 +12,11 @@
 
 name="hcsecd"
 rcvar="hcsecd_enable"
-command="/usr/sbin/${name}"
 pidfile="/var/run/${name}.pid"
 required_modules="ng_btsocket"
 
 load_rc_config $name
+command="${hcsecd_program:-/usr/sbin/${name}}"
 config="${hcsecd_config:-/etc/bluetooth/${name}.conf}"
 command_args="-f ${config}"
 required_files="${config}"
Index: head/etc/rc.d/hastd
===================================================================
--- head/etc/rc.d/hastd (revision 240175)
+++ head/etc/rc.d/hastd (working copy)
@@ -13,17 +13,18 @@
 name="hastd"
 rcvar="hastd_enable"
 pidfile="/var/run/${name}.pid"
-command="/sbin/${name}"
 hastctl="/sbin/hastctl"
 required_files="/etc/hast.conf"
 stop_precmd="hastd_stop_precmd"
 required_modules="geom_gate:g_gate"
 extra_commands="reload"
 
+load_rc_config $name
+command="${hastd_program:-/sbin/${name}}"
+
 hastd_stop_precmd()
 {
        ${hastctl} role init all
 }
 
-load_rc_config $name
 run_rc_command "$1"
Index: head/etc/rc.d/ipmon
===================================================================
--- head/etc/rc.d/ipmon (revision 240175)
+++ head/etc/rc.d/ipmon (working copy)
@@ -12,9 +12,11 @@
 
 name="ipmon"
 rcvar="ipmon_enable"
-command="/sbin/${name}"
 start_precmd="ipmon_precmd"
 
+load_rc_config $name
+command="${ipmon_program:-/sbin/${name}}"
+
 ipmon_precmd()
 {
        # Continue only if ipfilter or ipnat is enabled and the
@@ -29,5 +31,4 @@
        return 0
 }
 
-load_rc_config $name
 run_rc_command "$1"
Index: head/etc/rc.d/bsnmpd
===================================================================
--- head/etc/rc.d/bsnmpd        (revision 240175)
+++ head/etc/rc.d/bsnmpd        (working copy)
@@ -11,8 +11,9 @@
 
 name="bsnmpd"
 rcvar="bsnmpd_enable"
-command="/usr/sbin/${name}"
 pidfile="/var/run/snmpd.pid"
 
 load_rc_config $name
+command="${bsnmpd_program:-/usr/sbin/${name}}"
+
 run_rc_command "$1"
Index: head/etc/rc.d/sdpd
===================================================================
--- head/etc/rc.d/sdpd  (revision 240175)
+++ head/etc/rc.d/sdpd  (working copy)
@@ -11,11 +11,11 @@
 . /etc/rc.subr
 
 name="sdpd"
-command="/usr/sbin/${name}"
 rcvar="sdpd_enable"
 required_modules="ng_btsocket"
 
 load_rc_config $name
+command="${sdpd_program:-/usr/sbin/${name}}"
 control="${sdpd_control:-/var/run/sdp}"
 group="${sdpd_groupname:-nobody}"
 user="${sdpd_username:-nobody}"
Index: head/etc/rc.d/auditd
===================================================================
--- head/etc/rc.d/auditd        (revision 240175)
+++ head/etc/rc.d/auditd        (working copy)
@@ -14,13 +14,16 @@
 
 name="auditd"
 stop_cmd="auditd_stop"
-command="/usr/sbin/${name}"
+
 rcvar="auditd_enable"
 command_args="${auditd_flags}"
 required_files="/etc/security/audit_class /etc/security/audit_control
                /etc/security/audit_event /etc/security/audit_user
                /etc/security/audit_warn"
 
+load_rc_config $name
+command="${auditd_program:-/usr/sbin/${name}}"
+
 auditd_stop()
 {
 
@@ -28,5 +31,4 @@
        sleep 1
 }
 
-load_rc_config $name
 run_rc_command "$1"
Index: head/etc/rc.d/ntpd
===================================================================
--- head/etc/rc.d/ntpd  (revision 240175)
+++ head/etc/rc.d/ntpd  (working copy)
@@ -12,11 +12,11 @@
 
 name="ntpd"
 rcvar="ntpd_enable"
-command="/usr/sbin/${name}"
 pidfile="/var/run/${name}.pid"
 start_precmd="ntpd_precmd"
 
 load_rc_config $name
+command="${ntpd_program:-/usr/sbin/${name}}"
 
 ntpd_precmd()
 {

Attachment: pgphzhjKYswaA.pgp
Description: PGP signature

Reply via email to