#!/bin/sh
#
# $FreeBSD$
#

# PROVIDE: ix-kerberos
# BEFORE: kerberos

. /etc/rc.freenas

generate_krb5_conf()
{
	/usr/local/libexec/nas/generate_krb5_conf.py $*
}

generate_krb5_keytab()
{
	local IFS="|"
	local kdir="/etc/kerberos"

	mkdir -p "${kdir}"
	rm -rf "${kdir}"/*

	${FREENAS_SQLITE_CMD} ${FREENAS_CONFIG} "
	SELECT
		keytab_name,
		keytab_file
	FROM
		directoryservice_kerberoskeytab
        " | while read keytab_name keytab_file
	do
		echo "${keytab_file}" | /usr/bin/b64decode -r > "${kdir}/${keytab_name}"
		/usr/sbin/ktutil copy "${kdir}/${keytab_name}" "/etc/krb5.keytab"
	done
}

generate_kerberos_files()
{
	rm -f /etc/krb5.keytab

	generate_krb5_conf $*
	generate_krb5_keytab
}

name="ix-kerberos"
start_cmd='generate_kerberos_files'
stop_cmd=':'

load_rc_config $name
run_rc_command $*
