#! /bin/bash

if [ "$1" = "stop" -o "$1" = "restart" ]; then
	if [ -f "/var/run/snort.pid" ]; then
		kill -9 $(cat /var/run/snort.pid)
	fi
	if [ -f "/var/run/snort-init.pid" ]; then
		kill -9 $(cat /var/run/snort-init.pid)
	fi

	while killall /usr/bin/snort >/dev/null 2>/dev/null; do
		sleep 1
	done

	rm -f /var/run/snort.pid /var/run/snort-init.pid

	if [ "$1" = "stop" ]; then
		ifconfig mon0 down >/dev/null 2>/dev/null
		exit 0
	fi
fi

ifconfig mon0 up >/dev/null 2>/dev/null

if [ "$1" = "start" -o "$1" = "restart" ]; then
	(
		while true; do
			/usr/bin/snort -U -M -y -i mon0 -c /etc/snort/snort.conf &
			echo "$!" > /var/run/snort.pid
			wait
			sleep 10
		done
	) &
	echo "$!" >> /var/run/snort-init.pid
else
	echo 'Usage: snort {start|stop|restart}' >&2
	exit 1
fi
