OpenPKG CVS Repository
http://cvs.openpkg.org/
____________________________________________________________________________
Server: cvs.openpkg.org Name: Ralf S. Engelschall
Root: /e/openpkg/cvs Email: [EMAIL PROTECTED]
Module: openpkg-src Date: 21-May-2004 21:23:04
Branch: HEAD Handle: 2004052120230200
Added files:
openpkg-src/postgrey postgrey.patch postgrey.spec rc.postgrey
Log:
new package: postgrey 1.2 (Postfix Greylisting Daemon)
Summary:
Revision Changes Path
1.1 +34 -0 openpkg-src/postgrey/postgrey.patch
1.1 +123 -0 openpkg-src/postgrey/postgrey.spec
1.1 +65 -0 openpkg-src/postgrey/rc.postgrey
____________________________________________________________________________
patch -p0 <<'@@ .'
Index: openpkg-src/postgrey/postgrey.patch
============================================================================
$ cvs diff -u -r0 -r1.1 postgrey.patch
--- /dev/null 2004-05-21 21:23:03.000000000 +0200
+++ postgrey.patch 2004-05-21 21:23:03.000000000 +0200
@@ -0,0 +1,34 @@
+Index: postgrey
+--- postgrey.orig 2004-05-21 18:14:04.000000000 +0200
++++ postgrey 2004-05-21 21:16:29.000000000 +0200
+@@ -105,7 +105,7 @@
+ # parse options
+ my %opt = ();
+ GetOptions(\%opt, 'help|h', 'man', 'version', 'noaction|no-action|n',
+- 'verbose|v', 'daemonize|d', 'unix|u=s', 'inet|i=s', 'user=s', 'dbdir=s',
++ 'verbose|v', 'daemonize|d', 'unix|u=s', 'inet|i=s', 'user=s', 'dbdir=s',
'pidfile=s',
+ 'delay=i', 'max-age=i') or exit(1);
+ if($opt{help}) { pod2usage(1) }
+ if($opt{man}) { pod2usage(-exitstatus => 0, -verbose => 2) }
+@@ -125,11 +125,12 @@
+ server => {
+ commandline => [ $0, @ARGV_saved ],
+ delay => $opt{delay} || 600,
+- port => [ $opt{inet} ? $opt{inet} : $opt{unix} ],
++ port => [ $opt{inet} ? $opt{inet} : $opt{unix}."|unix" ],
+ proto => $opt{inet} ? 'tcp' : 'unix',
+ user => $opt{user} || 'postgrey',
+ dbdir => $opt{dbdir} || '/var/spool/postfix/postgrey',
+ setsid => $opt{daemonize} ? 1 : undef,
++ pid_file => $opt{daemonize} ? $opt{pidfile} : undef,
+ log_level => $opt{verbose} ? 4 : 2,
+ log_file => $opt{daemonize} ? 'Sys::Syslog' : undef,
+ syslog_facility => 'mail',
+@@ -245,6 +246,7 @@
+ -u, --unix=PATH listen on unix socket PATH
+ -i, --inet=[HOST:]PORT listen on PORT, localhost if HOST is not specified
+ -d, --daemonize run in the background
++ --pidfile=PATH put daemon pid into this file
+ --user=USER run as USER (default: postgrey)
+ --dbdir=PATH put db files in PATH (default: /var/spool/postfix/postgrey)
+ --delay=N greylist for N seconds (default: 600)
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/postgrey/postgrey.spec
============================================================================
$ cvs diff -u -r0 -r1.1 postgrey.spec
--- /dev/null 2004-05-21 21:23:03.000000000 +0200
+++ postgrey.spec 2004-05-21 21:23:03.000000000 +0200
@@ -0,0 +1,123 @@
+##
+## postgrey.spec -- OpenPKG RPM Specification
+## Copyright (c) 2000-2004 The OpenPKG Project <http://www.openpkg.org/>
+## Copyright (c) 2000-2004 Ralf S. Engelschall <[EMAIL PROTECTED]>
+## Copyright (c) 2000-2004 Cable & Wireless <http://www.cw.com/>
+##
+## Permission to use, copy, modify, and distribute this software for
+## any purpose with or without fee is hereby granted, provided that
+## the above copyright notice and this permission notice appear in all
+## copies.
+##
+## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED 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 AUTHORS AND COPYRIGHT HOLDERS AND THEIR
+## 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.
+##
+
+# package information
+Name: postgrey
+Summary: Postfix Greylisting Daemon
+URL: http://isg.ee.ethz.ch/tools/postgrey/
+Vendor: David Schweikert
+Packager: The OpenPKG Project
+Distribution: OpenPKG
+Class: EVAL
+Group: Mail
+License: GPL
+Version: 1.2
+Release: 20040521
+
+# list of sources
+Source0: http://isg.ee.ethz.ch/tools/postgrey/pub/postgrey-%{version}.tar.gz
+Source1: rc.postgrey
+Patch0: postgrey.patch
+
+# build information
+Prefix: %{l_prefix}
+BuildRoot: %{l_buildroot}
+BuildPreReq: OpenPKG, openpkg >= 20040130
+PreReq: OpenPKG, openpkg >= 20040130
+BuildPreReq: perl
+PreReq: perl, perl-sys, perl-net, perl-db
+AutoReq: no
+AutoReqProv: no
+
+%description
+ Postgrey is a Postfix MTA policy server implementing Greylisting.
+ Greylisting is related to Whitelisting and Blacklisting. What
+ happen is that each time a given mailbox receives an email from
+ an unknown contact (ip), that mail is rejected with a "try again
+ later"-message. This, in the short run, means that all mail gets
+ delayed atleast until the sender tries again - but this is where
+ spam looses out! Most spam is not sent out using RFC compliant MTAs;
+ the spamming software will not try again later.
+
+%track
+ prog postgrey = {
+ version = %{version}
+ url = http://isg.ee.ethz.ch/tools/postgrey/pub/
+ regex = postgrey-(__VER__)\.tar\.gz
+ }
+
+%prep
+ %setup -q
+ %patch -p0
+
+%build
+ # build manual page
+ pod2man postgrey >postgrey.8
+
+ # build empty recipient list
+ echo "" >postgrey_recipient_access
+
+%install
+ # create installation hierarchy
+ rm -rf $RPM_BUILD_ROOT
+ %{l_shtool} mkdir -f -p -m 755 \
+ $RPM_BUILD_ROOT%{l_prefix}/sbin \
+ $RPM_BUILD_ROOT%{l_prefix}/man/man8 \
+ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \
+ $RPM_BUILD_ROOT%{l_prefix}/etc/postgrey \
+ $RPM_BUILD_ROOT%{l_prefix}/var/postgrey
+
+ # install program and manual page
+ %{l_shtool} install -c -m 755 \
+ -e 's;#!/usr/bin/perl;#!%{l_prefix}/bin/perl;g' \
+ postgrey $RPM_BUILD_ROOT%{l_prefix}/sbin/
+ %{l_shtool} install -c -m 644 \
+ postgrey.8 $RPM_BUILD_ROOT%{l_prefix}/man/man8/
+
+ # install configuration files
+ %{l_shtool} install -c -m 644 \
+ postgrey_client_access \
+ $RPM_BUILD_ROOT%{l_prefix}/etc/postgrey/
+ %{l_shtool} install -c -m 644 \
+ postgrey_recipient_access \
+ $RPM_BUILD_ROOT%{l_prefix}/etc/postgrey/
+
+ # install run-command script
+ %{l_shtool} mkdir -f -p -m 755 \
+ $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d
+ %{l_shtool} install -c -m 755 %{l_value -s -a} \
+ %{SOURCE rc.postgrey} $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/
+
+ # determine installation files
+ %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
+ %{l_files_std} \
+ '%config %{l_prefix}/etc/postgrey/*' \
+ '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/postgrey'
+
+%files -f files
+
+%clean
+ rm -rf $RPM_BUILD_ROOT
+
@@ .
patch -p0 <<'@@ .'
Index: openpkg-src/postgrey/rc.postgrey
============================================================================
$ cvs diff -u -r0 -r1.1 rc.postgrey
--- /dev/null 2004-05-21 21:23:03.000000000 +0200
+++ rc.postgrey 2004-05-21 21:23:04.000000000 +0200
@@ -0,0 +1,65 @@
[EMAIL PROTECTED]@/lib/openpkg/bash @l_prefix@/etc/rc
+##
+## rc.postgrey -- Run-Commands
+##
+
+%config
+ postgrey_enable="$openpkg_rc_def"
+ postgrey_delay="600"
+ postgrey_maxage="14"
+ postgrey_log_prolog="true"
+ postgrey_log_epilog="true"
+ postgrey_log_numfiles="10"
+ postgrey_log_minsize="1M"
+ postgrey_log_complevel="9"
+
+%common
+ postgrey_logfile="@l_prefix@/var/postgrey/postgrey.pid"
+ postgrey_pidfile="@l_prefix@/var/postgrey/postgrey.pid"
+ postgrey_socket="@l_prefix@/var/postgrey/postgrey.socket"
+ postgrey_dbdir="@l_prefix@/var/postgrey"
+ postgrey_signal () {
+ [ -f $postgrey_pidfile ] && kill -$1 `cat $postgrey_pidfile`
+ }
+
+%status -u @l_rusr@ -o
+ postgrey_usable="unknown"
+ postgrey_active="no"
+ echo "postgrey_enable=\"$postgrey_enable\""
+ echo "postgrey_usable=\"$postgrey_usable\""
+ echo "postgrey_active=\"$postgrey_active\""
+
+%start -u @l_susr@
+ rcService postgrey enable yes || exit 0
+ rcService postgrey active yes && exit 0
+ @l_prefix@/sbin/postgrey \
+ --daemonize \
+ [EMAIL PROTECTED]@ \
+ --pidfile=$postgrey_pidfile \
+ --unix=$postgrey_socket \
+ --dbdir=$postgrey_dbdir \
+ --delay=$postgrey_delay \
+ --max-age=$postgrey_maxage
+
+%stop -u @l_susr@
+ rcService postgrey enable yes || exit 0
+ rcService postgrey active no && exit 0
+ postgrey_signal TERM
+ rm -f $postgrey_pidfile 2>/dev/null || true
+
+%restart -u @l_susr@
+ rcService postgrey enable yes || exit 0
+ rcService postgrey active no && exit 0
+ rc postgrey stop
+ sleep 2
+ rc postgrey start
+
+%daily -u @l_susr@
+ rcService postgrey enable yes || exit 0
+ shtool rotate -f \
+ -n ${postgrey_log_numfiles} -s ${postgrey_log_minsize} -d \
+ -z ${postgrey_log_complevel} -o @l_rusr@ -g @l_mgrp@ -m 644 \
+ -P "${postgrey_log_prolog}" \
+ -E "${postgrey_log_epilog} && rc postgrey restart" \
+ $postgrey_logfile
+
@@ .
______________________________________________________________________
The OpenPKG Project www.openpkg.org
CVS Repository Commit List [EMAIL PROTECTED]