#!/bin/sh set -eu IGNORE_FILE="${0%/*}/../config/ignore" ME="${0##*/}" case "$ME" in kill-from) case "${1:-}" in *@*) :;; '') echo "E: missing email address argument." >&2 exit 1 ;; *) echo "E: not an email address: $1" >&2 exit 2 ;; esac CHECKPREFIX='From: someone <' CHECKPOSTFIX='>' REPREFIX='^From:.*' REPOSTFIX='' ARG="$1" ;; kill-thread) case "${1:-}" in *@*) :;; '') echo "E: missing message ID argument." >&2 exit 1 ;; *) echo "E: not a message ID: $1" >&2 exit 2 ;; esac CHECKPREFIX='References: ' CHECKPOSTFIX='>' REPREFIX='^References:.*' REPOSTFIX='' ARG="${1#<}"; ARG="${ARG%>}" ;; esac if echo "$CHECKPREFIX$1$CHECKPOSTFIX" | egrep -qif $IGNORE_FILE; then echo "I: already ignored: $1" >&2 exit 0 fi ARG_ESCAPED="$(echo "$ARG" | sed -re 's,([.+]),\\\1,g')" cat <<_eof >> $IGNORE_FILE $^# $(date +%Y.%m.%d.%H.%m.%S) added by ${0##*/} $REPREFIX$ARG_ESCAPED$REPOSTFIX _eof