aboutsummaryrefslogtreecommitdiff
path: root/mail/bogofilter
diff options
context:
space:
mode:
authorW. Michael Petullo <mike@flyn.org>2014-10-19 22:25:31 -0400
committerW. Michael Petullo <mike@flyn.org>2014-10-19 22:25:31 -0400
commita31e4b7b7f6e46cc80ea579992c73f84674fd43b (patch)
tree471e5b69e7eea19002008489d11ed32db6e3340f /mail/bogofilter
parent1f22b19d04042771102acec84a99e93496c018f1 (diff)
bogofilter: install postfix-bogofilter script
Signed-off-by: W. Michael Petullo <mike@flyn.org>
Diffstat (limited to 'mail/bogofilter')
-rw-r--r--mail/bogofilter/Makefile1
-rwxr-xr-xmail/bogofilter/files/postfix-bogofilter34
2 files changed, 35 insertions, 0 deletions
diff --git a/mail/bogofilter/Makefile b/mail/bogofilter/Makefile
index 076e3dcc9..98c266ebe 100644
--- a/mail/bogofilter/Makefile
+++ b/mail/bogofilter/Makefile
@@ -41,6 +41,7 @@ define Package/bogofilter/install
$(INSTALL_DIR) $(1)/etc/ \
$(1)/usr/bin
$(INSTALL_CONF) $(PKG_BUILD_DIR)/bogofilter.cf.example $(1)/etc/bogofilter.cf
+ $(INSTALL_BIN) ./files/postfix-bogofilter $(1)/usr/sbin/postfix-bogofilter
$(CP) $(PKG_INSTALL_DIR)/usr/bin/bf_compact $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/bf_copy $(1)/usr/bin/
$(CP) $(PKG_INSTALL_DIR)/usr/bin/bf_tar $(1)/usr/bin/
diff --git a/mail/bogofilter/files/postfix-bogofilter b/mail/bogofilter/files/postfix-bogofilter
new file mode 100755
index 000000000..7243b71e9
--- /dev/null
+++ b/mail/bogofilter/files/postfix-bogofilter
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+FILTER=/usr/bin/bogofilter
+FILTER_DIR=/mnt/sda1/var/spool/bogofilter
+# WARNING! The -i is crucial, else you may see
+# messages truncated at the first period that is alone on a line
+# (which can happen with several kinds of messages, particularly
+# quoted-printable)
+# -G is ignored before Postfix 2.3 and tells it that the message
+# does not originate on the local system (Gateway submission),
+# so Postfix avoids some of the local expansions that can leave
+# misleading traces in headers, such as local address
+# canonicalizations.
+POSTFIX="/usr/sbin/sendmail -G -i"
+export BOGOFILTER_DIR=/var/lib/bogofilter
+
+# 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 -e > msg.$$ || exit $EX_TEMPFAIL
+
+exec <msg.$$ || exit $EX_TEMPFAIL
+rm -f msg.$$ # safe, we hold the file descriptor
+exec $POSTFIX "$@"
+exit $EX_TEMPFAIL