packages/net/snort/files/snort.init
Jeffery To 0fb4847b4b snort: Update init script
This replaces the use of uci_validate_section() with
uci_load_validate(), which removes the need to declare local variables
for every config option.

This also fixes a variable name typo ("CONFIGFILE" instead of
"config_file").

Signed-off-by: Jeffery To <jeffery.to@gmail.com>
2019-02-03 19:20:44 +08:00

43 lines
749 B
Bash

#!/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
}