Tidying up the rc.d script, only run, if any of the jails specified exists. restart does not work anymore due to a bug in rc.subr

This commit is contained in:
erdgeist 2006-02-03 17:38:25 +00:00
parent 4e50d9edad
commit e2f7a80dae

View File

@ -4,7 +4,7 @@
# #
# PROVIDE: ezjail # PROVIDE: ezjail
# #
# Note: Add the following lines to /etc/rc.conf to enable ezjail, # Add the following lines to /etc/rc.conf.local or /etc/rc.conf to enable ezjail
# #
#ezjail_enable="YES" #ezjail_enable="YES"
# #
@ -21,33 +21,25 @@ load_rc_config $name
ezjail_enable=${ezjail_enable:-"NO"} ezjail_enable=${ezjail_enable:-"NO"}
restart_cmd="do_restart" restart_cmd="do_cmd restart _"
start_cmd="do_start" start_cmd="do_cmd start '_ ezjail'"
stop_cmd="do_stop" stop_cmd="do_cmd stop '_ ezjail'"
do_start() do_cmd()
{ {
[ -n "$*" ] && jail_list=`echo -n $* | tr -c [:alnum:] _` || echo -n " ezjail" action=$1; message=$2; shift 2;
[ -n "$*" ] && jail_list=`echo -n $* | tr -c "[:alnum:] " _` || echo -n "${message##_}"
jail_list=${jail_list:-`ls ${ezjail_prefix}/etc/ezjail/`} jail_list=${jail_list:-`ls ${ezjail_prefix}/etc/ezjail/`}
for jail in $jail_list; do . ${ezjail_prefix}/etc/ezjail/${jail}; done jail_pass=""
sh /etc/rc.d/jail onestart $jail_list for jail in $jail_list; do
} if [ -f ${ezjail_prefix}/etc/ezjail/${jail} ]; then
. ${ezjail_prefix}/etc/ezjail/${jail};
do_restart() jail_pass="${jail_pass} ${jail}"
{ else
[ -n "$*" ] && jail_list=`echo -n $* | tr -c [:alnum:] _`; echo " Warning: Jail ${jail} not found."
jail_list=${jail_list:-`ls ${ezjail_prefix}/etc/ezjail/`} fi
for jail in $jail_list; do . ${ezjail_prefix}/etc/ezjail/${jail}; done done
sh /etc/rc.d/jail onestop $jail_list [ "$jail_pass" ] && sh /etc/rc.d/jail one${action} $jail_pass
sh /etc/rc.d/jail onestart $jail_list
}
do_stop()
{
[ -n "$*" ] && jail_list=`echo -n $* | tr -c [:alnum:] _` || echo -n " ezjail"
jail_list=${jail_list:-`ls ${ezjail_prefix}/etc/ezjail/`}
for jail in $jail_list; do . ${ezjail_prefix}/etc/ezjail/${jail}; done
sh /etc/rc.d/jail onestop $jail_list
} }
run_rc_command $* run_rc_command $*