lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

postfix-bogofilter (1381B)


      1 #!/bin/sh
      2 
      3 FILTER=/usr/bin/bogofilter
      4 
      5 # Attempt to read from bogofilter configuration.
      6 FILTER_DIR=$(cat /etc/bogofilter.cf | sed 's/#.*//g' | grep ^bogofilter_dir | awk -F = '{ print $2 }')
      7 
      8 # WARNING! The -i is crucial, else you may see
      9 # messages truncated at the first period that is alone on a line
     10 # (which can happen with several kinds of messages, particularly
     11 # quoted-printable)
     12 # -G is ignored before Postfix 2.3 and tells it that the message
     13 # does not originate on the local system (Gateway submission),
     14 # so Postfix avoids some of the local expansions that can leave
     15 # misleading traces in headers, such as local address
     16 # canonicalizations.
     17 POSTFIX="/usr/sbin/sendmail -G -i"
     18 
     19 # No bogofilter_dir set in /etc/bogofilter.cf; fall back on directory
     20 # which persists across reboots.
     21 if [ -z "$FILTER_DIR" ]; then
     22 	FILTER_DIR=/etc/bogofilter
     23 	export BOGOFILTER_DIR=$FILTER_DIR
     24 fi
     25 
     26 # Exit codes from <sysexits.h>
     27 EX_TEMPFAIL=75
     28 EX_UNAVAILABLE=69
     29 
     30 cd $FILTER_DIR || \
     31     { echo $FILTER_DIR does not exist; exit $EX_TEMPFAIL; }
     32 
     33 # Clean up when done or when aborting.
     34 trap "rm -f msg.$$ ; exit $EX_TEMPFAIL" 0 1 2 3 15
     35 
     36 # bogofilter -e returns: 0 for OK, nonzero for error
     37 rm -f msg.$$ || exit $EX_TEMPFAIL
     38 $FILTER -p -e > msg.$$ || exit $EX_TEMPFAIL
     39 
     40 exec <msg.$$ || exit $EX_TEMPFAIL
     41 rm -f msg.$$ # safe, we hold the file descriptor
     42 exec $POSTFIX "$@"
     43 exit $EX_TEMPFAIL