#!/bin/sh

CONFDIR="/etc/osec"
CONFIG="$CONFDIR/pipe.conf"
MAIL_PIPE='/bin/mail -s "[osec${PROFILE:+:$PROFILE}] Daily security check ($STAT) -- $HOSTNAME" root'
JOURNAL_PIPE='systemd-cat -t osec;  echo "[osec${PROFILE:+:$PROFILE}] Daily security check ($STAT) -- $HOSTNAME" | tee /var/log/lastosec | systemd-cat -t osec'

. /etc/control.d/functions
new_summary "${SUMMARY:-OSEC reporting method selector}"
new_help "mail" "Mail root"
new_help "journal" "Write to systemd journal"

. shell-config


## Main

REQUEST="$*"

case "$REQUEST" in
	help|'help '*)
		control_help "${REQUEST#help}"
		;;
	list)
		control_list
		;;
	summary)
		control_summary
		;;
	status)
        if [ "$(shell_config_get "$CONFIG" 'SEND_PIPE')" = '"$MAIL_PIPE"' -a \
             "$(shell_config_get "$CONFIG" 'MAIL_PIPE')" = "'$MAIL_PIPE'" ]
        then
            echo 'mail'
        elif [ "$(shell_config_get "$CONFIG" 'SEND_PIPE')" = "'$JOURNAL_PIPE'" ]
        then
            echo 'journal'
        else
            echo 'custom'
        fi
		;;
	*)
        case "$REQUEST" in
            mail)
                shell_config_set "$CONFIG" 'MAIL_PIPE' "'$MAIL_PIPE'"
                shell_config_set "$CONFIG" 'SEND_PIPE' '"$MAIL_PIPE"'
                ;;
            journal)
                shell_config_set "$CONFIG" 'SEND_PIPE' "'$JOURNAL_PIPE'"
                ;;
            *)
                echo "ERROR: Unknown mode: $REQUEST" >&2
                exit 1
                ;;
        esac
		;;
esac
