# compatability macros %{?!mkrel:%define mkrel(c:) %{-c:0.%{-c*}.}%{!?_with_unstable:%(perl -e '$_="%{1}";m/(.\*)(\\d+)$/;$rel=${2}-1;re;print "$1$rel";').%{?subrel:%subrel}%{!?subrel:1}.%{?distversion:%distversion}%{?!distversion:%(echo $[%{mdkversion}/10])}}%{?_with_unstable:%{1}}%{?distsuffix:%distsuffix}%{?!distsuffix:mdk}} %{?!_with_unstable: %{error:%(echo -e "\n\n\nYou are building package for a stable release, please see \nhttp://qa.mandrakesoft.com/twiki/bin/view/Main/DistroSpecificReleaseTag\nif you think this is incorrect\n\n\n ")}%(sleep 2)} %define name postgrey %define version 1.18 %define rel 2 Summary: Postfix Greylisting Policy Server Name: %{name} Version: %{version} Release: %mkrel %{rel} License: GPL Group: System/Servers Source: http://isg.ee.ethz.ch/tools/postgrey/pub/%{name}-%{version}.tar.bz2 Source1: %{name}.init Source2: %{name}.sysconfig Patch: postgrey-mdk.patch.bz2 URL: http://isg.ee.ethz.ch/tools/postgrey/ Buildarch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot/ PreReq: rpm-helper %define confdir /etc/postfix %define queue_directory %{_var}/spool/postfix %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. Edit your configuration files: /etc/postfix/main.cf: smtpd_recipient_restrictions = ... check_policy_service unix:extern/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, ... %prep %setup -q -n %{name}-%{version} %patch -p1 -b .mdk pod2man -s 8 -c "" postgrey > postgrey.8 pod2man -s 8 -c "" contrib/postgreyreport > contrib/postgreyreport.8 %install rm -rf %{buildroot} mkdir -p %{buildroot}%{_initrddir} install %{SOURCE1} %{buildroot}%{_initrddir}/%{name} mkdir -p %{buildroot}%{_sysconfdir}/postfix cp postgrey_whitelist_clients %{buildroot}%{_sysconfdir}/postfix cp postgrey_whitelist_recipients %{buildroot}%{_sysconfdir}/postfix touch %{buildroot}%{_sysconfdir}/postfix/postgrey_whitelist_clients.local mkdir -p %{buildroot}%{_sbindir} install postgrey %{buildroot}%{_sbindir}/postgrey install contrib/postgreyreport %{buildroot}%{_sbindir}/postgreyreport mkdir -p %{buildroot}%{_sysconfdir}/sysconfig cp -p %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/%{name} mkdir -p %{buildroot}%{queue_directory}/extern/%{name} mkdir -p %{buildroot}%{_localstatedir}/%{name} mkdir -p %{buildroot}%{_mandir}/man8 cp postgrey.8 contrib/postgreyreport.8 %{buildroot}%{_mandir}/man8 %clean rm -rf %{buildroot} %pre %_pre_useradd %{name} %{_localstatedir}/%{name} /bin/false %post %_post_service %{name} %preun %_preun_service %{name} %postun %_postun_userdel %{name} %files %defattr(644,root,root,755) %doc README Changes %attr(755, root, root) %config(noreplace) %{_initrddir}/%{name} %config(noreplace) %{_sysconfdir}/sysconfig/%{name} %config(noreplace) %{confdir}/postgrey_whitelist_clients %config(noreplace) %{confdir}/postgrey_whitelist_recipients %config(noreplace) %{confdir}/postgrey_whitelist_clients.local %attr(755, root, root) %{_sbindir}/postgrey %attr(755, root, root) %{_sbindir}/postgreyreport %{_mandir}/man8/postgrey.8* %{_mandir}/man8/postgreyreport.8* %dir %attr(0750, postgrey, postfix) %{queue_directory}/extern/%{name} %dir %attr(0750, postgrey, postgrey) %{_localstatedir}/%{name} %changelog * Tue Mar 08 2005 Oden Eriksson <oeriksson@mandrakesoft.com> 1.18-2mdk - revert to the package by Luca Berra (sorry) * Tue Mar 08 2005 Oden Eriksson <oeriksson@mandrakesoft.com> 1.18-1mdk - mistake * Mon Jan 03 2005 Luca Berra <bluca@vodka.it> 1.17-1mdk - Initial release based on redhat package from Levente Farkas