diff --git a/Makefile b/Makefile index 19f50aa82b2936ec638a6799c3444a34e4978ab2..0ea6d413e287c0cdb98592d090d7ccb97f992853 100644 --- a/Makefile +++ b/Makefile @@ -23,6 +23,7 @@ install: install -m 755 src/${APP}-rmlist ${DESTDIR}${PREFIX}/bin install -m 755 src/${APP}-rmemail ${DESTDIR}${PREFIX}/bin install -m 755 src/${APP}-ignore ${DESTDIR}${PREFIX}/bin + install -m 755 src/${APP}-unignore ${DESTDIR}${PREFIX}/bin mkdir -m 755 -p ${DESTDIR}${PREFIX}/share/man/man1 install -m 644 man/${APP}.1.gz ${DESTDIR}${PREFIX}/share/man/man1 install -m 644 man/${APP}-prep.1.gz ${DESTDIR}${PREFIX}/share/man/man1 @@ -37,6 +38,7 @@ install: install -m 644 man/${APP}-rmlist.1.gz ${DESTDIR}${PREFIX}/share/man/man1 install -m 644 man/${APP}-rmemail.1.gz ${DESTDIR}${PREFIX}/share/man/man1 install -m 644 man/${APP}-ignore.1.gz ${DESTDIR}${PREFIX}/share/man/man1 + install -m 644 man/${APP}-unignore.1.gz ${DESTDIR}${PREFIX}/share/man/man1 uninstall: rm -f ${PREFIX}/share/man/man1/${APP}.1.gz rm -f ${PREFIX}/share/man/man1/${APP}-prep.1.gz @@ -51,6 +53,7 @@ uninstall: rm -f ${PREFIX}/share/man/man1/${APP}-rmlist.1.gz rm -f ${PREFIX}/share/man/man1/${APP}-rmemail.1.gz rm -f ${PREFIX}/share/man/man1/${APP}-ignore.1.gz + rm -f ${PREFIX}/share/man/man1/${APP}-unignore.1.gz rm -rf ${PREFIX}/share/${APP} rm -f ${PREFIX}/bin/${APP} rm -f ${PREFIX}/bin/${APP}-prep @@ -64,6 +67,7 @@ uninstall: rm -f ${PREFIX}/bin/${APP}-renew-cert rm -f ${PREFIX}/bin/${APP}-rmlist rm -f ${PREFIX}/bin/${APP}-ignore + rm -f ${PREFIX}/bin/${APP}-unignore clean: rm -f \#* \.#* debian/*.substvars debian/*.log rm -fr deb.* debian/${APP} diff --git a/debian/source/include-binaries b/debian/source/include-binaries index 15939f00316f039ea10677080ebec6148ff723aa..e3dd9c933ca19cb4c85ab37288be26fbb50daa82 100644 --- a/debian/source/include-binaries +++ b/debian/source/include-binaries @@ -11,3 +11,4 @@ man/freedombone-renew-cert.1.gz man/freedombone-rmlist.1.gz man/freedombone-rmemail.1.gz man/freedombone-ignore.1.gz +man/freedombone-unignore.1.gz diff --git a/man/freedombone-unignore.1.gz b/man/freedombone-unignore.1.gz new file mode 100644 index 0000000000000000000000000000000000000000..8d8f7e25a092cdc75a58a01d3b001e00e7f5ee99 Binary files /dev/null and b/man/freedombone-unignore.1.gz differ diff --git a/src/freedombone-unignore b/src/freedombone-unignore new file mode 100755 index 0000000000000000000000000000000000000000..d8248d95eedd15bd311aebeaf59228b09deae28a --- /dev/null +++ b/src/freedombone-unignore @@ -0,0 +1,85 @@ +#!/bin/bash + +# Removes an ignore rule for either an email address +# or text in the subject line + +# License +# ======= +# +# Copyright (C) 2015 Bob Mottram <bob@robotics.uk.to> +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +MYUSERNAME=$USER +EMAIL_ADDRESS= +SUBJECT_TEXT= + +function show_help { + echo '' + echo 'freedombone-unignore -u [username] -e [mail address] -t [text in subject line]' + echo '' + exit 0 +} + +while [[ $# > 1 ]] +do +key="$1" + +case $key in + -h|--help) + show_help + ;; + -u|--user) + shift + MYUSERNAME="$1" + ;; + -e|--email) + shift + EMAIL_ADDRESS="$1" + ;; + -t|--text) + shift + SUBJECT_TEXT="$1" + ;; + *) + # unknown option + ;; +esac +shift +done + +if ! [[ $MYUSERNAME && $EMAIL_ADDRESS ]]; then + if ! [[ $MYUSERNAME && $SUBJECT_TEXT ]]; then + show_help + fi +fi + +MUTTRC=/home/$MYUSERNAME/.muttrc +PM=/home/$MYUSERNAME/.procmailrc + +# unignore if subject line contains text +if [ $SUBJECT_TEXT ]; then + if ! grep -q "Ignore rule for $SUBJECT_TEXT" $PM; then + sed -i "/# Ignore rule for $SUBJECT_TEXT/,/# End of ignore rule/d" $PM + fi +fi + +# unignore an email address +if [ $EMAIL_ADDRESS ]; then + if ! grep -q "Ignore rule for $EMAIL_ADDRESS" $PM; then + sed -i "/# Ignore rule for $EMAIL_ADDRESS/,/# End of ignore rule/d" $PM + fi +fi + +exit 0