aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/bogofilter/files
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/bogofilter/files')
-rw-r--r--recipes/bogofilter/files/bogohelper.sh12
-rw-r--r--recipes/bogofilter/files/postfix-filter.sh25
-rw-r--r--recipes/bogofilter/files/volatiles1
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