#!/bin/sh
#
# $Id$
#

# PROVIDE: sendcore
# REQUIRE: savecore
# KEYWORD: nojail

. /etc/rc.subr

name="sendcore"
start_cmd="${name}_start"
stop_cmd=":"

# Defaults
: ${sendcore_mailto:="root@dst00.yandex.ru"}
: ${sendcore_save:="3"}
: ${sendcore_full:="YES"}

sendcore_start()
{
	local _i _n _dump _sent _panic_msg _subj

	check_startmsgs && echo "Starting ${name}."

	_i=0
	for _dump in `ls -t ${dumpdir}/textdump.tar.* 2> /dev/null`; do
		_n="${_dump##*.}"
		_sent="${_dump%%.*}.sent.${_n}"
		if [ ! -f "${_sent}" ]; then
			if ! _panic_msg=`tar -Oxf ${_dump} panic.txt 2> /dev/null`; then
				_panic_msg="empty"
			fi
			_subj="[sendcore] panic on `hostname -s`: ${_panic_msg}"
			(tar -Oxf ${_dump} ddb.txt | awk '{
				if ($0 ~ "^db:0")
					done++;
				else
					print;
				if (done > 1)
					 exit;
			}'
			if checkyesno sendcore_full; then
				uuencode ${_dump} ${_dump##*/}
			fi) | mail -s "${_subj}" $sendcore_mailto
			touch ${_sent}
		fi
		if [ ${_i} -ge ${sendcore_save} ]; then
			rm -f ${dumpdir}/*.${_n}
		else
			_i=$((${_i} + 1))
		fi
	done
}

load_rc_config $name
run_rc_command "$1"
