mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-21 19:42:24 +01:00
network/amavisd-new: Added (MTA <--> content checker interface)
amavisd-new is an interface between message transfer agent (MTA) and one or more content checkers.
This commit is contained in:
parent
6f23c76e28
commit
966d49843a
8 changed files with 290 additions and 0 deletions
4
network/amavisd-new/README
Normal file
4
network/amavisd-new/README
Normal file
|
@ -0,0 +1,4 @@
|
|||
amavisd-new is an interface between message transfer agent (MTA) and one
|
||||
or more content checkers: virus scanners, SpamAssassin and/or dkim signing.
|
||||
|
||||
Please refer to README.SBo for detailed instructions and dependencies.
|
38
network/amavisd-new/README.SBo
Normal file
38
network/amavisd-new/README.SBo
Normal file
|
@ -0,0 +1,38 @@
|
|||
DEPENDENCIES:
|
||||
|
||||
FOR SPAMASSASSIN (please install in this order): perl-Test-Pod,
|
||||
perl-Encode-Detect, perl-Image-Info, perl-TimeDate, perl-Test-Simple,
|
||||
perl-Net-libIDN, Net-SSLeay, perl-Socket6, perl-IO-Socket-SSL,
|
||||
perl-IO-Socket-INET6, perl-Crypt-OpenSSL-Bignum, perl-Crypt-OpenSSL-Random,
|
||||
perl-Crypt-OpenSSL-RSA, perl-DB-File, perl-DBI, perl-Digest-SHA,
|
||||
perl-Geography-Countries, perl-IP-Country, perl-IO, perl-URI, perl-digest-sha1,
|
||||
perl-digest-hmac, perl-html-tagset, perl-html-parser, perl-libnet, re2c,
|
||||
libwww-perl, perl-NetAddr-IP, perl-Net-Server, perl-Net-Ident, perl-MailTools,
|
||||
perl-net-ip, perl-net-dns, perl-Net-DNS-Resolver-Programmable, perl-Mail-SPF,
|
||||
perl-Mail-DKIM, spamassassin
|
||||
|
||||
FOR AMAVISD-NEW (please install in this order): perl-Convert-TNEF,
|
||||
perl-Convert-UUlib, perl-Convert-BinHex, perl-Archive-Zip, perl-IO-stringy,
|
||||
perl-MIME-tools, perl-Unix-Syslog, perl-BerkeleyDB
|
||||
|
||||
SETUP:
|
||||
1. Create amavis user/group, before running the script.
|
||||
groupadd -g 225 amavis
|
||||
useradd -d -m /var/lib/amavis -s /bin/bash -u 225 -g 225 amavis
|
||||
|
||||
2. Make sure you have write perms for amavis group to amavis home (in this
|
||||
case, /var/lib/amavis)
|
||||
|
||||
3. Create /var/log/amavisd.log file, change perms to allow write access
|
||||
to amavisd user/group.
|
||||
|
||||
4. Add amavis user to clamav group and set "AllowSupplementaryGroups yes"
|
||||
in fresclam.conf to allow amavis to scan messages.
|
||||
|
||||
5. To scan messages using spamassassin, you need to provide write access
|
||||
to amavis user to /var/lib/spamassassin, which is the default. If the
|
||||
directory doesn't exist, it will be created by spamassassin but the
|
||||
permissions will correspond to the user invoking it.
|
||||
|
||||
6. Edit /etc/amavisd.conf. Verbose version of config file is included to
|
||||
aid in configuration.
|
129
network/amavisd-new/amavisd-new.SlackBuild
Normal file
129
network/amavisd-new/amavisd-new.SlackBuild
Normal file
|
@ -0,0 +1,129 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Slackware Package Build Script for amavisd-new
|
||||
# Home Page http://www.ijs.si/software/amavisd/
|
||||
|
||||
# Copyright (c) 2009-2010, Nishant Limbachia, Hoffman Estates, IL, USA (nishant__AT__mnspace__DOT__net)
|
||||
# All rights reserved.
|
||||
|
||||
# Redistribution and use of this script, with or without modification, is
|
||||
# permitted provided that the following conditions are met:
|
||||
|
||||
# 1. Redistributions of script must retain the above copyright notice,
|
||||
# this list of conditions and the following disclaimer.
|
||||
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
||||
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
PRGNAM="amavisd-new"
|
||||
VERSION=2.6.4
|
||||
ARCH=noarch
|
||||
BUILD=${BUILD:-1}
|
||||
TAG=${TAG:-_SBo}
|
||||
|
||||
TMP=${TMP:-/tmp/SBo}
|
||||
PKG=$TMP/package-$PRGNAM
|
||||
OUTPUT=${OUTPUT:-/tmp}
|
||||
CWD=$(pwd)
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$ARCH" = "i486" ]; then
|
||||
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
|
||||
LIBDIRSUFFIX=""
|
||||
elif [ "$ARCH" = "i686" ]; then
|
||||
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
|
||||
LIBDIRSUFFIX=""
|
||||
elif [ "$ARCH" = "x86_64" ]; then
|
||||
SLKCFLAGS="-O2 -fPIC"
|
||||
LIBDIRSUFFIX="64"
|
||||
fi
|
||||
|
||||
# Create system user and group for policyd
|
||||
if ! grep -q ^amavis: /etc/group ; then
|
||||
echo " Please add a dedicated group to run amavisd-new"
|
||||
echo " # groupadd -g 225 amavis"
|
||||
echo " Or something similar."
|
||||
echo " Add amavis user to clamav group and set AllowSupplementaryGroups yes"
|
||||
echo " in fresclam.conf to allow amavis to scan incoming messages"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! grep -q ^amavis: /etc/passwd ; then
|
||||
echo " Please add a dedicated user to run amavisd-new"
|
||||
echo " # useradd -d /var/lib/amavis -s /bin/bash -u 225 -g 225 amavis"
|
||||
echo " Or something similar."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
USER=${USER:-amavis}
|
||||
GROUP=${GROUP:-amavis}
|
||||
|
||||
AMAVIS_HOME=${AMAVIS_HOME:-/var/lib/amavis}
|
||||
QUARANTINE_DIR=${QUARANTINE_DIR:-$AMAVIS_HOME/quarantine}
|
||||
|
||||
DOCS="RELEASE_NOTES LICENSE AAAREADME.first INSTALL TODO
|
||||
amavisd*.conf LDAP* test-messages README_FILES"
|
||||
|
||||
rm -fr $TMP/$PRGNAM-$VERSION $PKG
|
||||
mkdir -p $TMP $PKG $OUTPUT
|
||||
cd $TMP
|
||||
tar xvf $CWD/$PRGNAM-$VERSION.tar.?z*
|
||||
cd $TMP/$PRGNAM-$VERSION
|
||||
chown -R root:root .
|
||||
find . \
|
||||
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
|
||||
-exec chmod 755 {} \; -o \
|
||||
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
|
||||
-exec chmod 644 {} \;
|
||||
|
||||
### amavisd-new home directory
|
||||
mkdir -p $PKG/$AMAVIS_HOME/{tmp,var,db,home}
|
||||
### amavisd-new runtime directory
|
||||
mkdir -p $PKG/var/run/amavis
|
||||
|
||||
### make and populate quarantine directory with subdirectories
|
||||
### this is only useful if you wish to spread out
|
||||
### your quarantine directory into different categories
|
||||
### used by $(clean|banned_files|bad_header|spam|virus)_quarantine_method directive
|
||||
### in amavisd config file
|
||||
mkdir -p $PKG/$QUARANTINE_DIR/{clean,spam,banned,badh,virus}
|
||||
|
||||
mkdir -p $PKG/usr/{sbin,doc/$PRGNAM-$VERSION}
|
||||
install -m 0755 -D amavisd $PKG/usr/sbin/$PRGNAM
|
||||
( cd $PKG/usr/sbin; ln -sf $PRGNAM amavisd )
|
||||
install -m 0755 amavisd-agent amavisd-nanny amavisd-release \
|
||||
amavisd-snmp-subagent p0f-analyzer.pl $PKG/usr/sbin
|
||||
install -D amavisd.conf $PKG/etc/amavisd.conf.new
|
||||
|
||||
# change permissions
|
||||
chown $USER:$GROUP $PKG/etc/amavisd.conf.new
|
||||
chmod 0640 $PKG/etc/amavisd.conf.new
|
||||
chown -R $USER:$GROUP $PKG/$AMAVIS_HOME $PKG/var/run/amavis $PKG/$QUARANTINE_DIR
|
||||
chmod -R 0770 $PKG/$AMAVIS_HOME $PKG/var/run/amavis $PKG/$QUARANTINE_DIR
|
||||
|
||||
cp -a $DOCS $PKG/usr/doc/$PRGNAM-$VERSION
|
||||
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
|
||||
|
||||
### install rc script
|
||||
install -m 0755 -D $CWD/rc.amavisd $PKG/etc/rc.d/rc.amavisd.new
|
||||
|
||||
### install logrotate script
|
||||
install -D -m 0644 $CWD/amavisd.logrotate $PKG/etc/logrotate.d/amavisd
|
||||
|
||||
### putting slack-desc and doinst.sh in place
|
||||
mkdir -p $PKG/install
|
||||
cat $CWD/slack-desc > $PKG/install/slack-desc
|
||||
cat $CWD/doinst.sh > $PKG/install/doinst.sh
|
||||
|
||||
cd $PKG
|
||||
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
|
10
network/amavisd-new/amavisd-new.info
Normal file
10
network/amavisd-new/amavisd-new.info
Normal file
|
@ -0,0 +1,10 @@
|
|||
PRGNAM="amavisd-new"
|
||||
VERSION="2.6.4"
|
||||
HOMEPAGE="http://www.ijs.si/software/amavisd/"
|
||||
DOWNLOAD="http://www.ijs.si/software/amavisd/amavisd-new-2.6.4.tar.gz"
|
||||
MD5SUM="03d31657f14cd64c1cb38786214234b4"
|
||||
DOWNLOAD_x86_64=""
|
||||
MD5SUM_x86_64=""
|
||||
MAINTAINER="Nishant Limbachia"
|
||||
EMAIL="nishant@mnspace.net"
|
||||
APPROVED="dsomero"
|
8
network/amavisd-new/amavisd.logrotate
Normal file
8
network/amavisd-new/amavisd.logrotate
Normal file
|
@ -0,0 +1,8 @@
|
|||
/var/log/amavisd.log {
|
||||
rotate 5
|
||||
notifempty
|
||||
missingok
|
||||
size 1M
|
||||
nocompress
|
||||
copytruncate
|
||||
}
|
22
network/amavisd-new/doinst.sh
Normal file
22
network/amavisd-new/doinst.sh
Normal file
|
@ -0,0 +1,22 @@
|
|||
config() {
|
||||
NEW="$1"
|
||||
OLD="$(dirname $NEW)/$(basename $NEW .new)"
|
||||
# If there's no config file by that name, mv it over:
|
||||
if [ ! -r $OLD ]; then
|
||||
mv $NEW $OLD
|
||||
elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then
|
||||
# toss the redundant copy
|
||||
rm $NEW
|
||||
fi
|
||||
# Otherwise, we leave the .new copy for the admin to consider...
|
||||
}
|
||||
|
||||
# Keep same perms on rc.amavisd.new:
|
||||
if [ -e etc/rc.d/rc.amavisd-new ]; then
|
||||
cp -a etc/rc.d/rc.amavisd-new etc/rc.d/rc.amavisd-new.new.incoming
|
||||
cat etc/rc.d/rc.amavisd-new.new > etc/rc.d/rc.amavisd-new.new.incoming
|
||||
mv etc/rc.d/rc.amavisd-new.new.incoming etc/rc.d/rc.amavisd-new.new
|
||||
fi
|
||||
|
||||
config etc/rc.d/rc.amavisd.new
|
||||
config etc/amavisd.conf.new
|
60
network/amavisd-new/rc.amavisd
Normal file
60
network/amavisd-new/rc.amavisd
Normal file
|
@ -0,0 +1,60 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Copyright (c) 2008-2010, Nishant Limbachia, Hoffman Estates, IL, USA [nishant@mnspace.net]
|
||||
#
|
||||
# /etc/rc.d/rc.amavisd
|
||||
# start|stop|restart|status amavisd for Postfix
|
||||
#
|
||||
# For automatic startup at boot, call this script from rc.local
|
||||
PIDFILE=/var/run/amavis/amavisd.pid
|
||||
|
||||
amavisd_start() {
|
||||
if [ -x /etc/rc.d/rc.amavisd ]; then
|
||||
if [ -f $PIDFILE ]; then
|
||||
echo "amavisd-new daemon running with PID: $(cat $PIDFILE)"
|
||||
echo "try /etc/rc.d/rc.amavisd stop|restart"
|
||||
echo ""
|
||||
exit 1
|
||||
else
|
||||
echo "Starting amavisd-new daemon"
|
||||
/usr/sbin/amavisd start
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
amavisd_stop() {
|
||||
if [ -f $PIDFILE ]; then
|
||||
echo "Stopping amavisd-new daemon"
|
||||
/usr/sbin/amavisd stop
|
||||
else
|
||||
echo "amavisd-new daemon is not running"
|
||||
fi
|
||||
}
|
||||
|
||||
amavisd_restart() {
|
||||
echo "Restarting amavisd-new daemon"
|
||||
/usr/sbin/amavisd reload
|
||||
}
|
||||
|
||||
amavisd_status() {
|
||||
echo "amavisd-new daemon running with PID: $(cat $PIDFILE)"
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
'start')
|
||||
amavisd_start
|
||||
;;
|
||||
'stop')
|
||||
amavisd_stop
|
||||
;;
|
||||
'restart')
|
||||
amavisd_restart
|
||||
;;
|
||||
'status')
|
||||
amavisd_status
|
||||
;;
|
||||
*)
|
||||
echo "USAGE: $0 start|stop|restart|status"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
19
network/amavisd-new/slack-desc
Normal file
19
network/amavisd-new/slack-desc
Normal file
|
@ -0,0 +1,19 @@
|
|||
# HOW TO EDIT THIS FILE:
|
||||
# The "handy ruler" below makes it easier to edit a package description. Line
|
||||
# up the first '|' above the ':' following the base package name, and the '|'
|
||||
# on the right side marks the last column you can put a character in. You must
|
||||
# make exactly 11 lines for the formatting to be correct. It's also
|
||||
# customary to leave one space after the ':'.
|
||||
|
||||
|-----handy-ruler-----------------------------------------------------|
|
||||
amavisd-new: amavisd-new (interface between mailer and content checkers)
|
||||
amavisd-new:
|
||||
amavisd-new: amavisd-new is a high-performance interface between mailer (MTA)
|
||||
amavisd-new: and content checkers: virus scanners, and/or SpamAssassin.
|
||||
amavisd-new:
|
||||
amavisd-new:
|
||||
amavisd-new:
|
||||
amavisd-new: Homepage: http://www.ijs.si/software/amavisd/
|
||||
amavisd-new:
|
||||
amavisd-new:
|
||||
amavisd-new:
|
Loading…
Reference in a new issue