# -*- sh -*-
## vim:ft=zsh:foldmethod=marker

local host

host=$1
#if [ "$host" = "${host%%.debian.org}" ]; then
#	host="$host.debian.org"
#fi
echo $host
ssh $host -t '
	check() {
		sudo /usr/sbin/samhain -t check -i -p err -s none -l none -m none
	};
	if [ -x /usr/sbin/samhain ]; then
		t="`tempfile`";
		trap "rm -f $t" 0 1 2 5 15;
		check > "$t" 2>&1;
		if [ "`grep "^CRIT" "$t" | wc -l`" != 0 ]; then
			echo "samhain db errors found:";
			sed -e "s/.*path=<\([^>]*\)>, .*/\1/" "$t" | sort;
			echo;
			echo "Enter 'y' to continue upgrade and update samhaindb for `hostname`";
			read ans;
			[ "$ans" = "y" ] || exit;

			echo Updating samhain db...
			sudo samhain --foreground -t update -m none
			
			if [ -f /var/cache/dsa/nagios/samhain ]; then
			   grep -q OK /var/cache/dsa/nagios/samhain || sudo dsa-update-samhain-status
			fi
                        [ -x /usr/local/lib/nagios/nsca_samhain ] && /usr/local/lib/nagios/nsca_samhain
			echo done.
		fi;
	fi
';
