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:
parent
4e50d9edad
commit
e2f7a80dae
42
ezjail.sh
42
ezjail.sh
@ -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 $*
|
||||||
|
Loading…
x
Reference in New Issue
Block a user