diff --git a/src/etc/rc b/src/etc/rc index de95bdadd..c0fc18db2 100755 --- a/src/etc/rc +++ b/src/etc/rc @@ -282,6 +282,9 @@ echo -n "Starting CRON... " cd /tmp && /usr/sbin/cron -s 2>/dev/null echo "done." +# starting standard rc scripts +/usr/local/etc/rc.opnsense start + # Start ping handler every 240 seconds /usr/local/bin/minicron 240 /var/run/ping_hosts.pid /usr/local/bin/ping_hosts.sh diff --git a/src/etc/rc.opnsense b/src/etc/rc.opnsense new file mode 100755 index 000000000..36676275c --- /dev/null +++ b/src/etc/rc.opnsense @@ -0,0 +1,28 @@ +#!/bin/sh + +# check which services to enable +. /etc/rc.conf +for rc_conf in /etc/rc.conf.d/*; +do + . $rc_conf +done + +# probe all deamons in /usr/local/etc/rc.d/ +ls /usr/local/etc/rc.d/* | while read rc_filename +do +# echo $rc_filename + # read rc scripts and parse name and rcvar variables + _file=`basename $rc_filename` + eval `/usr/bin/grep "name[[:blank:]]*=" $rc_filename | /usr/bin/head -n 1` + eval `grep "rcvar[[:blank:]]*=" $rc_filename | /usr/bin/sed '/^$/d'` + + # check if service is enabled + eval "is_enabled=\$"$rcvar"" + + # start/stop service + if [ "$is_enabled" == "YES" ]; then + $rc_filename $1 + fi +done + + \ No newline at end of file