#!/bin/sh /etc/rc.common

START=99
USE_PROCD=1

CONF="3proxy"
PROG="/usr/bin/3proxy"

start_instance() {
	local cfg="$1"

	local enabled conffile

	config_get_bool enabled "$cfg" "enabled" "0"
	[ "$enabled" -eq "1" ] || return 0

	config_get conffile "$cfg" "conffile"
	if [ -z "$conffile" ] || [ ! -e "$conffile" ]; then
		logger -p daemon.err -t "$NAME" "config for $cfg does not exists."
		return 1
	fi

	procd_open_instance "$cfg"
	procd_set_param command "$PROG" "$conffile"

	procd_set_param stdout "1"
	procd_set_param stderr "1"
	procd_set_param limits core="unlimited"
	procd_set_param limits nofile="1000000 1000000"
	procd_set_param respawn

	procd_close_instance
}

start_service() {
	config_load "$CONF"

	config_foreach start_instance 3proxy
}

service_triggers() {
	procd_add_reload_trigger "$CONF"
}
