#!/bin/sh /etc/rc.common
# Copyright (C) 2015 OpenWrt.org

START=90
STOP=10

USE_PROCD=1
PROG=/usr/bin/snort

validate_snort_section() {
	uci_load_validate snort snort "$1" "$2" \
		'config_file:string' \
		'interface:string'
}

start_snort_instance() {
	[ "$2" = 0 ] || {
		echo "validation failed"
		return 1
	}

	procd_open_instance
	procd_set_param command $PROG "-q" "--daq-dir" "/usr/lib/daq/" "-i" "$interface" "-c" "$config_file" "-s" "-N"
	procd_set_param file $config_file
	procd_set_param respawn
	procd_close_instance
}

start_service()
{
	validate_snort_section snort start_snort_instance
}

stop_service()
{
	service_stop ${PROG}
}

service_triggers()
{
	procd_add_reload_trigger "snort"
	procd_add_validation validate_snort_section
}