diff options
Diffstat (limited to 'recipes/bogofilter/files')
-rw-r--r-- | recipes/bogofilter/files/bogohelper.sh | 12 | ||||
-rw-r--r-- | recipes/bogofilter/files/postfix-filter.sh | 25 | ||||
-rw-r--r-- | recipes/bogofilter/files/volatiles | 1 |
3 files changed, 38 insertions, 0 deletions
diff --git a/recipes/bogofilter/files/bogohelper.sh b/recipes/bogofilter/files/bogohelper.sh new file mode 100644 index 0000000000..5be7aeae7e --- /dev/null +++ b/recipes/bogofilter/files/bogohelper.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +if [ -d "$2" ] ; then + echo -e "\ncd $2" + cd "$2" + + for i in `find . -name '*.' -maxdepth 1` ; do + echo "bogofilter -d /opt/var/spool/bogofilter -t -v $1 < $i" + bogofilter -d /opt/var/spool/bogofilter -t -v "$1" < "$i" + done +fi + diff --git a/recipes/bogofilter/files/postfix-filter.sh b/recipes/bogofilter/files/postfix-filter.sh new file mode 100644 index 0000000000..156330b43d --- /dev/null +++ b/recipes/bogofilter/files/postfix-filter.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +FILTER=/usr/bin/bogofilter +FILTER_DIR=/var/spool/filter +POSTFIX=/usr/sbin/sendmail +export BOGOFILTER_DIR=/home/bogo + +# Exit codes from <sysexits.h> +EX_TEMPFAIL=75 +EX_UNAVAILABLE=69 + +cd $FILTER_DIR || { echo $FILTER_DIR does not exist; exit $EX_TEMPFAIL; } + +# Clean up when done or when aborting. +trap "rm -f msg.$$ ; exit $EX_TEMPFAIL" 0 1 2 3 15 + +# bogofilter -e returns: 0 for OK, nonzero for error +rm -f msg.$$ || exit $EX_TEMPFAIL +$FILTER -p -u -e > msg.$$ || exit $EX_TEMPFAIL + +exec <msg.$$ || exit $EX_TEMPFAIL +rm -f msg.$$ # safe, we hold the file descriptor +exec $POSTFIX "$@" +exit $EX_TEMPFAIL + diff --git a/recipes/bogofilter/files/volatiles b/recipes/bogofilter/files/volatiles new file mode 100644 index 0000000000..f460c91fea --- /dev/null +++ b/recipes/bogofilter/files/volatiles @@ -0,0 +1 @@ +d spam filter 0770 /var/spool/filter none |