1 |
# $Id: qpsmtpd.spec,v 1.21 2009/11/03 21:53:04 slords Exp $ |
# $Id: qpsmtpd.spec,v 1.39 2014/03/13 16:21:55 vip-ire Exp $ |
2 |
|
|
3 |
Name: qpsmtpd |
Name: qpsmtpd |
4 |
Version: 0.83 |
Version: 0.84 |
5 |
Release: 0.5%{?dist} |
Release: 9%{?dist} |
6 |
Summary: qpsmtpd + qpsmtpd-apache + qpsmtpd-async |
Summary: qpsmtpd + qpsmtpd-apache + qpsmtpd-async |
7 |
License: distributable |
License: MIT |
8 |
Group: System Environment/Daemons |
Group: System Environment/Daemons |
9 |
URL: http://smtpd.develooper.com/ |
URL: http://smtpd.develooper.com/ |
10 |
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root |
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root |
11 |
BuildRequires: perl >= 0:5.00503 |
BuildRequires: perl >= 0:5.00503 |
12 |
BuildArchitectures: noarch |
BuildArch: noarch |
13 |
Requires: perl(Mail::Header), perl(Net::DNS) perl(Net::IP) |
Requires: perl(Mail::Header), perl(Net::DNS) perl(Net::IP) |
14 |
Requires(pre): coreutils, shadow-utils, perl |
Requires(pre): coreutils, shadow-utils, perl |
15 |
|
|
22 |
Source6: qpsmtpd.conf |
Source6: qpsmtpd.conf |
23 |
Source7: README.selinux |
Source7: README.selinux |
24 |
|
|
25 |
Patch10: qpsmtpd-0.83-loginit.patch |
Patch1: 0001-Misc-documentation-updates.patch |
26 |
|
Patch2: 0002-added-ClamAV-version-to-the-X-Virus-Checked-header.patch |
27 |
|
Patch3: 0003-new-plugin-check_bogus_bounce.patch |
28 |
|
Patch4: 0004-microoptimizations-replace-regex-with-lc-eq.patch |
29 |
|
Patch5: 0005-remove-vestiges-of-a-bygone-RCS.patch |
30 |
|
Patch6: 0006-added-definedness-test-to-local_port-as-it-was-emitt.patch |
31 |
|
Patch7: 0007-Add-guidelines-for-commit-messages.patch |
32 |
|
Patch8: 0008-added-auth_checkpassword-plugin.patch |
33 |
|
Patch9: 0009-updates-to-auth_vpopmail_sql-module.patch |
34 |
|
Patch10: 0010-new-plugin-auth_vpopmaild.patch |
35 |
|
Patch11: 0011-start-working-on-Changes-file-for-0.84-next.patch |
36 |
|
Patch12: 0012-fix-copy-paste-error-in-auth_flat_file.patch |
37 |
|
Patch13: 0013-added-auth_vpopmail-plugin.patch |
38 |
|
Patch14: 0014-rewrote-sender_permitted_from.patch |
39 |
|
Patch15: 0015-add-TCPLOCAL-variables-to-qp-connection.patch |
40 |
|
Patch16: 0016-added-local_ip-option-to-p0f-plugin.patch |
41 |
|
Patch17: 0017-added-p0f-support-to-greylist-plugin.patch |
42 |
|
Patch18: 0018-packaging-updates.patch |
43 |
|
Patch19: 0019-Check-for-the-exact-string-resonses-from-vpopmaild-r.patch |
44 |
|
Patch20: 0020-new-plugin-check_badmailfrom_patterns.patch |
45 |
|
Patch21: 0021-ignore-search-path-in-DNS-lookups.patch |
46 |
|
Patch22: 0022-don-t-create-homedir-in-RPM.patch |
47 |
|
Patch23: 0023-corrected-email-address.patch |
48 |
|
Patch24: 0024-increased-default-TLS-security-setting.patch |
49 |
|
Patch25: 0025-give-badrcptto-a-reasonable-name.patch |
50 |
|
Patch26: 0026-add-test-name-to-test-output.patch |
51 |
|
Patch27: 0027-renamed-test-from-foo-to-rcpt_ok.patch |
52 |
|
Patch28: 0028-Shorten-clarify-Connection-and-Transaction-notes.patch |
53 |
|
Patch29: 0029-Run-hook_reset_transaction-after-all-connections.patch |
54 |
|
Patch30: 0030-Add-support-for-multiple-postfix-cleanup-sockets.patch |
55 |
|
Patch31: 0031-Adds-the-ability-to-have-multiple-instances-each-wit.patch |
56 |
|
Patch32: 0032-I-forgot-to-sync-the-code-that-calls-the-original-co.patch |
57 |
|
Patch33: 0033-new-plugin-rcpt_map.patch |
58 |
|
Patch34: 0034-plugins-rcpt_map-cleanup.patch |
59 |
|
Patch35: 0035-Fix-for-plugins-returning-DONE-from-HELO-EHLO.patch |
60 |
|
Patch36: 0036-prefork-use-new-instance-instead-of-cloning.patch |
61 |
|
Patch37: 0037-Revert-Spool-body-when-transaction-body_fh-is-called.patch |
62 |
|
Patch38: 0038-Patch-FATAL-PLUGIN-ERROR-check_basicheaders.patch |
63 |
|
Patch39: 0039-qpsmtpd-0.84-spamassassin_size_limit.patch |
64 |
|
Patch40: 0040-qpsmtpd-forkserver_fix_Net_DNS_update_breaks_qpsmtpd.patch |
65 |
|
|
66 |
Patch100: qpsmtpd-0.40-badrcptto_allowrelay.patch |
Patch100: qpsmtpd-0.40-badrcptto_allowrelay.patch |
67 |
Patch101: qpsmtpd-0.83-peer_hooks.patch |
Patch101: qpsmtpd-0.83-peer_hooks.patch |
68 |
Patch102: qpsmtpd-0.83-clamd_conf.patch |
Patch102: qpsmtpd-0.83-loginit.patch |
69 |
Patch103: qpsmtpd-0.83-clamav-headers.patch |
Patch103: qpsmtpd-forkserver-keepalive.patch |
70 |
|
Patch104: qpsmtpd-0.84-accept-empty-email.patch |
71 |
|
Patch105: qpsmtpd-0.84-fix_eq_operator.patch |
72 |
|
Patch106: qpsmtpd-0.84-remove_denysoft_on_spf_softfail.patch |
73 |
|
Patch107: qpsmtpd-0.84-make-dnsbl-more-whitelist_soft-aware.patch |
74 |
%description |
%description |
75 |
qpsmtpd is a flexible smtpd daemon written in Perl. Apart from the core |
qpsmtpd is a flexible smtpd daemon written in Perl. Apart from the core |
76 |
SMTP features, all functionality is implemented in small "extension |
SMTP features, all functionality is implemented in small "extension |
100 |
|
|
101 |
%prep |
%prep |
102 |
%setup -q |
%setup -q |
103 |
|
%patch1 -p1 |
104 |
|
%patch2 -p1 |
105 |
|
%patch3 -p1 |
106 |
|
%patch4 -p1 |
107 |
|
%patch5 -p1 |
108 |
|
%patch6 -p1 |
109 |
|
%patch7 -p1 |
110 |
|
%patch8 -p1 |
111 |
|
%patch9 -p1 |
112 |
%patch10 -p1 |
%patch10 -p1 |
113 |
|
%patch11 -p1 |
114 |
|
%patch12 -p1 |
115 |
|
%patch13 -p1 |
116 |
|
%patch14 -p1 |
117 |
|
%patch15 -p1 |
118 |
|
%patch16 -p1 |
119 |
|
%patch17 -p1 |
120 |
|
%patch18 -p1 |
121 |
|
%patch19 -p1 |
122 |
|
%patch20 -p1 |
123 |
|
%patch21 -p1 |
124 |
|
#%patch22 -p1 |
125 |
|
%patch23 -p1 |
126 |
|
%patch24 -p1 |
127 |
|
%patch25 -p1 |
128 |
|
%patch26 -p1 |
129 |
|
%patch27 -p1 |
130 |
|
%patch28 -p1 |
131 |
|
%patch29 -p1 |
132 |
|
%patch30 -p1 |
133 |
|
%patch31 -p1 |
134 |
|
%patch32 -p1 |
135 |
|
%patch33 -p1 |
136 |
|
%patch34 -p1 |
137 |
|
%patch35 -p1 |
138 |
|
%patch36 -p1 |
139 |
|
%patch37 -p1 |
140 |
|
%patch38 -p1 |
141 |
|
%patch39 -p1 |
142 |
|
%patch40 -p1 |
143 |
|
|
144 |
%patch100 -p1 |
%patch100 -p1 |
145 |
%patch101 -p1 |
%patch101 -p1 |
146 |
%patch102 -p1 |
%patch102 -p1 |
147 |
%patch103 -p1 |
%patch103 -p0 |
148 |
|
%patch104 -p1 |
149 |
|
%patch105 -p1 |
150 |
|
%patch106 -p1 |
151 |
|
%patch107 -p1 |
152 |
|
|
153 |
%build |
%build |
154 |
CFLAGS="$RPM_OPT_FLAGS" perl Makefile.PL INSTALLSITELIB=%{_prefix}/lib/perl5/site_perl |
CFLAGS="$RPM_OPT_FLAGS" perl Makefile.PL INSTALLSITELIB=%{_prefix}/lib/perl5/site_perl |
163 |
mkdir -p $RPM_BUILD_ROOT/$installarchlib |
mkdir -p $RPM_BUILD_ROOT/$installarchlib |
164 |
if grep -q DESTDIR Makefile |
if grep -q DESTDIR Makefile |
165 |
then |
then |
166 |
make DESTDIR=$RPM_BUILD_ROOT |
make DESTDIR=$RPM_BUILD_ROOT |
167 |
find blib/lib -name '*.pm.*' -exec rm -f {} \; |
find blib/lib -name '*.pm.*' -exec rm -f {} \; |
168 |
make DESTDIR=$RPM_BUILD_ROOT install |
make DESTDIR=$RPM_BUILD_ROOT install |
169 |
|
|
170 |
else |
else |
171 |
make PREFIX=$RPM_BUILD_ROOT/usr |
make PREFIX=$RPM_BUILD_ROOT/usr |
172 |
find blib/lib -name '*.pm.*' -exec rm -f {} \; |
find blib/lib -name '*.pm.*' -exec rm -f {} \; |
173 |
make PREFIX=$RPM_BUILD_ROOT/usr install |
make PREFIX=$RPM_BUILD_ROOT/usr install |
174 |
fi |
fi |
175 |
mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name} |
mkdir -p ${RPM_BUILD_ROOT}%{_datadir}/%{name} |
176 |
rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/plugins/*.* |
rm -f ${RPM_BUILD_ROOT}%{_datadir}/%{name}/plugins/*.* |
196 |
cp %{SOURCE6} ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d |
cp %{SOURCE6} ${RPM_BUILD_ROOT}%{_sysconfdir}/httpd/conf.d |
197 |
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-apache-%{version} |
mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-apache-%{version} |
198 |
cp %{SOURCE7} $RPM_BUILD_ROOT%{_docdir}/%{name}-apache-%{version} |
cp %{SOURCE7} $RPM_BUILD_ROOT%{_docdir}/%{name}-apache-%{version} |
|
rm -f ${RPM_BUILD_ROOT}%{_bindir}/%{name}-prefork |
|
199 |
|
|
200 |
[ -x /usr/lib/rpm/brp-compress ] && /usr/lib/rpm/brp-compress |
[ -x /usr/lib/rpm/brp-compress ] && /usr/lib/rpm/brp-compress |
201 |
|
|
202 |
find ${RPM_BUILD_ROOT}%{_prefix} \( -name perllocal.pod -o -name .packlist \) -exec rm {} \; |
find ${RPM_BUILD_ROOT}%{_prefix} \( -name perllocal.pod -o -name .packlist \) -exec rm {} \; |
203 |
find ${RPM_BUILD_ROOT}%{_prefix} -type f -print | \ |
find ${RPM_BUILD_ROOT}%{_prefix} -type f -print | \ |
204 |
sed "s@^$RPM_BUILD_ROOT@@g" | \ |
sed "s@^$RPM_BUILD_ROOT@@g" | \ |
205 |
grep -v [Aa]sync | \ |
grep -v [Aa]sync | \ |
206 |
grep -v packaging | \ |
grep -v packaging | \ |
207 |
grep -v README.selinux | \ |
grep -v README.selinux | \ |
208 |
grep -v /Apache | \ |
grep -v /Apache | \ |
209 |
grep -v /Danga | \ |
grep -v /Danga | \ |
210 |
grep -v Qpsmtpd/ConfigServer.pm | \ |
grep -v Qpsmtpd/ConfigServer.pm | \ |
211 |
grep -v Qpsmtpd/PollServer.pm > %{name}-%{version}-%{release}-filelist |
grep -v Qpsmtpd/PollServer.pm > %{name}-%{version}-%{release}-filelist |
212 |
if [ "$(cat %{name}-%{version}-%{release}-filelist)X" = "X" ] ; then |
if [ "$(cat %{name}-%{version}-%{release}-filelist)X" = "X" ] ; then |
213 |
echo "ERROR: EMPTY FILE LIST" |
echo "ERROR: EMPTY FILE LIST" |
214 |
exit -1 |
exit -1 |
221 |
%config(noreplace) %{_sysconfdir}/qpsmtpd/* |
%config(noreplace) %{_sysconfdir}/qpsmtpd/* |
222 |
%config(noreplace) %{_sysconfdir}/xinetd.d/smtp |
%config(noreplace) %{_sysconfdir}/xinetd.d/smtp |
223 |
%config(noreplace) %{_sysconfdir}/sysconfig/qpsmtpd-forkserver |
%config(noreplace) %{_sysconfdir}/sysconfig/qpsmtpd-forkserver |
|
%attr(2750,qpsmtpd,clamav) %dir %{_localstatedir}/spool/qpsmtpd |
|
|
%attr(2750,smelog,smelog) %dir %{_localstatedir}/log/qpsmtpd |
|
224 |
|
|
225 |
%files apache |
%files apache |
226 |
%defattr(-,root,root) |
%defattr(-,root,root) |
241 |
%{_datadir}/%{name}/plugins/async/* |
%{_datadir}/%{name}/plugins/async/* |
242 |
|
|
243 |
%pre |
%pre |
|
if ! id smtpd >/dev/null 2>&1 |
|
|
then |
|
|
# need to create smtpd user. |
|
|
if perl -e 'exit ! defined(getgrnam("postdrop"))' |
|
|
then |
|
|
# if postfix is installed, we will probably use |
|
|
# queue/postfix, which will need this: |
|
|
supp="-G postdrop" |
|
|
fi |
|
|
useradd -r -m $supp smtpd |
|
|
fi |
|
244 |
|
|
245 |
%changelog |
%changelog |
246 |
* Tue Nov 3 2009 <slords@lordsfam.net> 0.83-0.5.sme |
* Fri Dec 26 2014 stephane de Labrusse <stephdl@de-labrusse.fr> 0.84-9.sme |
247 |
|
- Modify whitelist_soft transaction to interact with dnsbl filter [SME: 8327] |
248 |
|
- by John Crisp <jcrisp@safeandsoundit.co.uk> |
249 |
|
|
250 |
|
* Thu Mar 13 2014 Daniel Berteaud <daniel@firewall-services.com> 0.84-8.sme |
251 |
|
- Remove DENYSOFT on SPF softfail [SME: 8272] |
252 |
|
|
253 |
|
* Mon Dec 9 2013 Daniel Berteaud <daniel@firewall-services.com> 0.84-7.sme |
254 |
|
- Fix handling of messages with no body and no trailing \n after headers (eq |
255 |
|
was used in attempted assignment). [SME: 8052, see SME: 6870] |
256 |
|
|
257 |
|
* Sat Jun 29 2013 Ian Wells <esmith@wellsi.com> 0.84-6.sme |
258 |
|
- Accept messages with no body and no trailing \n after headers [SME: 6870] |
259 |
|
|
260 |
|
* Thu Apr 25 2013 chris burnat <devlist@burnat.com> 0.84-5.sme |
261 |
|
- Fix Net::DNS update breaks qpsmtpd, codes suggested by Ian [SME: 7194] |
262 |
|
|
263 |
|
* Tue Apr 23 2013 chris burnat <devlist@burnat.com> 0.84-4.sme |
264 |
|
- qpsmtpd allows the spamassassin plugin to read the size limit |
265 |
|
from its arguments, patch by Daniel [SME: 7541] |
266 |
|
|
267 |
|
* Fri May 04 2012 Charlie Brady <charlie_brady@mitel.com> 0.84-3.sme |
268 |
|
- Set SO_KEEPALIVE option on client socket - to detect dead |
269 |
|
connections. [SME: 6924] |
270 |
|
|
271 |
|
* Sun Nov 14 2010 <slords@mail.com> 0.84-2.sme |
272 |
|
- Sync with upstream git repo. |
273 |
|
- Fix require_resolvable_fromhost doesn't work [SME: 6369] |
274 |
|
- Fix TLS security defaults [SME: 6241] |
275 |
|
- Fix fatal errors when mail has no headers [SME: 6345] |
276 |
|
|
277 |
|
* Wed Apr 14 2010 <slords@mail.com> 0.84-0.1.sme |
278 |
|
- Update to 0.84 |
279 |
|
- add sme specific patches |
280 |
|
|
281 |
|
* Wed Mar 3 2010 <filippo.carletti@gmail.com> 0.83-0.7.sme |
282 |
|
- Remove spool and log dir from package (in smeserver-qpsmtpd) |
283 |
|
- Don't create smtpd user (unused in sme) [SME: 5815] |
284 |
|
|
285 |
|
* Thu Nov 5 2009 <smeserver-contribs@snetram.nl> 0.83-0.6.sme |
286 |
|
- Apply qpsmtpd git changesets to implement custom SPAM |
287 |
|
subject prefix [SME: 5031] |
288 |
|
|
289 |
|
* Tue Nov 3 2009 <slords@mail.com> 0.83-0.5.sme |
290 |
- Update pre requires so scripts don't fail on install [SME: 5558] |
- Update pre requires so scripts don't fail on install [SME: 5558] |
291 |
|
|
292 |
* Sat Oct 31 2009 <slords@lordsfam.net> 0.83-0.4.sme |
* Sat Oct 31 2009 <slords@mail.com> 0.83-0.4.sme |
293 |
- Rebase bad_rcptto patch to remove orig file [SME: 5548] |
- Rebase bad_rcptto patch to remove orig file [SME: 5548] |
294 |
- Change logging in tls init to prevent warnings [SME: 5551] |
- Change logging in tls init to prevent warnings [SME: 5551] |
295 |
|
|
296 |
* Thu Oct 29 2009 <slords@lordsfam.net> 0.83-0.3.sme |
* Thu Oct 29 2009 <slords@mail.com> 0.83-0.3.sme |
297 |
- Only run/initialize plugins once [SME: 5533] |
- Only run/initialize plugins once [SME: 5533] |
298 |
|
|
299 |
* Mon Oct 26 2009 <filippo.carletti@gmail.com> 0.83-0.2.sme |
* Mon Oct 26 2009 <filippo.carletti@gmail.com> 0.83-0.2.sme |
300 |
- Change spool dir permissions and owner to qpsmtpd:clamav |
- Change spool dir permissions and owner to qpsmtpd:clamav |
301 |
- Change log dir permissions and owner to smelog:smelog |
- Change log dir permissions and owner to smelog:smelog |
302 |
|
|
303 |
* Tue Sep 22 2009 <filippo.carletti@gmail.com> 0.83-0.2.sme |
* Tue Sep 22 2009 <filippo.carletti@gmail.com> 0.83-0.1.sme |
304 |
- add sme specific patches |
- add sme specific patches |
305 |
|
|
306 |
* Fri Sep 18 2009 <rpmbuild@robinbowes.com> 0.83-0.1 |
* Fri Sep 18 2009 <rpmbuild@robinbowes.com> 0.83-0.1 |