| #!/bin/sh /etc/rc.common |
| |
| START=99 |
| STOP=10 |
| |
| USE_PROCD=1 |
| PROG=/usr/bin/snort |
| |
| validate_snort_section() { |
| uci_validate_section snort snort "${1}" \ |
| 'config_dir:string' \ |
| 'alert_module:string' \ |
| 'interface:string' |
| } |
| |
| start_service() { |
| local config_file interface |
| |
| validate_snort_section snort || { |
| echo "validation failed" |
| return 1 |
| } |
| |
| procd_open_instance |
| procd_set_param command $PROG -q --daq-dir /usr/lib/daq/ -i "$interface" -c "$config_dir/snort.lua" -A "$alert_module" |
| procd_set_param env SNORT_LUA_PATH="$config_dir" |
| procd_set_param file $CONFIGFILE |
| procd_set_param respawn |
| procd_close_instance |
| } |
| |
| stop_service() |
| { |
| service_stop ${PROG} |
| } |
| |
| service_triggers() |
| { |
| procd_add_reload_trigger "snort" |
| procd_add_validation validate_snort_section |
| } |