diff options
-rw-r--r-- | network/policyd/README | 5 | ||||
-rw-r--r-- | network/policyd/doinst.sh | 23 | ||||
-rw-r--r-- | network/policyd/policyd.SlackBuild | 88 | ||||
-rw-r--r-- | network/policyd/policyd.info | 8 | ||||
-rw-r--r-- | network/policyd/rc.policyd | 45 | ||||
-rw-r--r-- | network/policyd/slack-desc | 19 |
6 files changed, 188 insertions, 0 deletions
diff --git a/network/policyd/README b/network/policyd/README new file mode 100644 index 0000000000..43eb0bba32 --- /dev/null +++ b/network/policyd/README @@ -0,0 +1,5 @@ +Policyd is an anti-spam plugin for Postfix (written in C) that does +Greylisting, Sender-(envelope, SASL or host / ip)-based throttling +(on messages and/or volume per defined time unit), Recipient rate +limiting, Spamtrap monitoring / blacklisting, HELO auto blacklisting +and HELO randomization preventation. diff --git a/network/policyd/doinst.sh b/network/policyd/doinst.sh new file mode 100644 index 0000000000..3036393445 --- /dev/null +++ b/network/policyd/doinst.sh @@ -0,0 +1,23 @@ +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.policyd.new: +if [ -e etc/rc.d/rc.policyd ]; then + cp -a etc/rc.d/rc.policyd etc/rc.d/rc.policyd.new.incoming + cat etc/rc.d/rc.policyd.new > etc/rc.d/rc.policyd.new.incoming + mv etc/rc.d/rc.policyd.new.incoming etc/rc.d/rc.policyd.new +fi + +config etc/rc.d/rc.policyd.new +config etc/policyd.conf.new + diff --git a/network/policyd/policyd.SlackBuild b/network/policyd/policyd.SlackBuild new file mode 100644 index 0000000000..34ebec230a --- /dev/null +++ b/network/policyd/policyd.SlackBuild @@ -0,0 +1,88 @@ +#!/bin/sh + +# Slackware Package Build Script for policyd + +# Copyright (c) 2007, Nishant Limbachia (nishant@mnspace.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. + +# Modified by Robby Workman <rworkman@slackbuilds.org> + +PRGNAM=policyd +VERSION=1.82 +ARCH=${ARCH:-i486} +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +CWD=$(pwd) +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" +fi + +rm -fr $TMP/$PRGNAM-$VERSION $PKG +mkdir -p $PKG $TMP $OUTPUT +cd $TMP +tar xvf $CWD/$PRGNAM-$VERSION.tar.gz || exit 1 +cd $TMP/$PRGNAM-$VERSION +chown root.root . +find . \ + \( -perm 1755 -o -perm 2755 -o -perm 777 -o -perm 555 -o -perm 711 -o -perm 511 \) \ + -exec chmod 755 {} \; +find . \ + \( -perm 666 -o -perm 664 -o -perm 644 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Note - for future policyd versions, check to see if the upstream Makefile +# has an different CFLAGS defined. We're just pulling what the author put +# in and appending standard Slackware ones to it. --rworkman +make CFLAGS="-g -W -Wall -DMAXFDS=4096 $SLKCFLAGS" build || exit 1 +strip --strip-unneeded cleanup stats policyd 2> /dev/null + +mkdir -p $PKG/usr/bin +install -m 0755 cleanup stats policyd $PKG/usr/bin + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a ChangeLog* DATABASE.mysql LICENSE README TODO doc/*.sql \ + doc/support.txt contrib/policyd.cron $PKG/usr/doc/$PRGNAM-$VERSION +chown -R root:root $PKG/usr/doc/ +find $PKG/usr/doc -type f -exec chmod 0644 {} \; + +# Fix paths in the cron file included with docs +sed -i 's|/usr/local/policyd|/usr/bin|' \ + $PKG/usr/doc/$PRGNAM-$VERSION/policyd.cron +sed -i 's|/usr/local/policyd|/etc|' \ + $PKG/usr/doc/$PRGNAM-$VERSION/policyd.cron + +mkdir -p $PKG/etc/rc.d +cat policyd.conf > $PKG/etc/policyd.conf.new +cat $CWD/rc.policyd > $PKG/etc/rc.d/rc.policyd.new + +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.tgz diff --git a/network/policyd/policyd.info b/network/policyd/policyd.info new file mode 100644 index 0000000000..ee2c708d59 --- /dev/null +++ b/network/policyd/policyd.info @@ -0,0 +1,8 @@ +PRGNAM="policyd" +VERSION="1.82" +HOMEPAGE="http://policyd.org/" +DOWNLOAD="http://downloads.sourceforge.net/policyd/policyd-1.82.tar.gz" +MD5SUM="6f6167dc2032353cb14f02da7cdb1339" +MAINTAINER="Nishant Limbachia" +EMAIL="nishant@mnspace.net" +APPROVED="rworkman" diff --git a/network/policyd/rc.policyd b/network/policyd/rc.policyd new file mode 100644 index 0000000000..a6400e71c9 --- /dev/null +++ b/network/policyd/rc.policyd @@ -0,0 +1,45 @@ +#!/bin/sh +# +# /etc/rc.d/rc.policyd +# +# start/stop/restart policy daemon + +# The PIDFILE is setup in the config file. Default is /var/run/policyd.pid +# if you change the location in the config file then it **needs** to be changed here too. +PIDFILE="/var/run/policyd.pid" +CONFIG="/etc/policyd.conf" + +policyd_start() { + if [ -x /etc/rc.d/rc.policyd ]; then + echo "Starting Policy daemon" + /usr/bin/policyd -c $CONFIG + fi +} + +policyd_stop() { + echo "Stopping Policy daemon" + /bin/kill $(cat $PIDFILE) + rm -f $PIDFILE +} + +policyd_restart() { + policyd_stop + sleep 2 + policyd_start +} + +case "$1" in +'start') + policyd_start + ;; +'stop') + policyd_stop + ;; +'restart') + policyd_restart + ;; +'*') + echo "USAGE: $0 start|stop|restart" + exit 1 + ;; +esac diff --git a/network/policyd/slack-desc b/network/policyd/slack-desc new file mode 100644 index 0000000000..44336ac4ab --- /dev/null +++ b/network/policyd/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------------------------------------------------------| +policyd: policyd (Policy Daemon for Postfix) +policyd: +policyd: Policyd is an anti-spam plugin for Postfix (written in C) that +policyd: does Greylisting, Sender-throttling, Spamtrap monitoring and +policyd: blacklisting, helo auto blacklisting and helo randomization +policyd: prevention (HRP). +policyd: +policyd: Homepage: http://policyd.org/ +policyd: +policyd: +policyd: |