#!/usr/local/bin/cbsd
#v10.0.4
CBSDMODULE="bsdconf"
MYARG="mode"
MYOPTARG="jname dns port"
MYDESC="Install timezone helper"
ADDHELP="mode can be: on, off, status\n"

. ${subrdir}/nc.subr
. ${cbsdinit}

#defines
_MYDIR=$(dirname `realpath $0`)
SERVICE="ftp"

#trap "INSTALLLOOP=0 ; clear; echo; echo \"Exit to shell. To return into bootstrap script, please type: cbsd wb_installer\";  echo" HUP INT ABRT BUS TERM EXIT

### MAIN Route ###
#set -e
#    . ${_MYDIR}/srv_${SERVICE}.subr
#set +e

CFG="/usr/local/etc/${SERVICE}.ini"

if [ -z "${jname}" ]; then
	root_path=""
	exec_cmd=""
else
	. ${subrdir}/rcconf.subr
	[ $? -eq 1 ] && err 1 "${N1_COLOR}No such jail: ${N2_COLOR}${jname}${N0_COLOR}"
	[ $jid -eq 0 ] && err 1 "${N1_COLOR}Jail is not active: ${N2_COLOR}${jname}${N0_COLOR}"


	if [ "${emulator}" != "jail" -a -n "${emulator}" -a "${emulator}" != "bhyve" ]; then
		. ${subrdir}/emulator.subr
		init_usermode_emul
		exec_cmd="/usr/sbin/jexec ${jid} /bin/${emulator}"
	else
		exec_cmd="/usr/sbin/jexec ${jid}"
	fi
fi

case "${mode}" in
	"off")
		${exec_cmd} /usr/local/cbsd/misc/cbsdsysrc -q ftpd_enable="NO"
		${exec_cmd} /etc/rc.d/ftpd onestop
		;;
	"on")
		# ops=""
		#if [ -n "${port}" ]; then
		#    IFS=","
		#    for i in ${port}; do
		#	[ -n "${i}" ] && ops="${ops} -oPort=${i}"
		#    done
		#    IFS=" "
		# fi
		# [ -n "${dns}" ] && ops="${ops} -oDNS=${dns}"
		#orig_ops=$( ${exec_cmd} /usr/local/cbsd/misc/cbsdsysrc -qn 'ftpd_flags' 2>/dev/null |grep -v unknown) # /usr/local/cbsd/misc/cbsdsysrc have wrong man for 'XXX:?' or always return 0 code and write error to stdout, not stderr ;(
		#temp_ops1="${orig_ops} ${ops}"
		#new_ops=""
		# trim dup, last values - win
		# todo
		${exec_cmd} /usr/local/cbsd/misc/cbsdsysrc -q ftpd_enable="YES"
		${exec_cmd} /etc/rc.d/ftpd onestart
		;;
	"reload")
		${exec_cmd} /etc/rc.d/ftpd reload
		;;
	"status")
		${exec_cmd} /etc/rc.d/ftpd onestatus
		;;
esac
