summaryrefslogtreecommitdiff
path: root/network/amavisd-new
diff options
context:
space:
mode:
Diffstat (limited to 'network/amavisd-new')
-rw-r--r--network/amavisd-new/README4
-rw-r--r--network/amavisd-new/README.SBo38
-rw-r--r--network/amavisd-new/amavisd-new.SlackBuild129
-rw-r--r--network/amavisd-new/amavisd-new.info10
-rw-r--r--network/amavisd-new/amavisd.logrotate8
-rw-r--r--network/amavisd-new/doinst.sh22
-rw-r--r--network/amavisd-new/rc.amavisd60
-rw-r--r--network/amavisd-new/slack-desc19
8 files changed, 290 insertions, 0 deletions
diff --git a/network/amavisd-new/README b/network/amavisd-new/README
new file mode 100644
index 0000000000..4af4769869
--- /dev/null
+++ b/network/amavisd-new/README
@@ -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.
diff --git a/network/amavisd-new/README.SBo b/network/amavisd-new/README.SBo
new file mode 100644
index 0000000000..4b4620cf8e
--- /dev/null
+++ b/network/amavisd-new/README.SBo
@@ -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.
diff --git a/network/amavisd-new/amavisd-new.SlackBuild b/network/amavisd-new/amavisd-new.SlackBuild
new file mode 100644
index 0000000000..a1d17f9725
--- /dev/null
+++ b/network/amavisd-new/amavisd-new.SlackBuild
@@ -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}
diff --git a/network/amavisd-new/amavisd-new.info b/network/amavisd-new/amavisd-new.info
new file mode 100644
index 0000000000..2601967f75
--- /dev/null
+++ b/network/amavisd-new/amavisd-new.info
@@ -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"
diff --git a/network/amavisd-new/amavisd.logrotate b/network/amavisd-new/amavisd.logrotate
new file mode 100644
index 0000000000..c7f5342714
--- /dev/null
+++ b/network/amavisd-new/amavisd.logrotate
@@ -0,0 +1,8 @@
+/var/log/amavisd.log {
+ rotate 5
+ notifempty
+ missingok
+ size 1M
+ nocompress
+ copytruncate
+} \ No newline at end of file
diff --git a/network/amavisd-new/doinst.sh b/network/amavisd-new/doinst.sh
new file mode 100644
index 0000000000..0d8d442872
--- /dev/null
+++ b/network/amavisd-new/doinst.sh
@@ -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
diff --git a/network/amavisd-new/rc.amavisd b/network/amavisd-new/rc.amavisd
new file mode 100644
index 0000000000..25dbf1dc2f
--- /dev/null
+++ b/network/amavisd-new/rc.amavisd
@@ -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
diff --git a/network/amavisd-new/slack-desc b/network/amavisd-new/slack-desc
new file mode 100644
index 0000000000..c8a031addc
--- /dev/null
+++ b/network/amavisd-new/slack-desc
@@ -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: