#!/bin/ksh93

# $Id: opendj-method.sh,v 0cfea36e562d 2013-07-16 05:07:31Z jel+forgerock $
#
# License: CDDL 1.0   (see http://opensource.org/licenses/cddl-1.0)
# Copyright 2013 Jens Elkner

. /lib/svc/share/smf_include.sh

BASEDIR='@CLIENT_BASEDIR@'

OCSPD="${BASEDIR}/sbin/ocspd"
DEFAULT_CONF='/etc/ocspd/ocspd.xml'

function getprop {
    typeset val=${ svcprop -p $1 $SMF_FMRI ; }
    [[ -n ${val} && ${val} != '""' ]] && PROPVAL=${val} || return 1
}

case "$1" in
	start)
		typeset -a ARGS=( )
		ctid=${ svcprop -p restarter/contract $SMF_FMRI; }
		[[ -n ${cti} ]] && exit $SMF_EXIT_OK
		print 'Starting OCSP Responder ...'
		getprop config/conf && CONF="${PROPVAL}" || CONF=${DEFAULT_CONF}
		if [[ ! -r ${CONF} ]]; then
			print -u2 "Missing config file '${CONF}'."
			exit $SMF_EXIT_ERR_CONFIG
		fi
		getprop config/verbose
		[[ ${PROPVAL} == 'true' ]] && ARGS+=( '-v' )
		getprop config/debug
		[[ ${PROPVAL} == 'true' ]] && ARGS+=( '-debug' )
		getprop config/testmode
		[[ ${PROPVAL} == 'true' ]] && ARGS+=( '-testmode' )
		getprop config/log_facility && ARGS+=( '-F' "${PROPVAL}" )
		${OCSPD} -c "${CONF}" -d "${ARGS[@]}" && print 'Done.' || exit $?
		;;
	*)
		print -u2 "Usage:  $0 start"
		exit $SMF_EXIT_ERR_NOSMF
		;;
esac

exit $SMF_EXIT_OK
