Compare commits
4 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
be2d206ac5 | ||
|
|
0b8574ac4c | ||
|
|
69f0a0dafa | ||
|
|
b05aa2176f |
8 changed files with 282 additions and 21 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
postgrey-1.27.tar.gz
|
||||||
21
Makefile
21
Makefile
|
|
@ -1,21 +0,0 @@
|
||||||
# Makefile for source rpm: postgrey
|
|
||||||
# $Id$
|
|
||||||
NAME := postgrey
|
|
||||||
SPECFILE = $(firstword $(wildcard *.spec))
|
|
||||||
|
|
||||||
define find-makefile-common
|
|
||||||
for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done
|
|
||||||
endef
|
|
||||||
|
|
||||||
MAKEFILE_COMMON := $(shell $(find-makefile-common))
|
|
||||||
|
|
||||||
ifeq ($(MAKEFILE_COMMON),)
|
|
||||||
# attept a checkout
|
|
||||||
define checkout-makefile-common
|
|
||||||
test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2
|
|
||||||
endef
|
|
||||||
|
|
||||||
MAKEFILE_COMMON := $(shell $(checkout-makefile-common))
|
|
||||||
endif
|
|
||||||
|
|
||||||
include $(MAKEFILE_COMMON)
|
|
||||||
19
README-rpm
Normal file
19
README-rpm
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
Edit your configuration files:
|
||||||
|
|
||||||
|
/etc/postfix/main.cf:
|
||||||
|
|
||||||
|
smtpd_recipient_restrictions = ...
|
||||||
|
check_policy_service unix:postgrey/socket, ...
|
||||||
|
|
||||||
|
|
||||||
|
Or if you like to use inet sockets (modify the IP if needed):
|
||||||
|
|
||||||
|
/etc/sysconfig/postgrey:
|
||||||
|
|
||||||
|
OPTIONS="--inet=127.0.0.1:10023"
|
||||||
|
|
||||||
|
/etc/postfix/main.cf:
|
||||||
|
|
||||||
|
smtpd_recipient_restrictions = ...
|
||||||
|
check_policy_service inet:127.0.0.1:10023, ...
|
||||||
|
|
||||||
21
postgrey-1.27-group.patch
Normal file
21
postgrey-1.27-group.patch
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
diff -Naupr postgrey-1.27.orig/postgrey postgrey-1.27/postgrey
|
||||||
|
--- postgrey-1.27.orig/postgrey 2006-07-17 14:53:30.000000000 +0200
|
||||||
|
+++ postgrey-1.27/postgrey 2006-11-06 13:34:04.000000000 +0100
|
||||||
|
@@ -441,7 +441,7 @@ sub main()
|
||||||
|
port => [ $opt{inet} ? $opt{inet} : $opt{unix}."|unix" ],
|
||||||
|
proto => $opt{inet} ? 'tcp' : 'unix',
|
||||||
|
user => $opt{user} || 'postgrey',
|
||||||
|
- group => $opt{group} || 'nogroup',
|
||||||
|
+ group => $opt{group} || 'postgrey',
|
||||||
|
dbdir => $opt{dbdir} || '/var/spool/postfix/postgrey',
|
||||||
|
setsid => $opt{daemonize} ? 1 : undef,
|
||||||
|
pid_file => $opt{daemonize} ? $opt{pidfile} : undef,
|
||||||
|
@@ -623,7 +623,7 @@ B<postgrey> [I<options>...]
|
||||||
|
-d, --daemonize run in the background
|
||||||
|
--pidfile=PATH put daemon pid into this file
|
||||||
|
--user=USER run as USER (default: postgrey)
|
||||||
|
- --group=GROUP run as group GROUP (default: nogroup)
|
||||||
|
+ --group=GROUP run as group GROUP (default: postgrey)
|
||||||
|
--dbdir=PATH put db files in PATH (default: /var/spool/postfix/postgrey)
|
||||||
|
--delay=N greylist for N seconds (default: 300)
|
||||||
|
--max-age=N delete entries older than N days since the last time
|
||||||
85
postgrey.init
Executable file
85
postgrey.init
Executable file
|
|
@ -0,0 +1,85 @@
|
||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# chkconfig: - 79 31
|
||||||
|
# description: Postfix Greylisting Policy Server
|
||||||
|
#
|
||||||
|
# processname: postgrey
|
||||||
|
#
|
||||||
|
|
||||||
|
# Source function library.
|
||||||
|
. /etc/rc.d/init.d/functions
|
||||||
|
|
||||||
|
# Source networking configuration.
|
||||||
|
. /etc/sysconfig/network
|
||||||
|
|
||||||
|
# Check that networking is up.
|
||||||
|
[ ${NETWORKING} = "no" ] && exit 0
|
||||||
|
|
||||||
|
prog=postgrey
|
||||||
|
postgrey=/usr/sbin/$prog
|
||||||
|
DBPATH=/var/spool/postfix/postgrey
|
||||||
|
SOCKET=$DBPATH/socket
|
||||||
|
OPTIONS="--unix=$SOCKET"
|
||||||
|
|
||||||
|
# Source an auxiliary options file if we have one, and pick up OPTIONS,
|
||||||
|
if [ -r /etc/sysconfig/$prog ]; then
|
||||||
|
. /etc/sysconfig/$prog
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -x $postgrey -a -d $DBPATH ] || exit 0
|
||||||
|
|
||||||
|
RETVAL=0
|
||||||
|
|
||||||
|
start() {
|
||||||
|
echo -n $"Starting $prog: "
|
||||||
|
daemon $postgrey -d $OPTIONS
|
||||||
|
RETVAL=$?
|
||||||
|
echo
|
||||||
|
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$prog
|
||||||
|
}
|
||||||
|
stop() {
|
||||||
|
echo -n $"Stopping $prog: "
|
||||||
|
killproc $postgrey
|
||||||
|
RETVAL=$?
|
||||||
|
echo
|
||||||
|
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$prog
|
||||||
|
}
|
||||||
|
|
||||||
|
restart() {
|
||||||
|
stop
|
||||||
|
start
|
||||||
|
}
|
||||||
|
|
||||||
|
reload() {
|
||||||
|
echo -n $"Reloading $prog: "
|
||||||
|
killproc $postgrey -HUP
|
||||||
|
RETVAL=$?
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
|
||||||
|
# See how we were called.
|
||||||
|
case "$1" in
|
||||||
|
start)
|
||||||
|
start
|
||||||
|
;;
|
||||||
|
stop)
|
||||||
|
stop
|
||||||
|
;;
|
||||||
|
restart)
|
||||||
|
restart
|
||||||
|
;;
|
||||||
|
reload)
|
||||||
|
reload
|
||||||
|
;;
|
||||||
|
condrestart)
|
||||||
|
[ -f /var/lock/subsys/$prog ] && restart
|
||||||
|
;;
|
||||||
|
status)
|
||||||
|
status $postgrey
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo $"Usage: $0 {start|stop|restart|condrestart|reload|status}"
|
||||||
|
exit 1
|
||||||
|
esac
|
||||||
|
|
||||||
|
exit $RETVAL
|
||||||
155
postgrey.spec
Normal file
155
postgrey.spec
Normal file
|
|
@ -0,0 +1,155 @@
|
||||||
|
%define confdir %{_sysconfdir}/postfix
|
||||||
|
|
||||||
|
Summary: Postfix Greylisting Policy Server
|
||||||
|
Name: postgrey
|
||||||
|
Version: 1.27
|
||||||
|
Release: 4%{?dist}
|
||||||
|
License: GPL
|
||||||
|
Group: System Environment/Daemons
|
||||||
|
Source0: http://isg.ee.ethz.ch/tools/postgrey/pub/postgrey-%{version}.tar.gz
|
||||||
|
Source1: postgrey.init
|
||||||
|
Source2: README-rpm
|
||||||
|
Patch0: postgrey-1.27-group.patch
|
||||||
|
URL: http://isg.ee.ethz.ch/tools/postgrey/
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
|
||||||
|
# We require postfix for its directories and gid
|
||||||
|
Requires: postfix
|
||||||
|
Requires(pre): /usr/sbin/useradd
|
||||||
|
Requires(post): /sbin/chkconfig
|
||||||
|
Requires(preun): /sbin/service, /sbin/chkconfig
|
||||||
|
Requires(postun): /sbin/service
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description
|
||||||
|
Postgrey is a Postfix policy server implementing greylisting. When a request
|
||||||
|
for delivery of a mail is received by Postfix via SMTP, the triplet CLIENT_IP /
|
||||||
|
SENDER / RECIPIENT is built. If it is the first time that this triplet is
|
||||||
|
seen, or if the triplet was first seen less than 5 minutes, then the mail gets
|
||||||
|
rejected with a temporary error. Hopefully spammers or viruses will not try
|
||||||
|
again later, as it is however required per RFC.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q
|
||||||
|
%patch0 -p1 -b .group
|
||||||
|
%{__install} -p -m 0644 %{SOURCE2} README-rpm
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
# We only have perl scripts, so just "build" the man page
|
||||||
|
pod2man \
|
||||||
|
--center="Postgrey Policy Server for Postfix" \
|
||||||
|
--section="8" \
|
||||||
|
postgrey > postgrey.8
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
%{__rm} -rf %{buildroot}
|
||||||
|
|
||||||
|
# Configuration files
|
||||||
|
%{__mkdir_p} %{buildroot}%{confdir}
|
||||||
|
%{__install} -p -m 0644 postgrey_whitelist_{clients,recipients} \
|
||||||
|
%{buildroot}%{confdir}/
|
||||||
|
# Local whitelist file
|
||||||
|
echo "# Clients that should not be greylisted. See postgrey(8)." \
|
||||||
|
> %{buildroot}%{confdir}/postgrey_whitelist_clients.local
|
||||||
|
|
||||||
|
# Main script
|
||||||
|
%{__install} -D -p -m 0755 postgrey %{buildroot}%{_sbindir}/postgrey
|
||||||
|
|
||||||
|
# Spool directory
|
||||||
|
%{__mkdir_p} %{buildroot}%{_var}/spool/postfix/postgrey
|
||||||
|
|
||||||
|
# Init script
|
||||||
|
%{__install} -D -p -m 0755 %{SOURCE1} \
|
||||||
|
%{buildroot}%{_sysconfdir}/rc.d/init.d/postgrey
|
||||||
|
|
||||||
|
# Man page
|
||||||
|
%{__install} -D -p -m 0644 postgrey.8 \
|
||||||
|
%{buildroot}%{_mandir}/man8/postgrey.8
|
||||||
|
|
||||||
|
# Optional report script
|
||||||
|
%{__install} -D -p -m 0755 contrib/postgreyreport \
|
||||||
|
%{buildroot}%{_sbindir}/postgreyreport
|
||||||
|
|
||||||
|
|
||||||
|
%clean
|
||||||
|
%{__rm} -rf %{buildroot}
|
||||||
|
|
||||||
|
|
||||||
|
%pre
|
||||||
|
/usr/sbin/useradd -d %{_var}/spool/postfix/postgrey -s /sbin/nologin \
|
||||||
|
-M -r postgrey &>/dev/null || :
|
||||||
|
|
||||||
|
%post
|
||||||
|
/sbin/chkconfig --add postgrey
|
||||||
|
|
||||||
|
%preun
|
||||||
|
if [ $1 -eq 0 ]; then
|
||||||
|
/sbin/service postgrey stop &>/dev/null || :
|
||||||
|
/sbin/chkconfig --del postgrey
|
||||||
|
fi
|
||||||
|
|
||||||
|
%postun
|
||||||
|
if [ $1 -ge 1 ]; then
|
||||||
|
/sbin/service postgrey condrestart &>/dev/null || :
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-, root, root, 0755)
|
||||||
|
%doc Changes COPYING README README-rpm
|
||||||
|
%{_sysconfdir}/rc.d/init.d/postgrey
|
||||||
|
%config(noreplace) %{confdir}/postgrey_whitelist_clients
|
||||||
|
%config(noreplace) %{confdir}/postgrey_whitelist_recipients
|
||||||
|
%config(noreplace) %{confdir}/postgrey_whitelist_clients.local
|
||||||
|
%{_sbindir}/postgrey
|
||||||
|
%{_sbindir}/postgreyreport
|
||||||
|
%{_mandir}/man8/postgrey.8*
|
||||||
|
%dir %attr(0751, postgrey, postfix) %{_var}/spool/postfix/postgrey/
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Mon Feb 12 2007 Matthias Saou <http://freshrpms.net/> 1.27-4
|
||||||
|
- Silence %%setup.
|
||||||
|
- Fix init script mode in the srpm.
|
||||||
|
- Remove explicit perl(IO::Multiplex) requirement, not needed on FC6 (but
|
||||||
|
probably still on RHEL4).
|
||||||
|
- Add a comment line to the empty local whitelist file.
|
||||||
|
|
||||||
|
* Mon Dec 4 2006 Matthias Saou <http://freshrpms.net/> 1.27-3
|
||||||
|
- Add man page generation (Mike Wohlgemuth).
|
||||||
|
|
||||||
|
* Fri Dec 1 2006 Matthias Saou <http://freshrpms.net/> 1.27-2
|
||||||
|
- Include postgreyreport script.
|
||||||
|
|
||||||
|
* Mon Nov 6 2006 Matthias Saou <http://freshrpms.net/> 1.27-1
|
||||||
|
- Spec file cleanup.
|
||||||
|
|
||||||
|
* Wed Jan 18 2006 Levente Farkas <lfarkas@lfarkas.org> 1.24
|
||||||
|
- some minor changes thanks to Peter Bieringer <pb@bieringer.de>
|
||||||
|
|
||||||
|
* Mon Jan 16 2006 Levente Farkas <lfarkas@lfarkas.org> 1.24
|
||||||
|
- upgrade to 1.24
|
||||||
|
|
||||||
|
* Sun Nov 13 2005 Levente Farkas <lfarkas@lfarkas.org> 1.22
|
||||||
|
- upgrade to 1.22
|
||||||
|
|
||||||
|
* Mon Aug 22 2005 Levente Farkas <lfarkas@lfarkas.org> 1.21
|
||||||
|
- spec file update from Luigi Iotti <luigi@iotti.biz>
|
||||||
|
|
||||||
|
* Thu Apr 28 2005 Levente Farkas <lfarkas@lfarkas.org> 1.21
|
||||||
|
- update to 1.21
|
||||||
|
|
||||||
|
* Tue Mar 8 2005 Levente Farkas <lfarkas@lfarkas.org> 1.18
|
||||||
|
- update to 1.18
|
||||||
|
|
||||||
|
* Tue Dec 14 2004 Levente Farkas <lfarkas@lfarkas.org> 1.17
|
||||||
|
- update to 1.17
|
||||||
|
|
||||||
|
* Wed Jul 14 2004 Levente Farkas <lfarkas@lfarkas.org> 1.14
|
||||||
|
- guard the pre and post scripts
|
||||||
|
|
||||||
|
* Wed Jul 7 2004 Levente Farkas <lfarkas@lfarkas.org> 1.13
|
||||||
|
- initial release 1.13
|
||||||
|
|
||||||
1
sources
1
sources
|
|
@ -0,0 +1 @@
|
||||||
|
df3a8b4a0c6ab7e8e5bb5be0de096c47 postgrey-1.27.tar.gz
|
||||||
Loading…
Add table
Add a link
Reference in a new issue