#!/bin/sh

SNMP_BIN=/usr/local/sbin/snmpd
SNMP_PID=/var/run/snmpd
SNMP_OPT="-c /usr/conf/snmpd_berofix.conf"

PREFIX="[init_snmpd]"

if [ -x /usr/local/bin/beroconf ] ; then
	BEROCONF=/usr/local/bin/beroconf
else
	BEROCONF=/usr/fallback/beroconf
fi

SNMP_ACT=$(${BEROCONF} get root snmp-enabled | grep -v failed)

if [ "${SNMP_ACT}" != "1" ]; then
	echo "${PREFIX} snmpd disabled in root.db, leaving."
	exit 1
fi

if [ ! -x ${SNMP_BIN} ]; then
	echo "${PREFIX} ${SNMP_BIN} not found, leaving."
	exit 1
fi

case "${1}" in
	start)
		echo -n "${PREFIX} Starting snmpd: "
		export SNMPCONFPATH=/usr/conf
		${SNMP_BIN} ${SNMP_OPT} &
		pid_val=${!}
		echo ${pid_val} > ${SNMP_PID}
		echo "Done."
	;;
	stop)
		echo -n "${PREFIX} Stopping snmpd: "
		if [ -f ${SNMP_PID} ]; then
			kill $(cat ${SNMP_PID}) 2> /dev/null
			rm -f ${SNMP_PID}
			sleep 1
		fi
		killall -9 snmpd 2> /dev/null
		echo "Done."
	;;
	restart)
		${0} stop
		${0} start
	;;
	*)
		echo "${PREFIX} Usage: ${0} [start|stop|restart]" >&2
		exit 1
esac

