#!/usr/local/bin/cbsd
#v10.0.7
CBSDMODULE="jail"
MYARG="jname"
MYOPTARG="mode"
MYDESC="Configure for jail"
ADDHELP="mode=list for list of jails external command\n"
EXTHELP="wf_jconfig.html"

. ${subr}
. ${strings}
. ${tools}

[ -z "${1}" ] && select_jail_by_list -s "List of local jails:" -r 1 -o 0
init $*

shift  # todo: jname and cmd may have reverse order

. ${jrcconf}
[ $? -eq 1 ] && err 1 "${MAGENTA}No such jail: ${GREEN}${jname}${NORMAL}"

CMDDIR="${jailsysdir}/${jname}/bin/"

if [ "${mode}" = "list" ]; then
	echo
	${ECHO} "${MAGENTA}Additional command available: ${GREEN}jconfig jname=${jname} <cmd>:${NORMAL}"
	[ -d "${CMDDIR}" ] && /usr/bin/find ${CMDDIR} -type f -depth 1 -maxdepth 1 -exec basename {} \;
	exit 0
fi

vimage=""
[ -z "${cmd}" ] && cmd=${1}
[ "${vnet}" ] && vimage="vnet"

shift
cfgargs="$@"

if [ -z "${cmd}" ]; then
	jsetup-tui jname=${jname} host_hostname ip4_addr mount_devfs allow_mount allow_devfs allow_nullfs allow_fusefs mkhostsfile devfs_ruleset ver arch baserw mount_src mount_ports \
mount_kernel astart applytpl floatresolv interface exec_timeout exec_fib stop_timeout mount_fdescfs allow_dying allow_procfs allow_tmpfs allow_zfs allow_kmem allow_sysvipc \
allow_raw_sockets exec_stop exec_start cpuset exec_consolelog jdomain ${vimage} b_order protected hidden allow_reserved_ports childrenmax persist enforce_statfs basename

elif [ -f "${CMDDIR}${cmd}" ]; then
	. ${CMDDIR}${cmd}
	myconf ${cfgargs}
fi
