1 %include /usr/lib/rpm/macros.perl
2 Summary: Postfix Greylisting Policy Server
3 Summary(pl.UTF-8): Serwer do polityki "szarych list" dla Postfiksa
8 Group: Networking/Daemons
9 Source0: http://postgrey.schweikert.ch/pub/%{name}-%{version}.tar.gz
10 # Source0-md5: f736a7be1094593f1a66cd13f32b39ef
12 Source2: %{name}.sysconfig
13 Source3: http://www.lipek.pl/postgrey_clients_dump
14 # Source3-md5: 155b88f2781b03535bfa2797cda28e52
15 Patch0: %{name}-group.patch
16 Patch1: %{name}-postfix_dir.patch
17 Patch2: disable-transaction-logic
18 URL: http://postgrey.schweikert.ch/
19 BuildRequires: rpm-perlprov
20 BuildRequires: rpmbuild(macros) >= 1.268
21 Requires: perl-IO-Multiplex
24 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
26 %define _sysconfdir /etc/mail
29 Postgrey is a Postfix policy server implementing greylisting. When a
30 request for delivery of a mail is received by Postfix via SMTP, the
31 triplet CLIENT_IP / SENDER / RECIPIENT is built. If it is the first
32 time that this triplet is seen, or if the triplet was first seen less
33 than 5 minutes, then the mail gets rejected with a temporary error.
34 Hopefully spammers or viruses will not try again later, as it is
35 however required per RFC.
37 Edit your configuration files:
38 %{_sysconfdir}/main.cf:
39 smtpd_recipient_restrictions = ...
40 check_policy_service unix:postgrey/socket, ...
41 or if you like to use inet sockets (modify the IP if needed):
42 /etc/sysconfig/postgrey:
43 OPTIONS="--inet=127.0.0.1:10023"
44 %{_sysconfdir}/main.cf:
45 smtpd_recipient_restrictions = ...
46 check_policy_service inet:127.0.0.1:10023, ...
48 %description -l pl.UTF-8
49 Postgrey to serwer polityki dla Postfiksa implementujący "szare
50 listy". Kiedy Postfix otrzymuje po SMTP żądanie dostarczenia poczty,
51 tworzony jest triplet IP_KLIENTA / NADAWCA / ADRESAT. Jeśli dany
52 triplet jest widziany po raz pierwszy lub był widziany po raz pierwszy
53 mniej niż 5 minut temu, poczta jest odrzucana z tymczasowym błędem.
54 Można mieć nadzieję, że spamerzy i wirusy nie będą próbować ponownie,
55 co jest jednak wymagane przez RFC.
57 Aby użyć tego programu należy zmodyfikować pliki konfiguracyjne:
58 %{_sysconfdir}/main.cf:
59 smtpd_recipient_restrictions = ...
60 check_policy_service unix:postgrey/socket, ...
61 lub jeśli chcemy używać gniazd inet (w razie potrzeby zmienić IP):
62 /etc/sysconfig/postgrey:
63 OPTIONS="--inet=127.0.0.1:10023"
64 %{_sysconfdir}/main.cf:
65 smtpd_recipient_restrictions = ...
66 check_policy_service inet:127.0.0.1:10023, ...
75 rm -rf $RPM_BUILD_ROOT
76 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,sysconfig},%{_sysconfdir},%{_sbindir}} \
77 $RPM_BUILD_ROOT%{_var}/spool/postfix/%{name}
80 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
81 install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}
83 install postgrey_whitelist_clients $RPM_BUILD_ROOT%{_sysconfdir}
84 install postgrey_whitelist_recipients $RPM_BUILD_ROOT%{_sysconfdir}
85 touch $RPM_BUILD_ROOT%{_sysconfdir}/postgrey_whitelist_clients.local
87 install postgrey %{SOURCE3} contrib/postgreyreport $RPM_BUILD_ROOT%{_sbindir}
90 rm -rf $RPM_BUILD_ROOT
93 %groupadd -g 155 postgrey
94 %useradd -u 155 -d %{_var}/spool/postfix/%{name} -s /sbin/false -c "Postfix Greylisting Policy" -g postgrey postgrey
97 /sbin/chkconfig --add %{name}
98 %service %{name} restart
101 if [ "$1" = 0 ]; then
102 %service %{name} stop
103 /sbin/chkconfig --del %{name}
107 if [ "$1" = 0 ]; then
109 %groupremove postgrey
111 rm -rf %{_var}/spool/postfix/%{name}
115 %defattr(644,root,root,755)
117 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/postgrey_whitelist_clients
118 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/postgrey_whitelist_recipients
119 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/postgrey_whitelist_clients.local
120 %attr(640,root,postgrey) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/%{name}
121 %attr(754,root,root) /etc/rc.d/init.d/%{name}
122 %attr(755,root,root) %{_sbindir}/postgrey*
123 %dir %attr(711,postgrey,postgrey) %{_var}/spool/postfix/%{name}