/[smeserver]/rpms/qpsmtpd/sme9/qpsmtpd.spec
ViewVC logotype

Contents of /rpms/qpsmtpd/sme9/qpsmtpd.spec

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.29 - (show annotations) (download)
Tue Jul 5 20:32:39 2016 UTC (7 years, 10 months ago) by vip-ire
Branch: MAIN
CVS Tags: qpsmtpd-0_96-7_el6_sme
Changes since 1.28: +8 -2 lines
* Tue Jul 5 2016 Daniel Berteaud <daniel@firewall-services.com> 0.96-7.sme
- Use eval to fetch dkim policies, prevent fatal errors in case of DNS
  timeout [SME: 9504]

1 # $Id: qpsmtpd.spec,v 1.28 2016/06/15 20:22:07 vip-ire Exp $
2
3 Name: qpsmtpd
4 Version: 0.96
5 Release: 7%{?dist}
6 Summary: qpsmtpd + qpsmtpd-apache
7 License: MIT
8 Group: System Environment/Daemons
9 URL: http://smtpd.develooper.com/
10 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
11 BuildRequires: perl >= 0:5.00503
12 BuildRequires: perl(ExtUtils::MakeMaker)
13 BuildArch: noarch
14 Requires: perl(Mail::Header), perl(Net::DNS) perl(Net::IP)
15 Requires(pre): coreutils, shadow-utils, perl
16
17 Source0: %{name}-%{version}.tar.gz
18 Source1: qpsmtpd-forkserver.rc
19 Source2: qpsmtpd-forkserver.sysconfig
20 Source3: qpsmtpd-xinetd
21 Source4: in.qpsmtpd
22 Source5: qpsmtpd.conf
23 Source6: README.selinux
24
25 Patch1: qpsmtpd-0.95-spamassassin_size_limit.patch
26 Patch2: qpsmtpd-0.95-qpsmtpd_forserver_keepalive.patch
27 Patch3: qpsmtpd-0.95-notls_conf.patch
28 Patch4: qpsmtpd-0.95-allow_tls_proto_from_conf.patch
29 Patch5: qpsmtpd-0.96-set_hooks.patch
30 Patch6: qpsmtpd-0.96-warn_implicit_split.patch
31 Patch7: qpsmtpd-0.96-dont_log_credentials_except_in_debug.patch
32 Patch8: qpsmtpd-0.96-uribl_data_post.patch
33 Patch9: qpsmtpd-0.96-karma_strikes.patch
34 Patch10: qpsmtpd-0.96-karma_tlds_conf.patch
35 Patch11: qpsmtpd-0.96-more_badrcptto.patch
36 Patch12: qpsmtpd-0.96-store_original_plugin_name.patch
37 Patch13: qpsmtpd-0.96-dkim_no_sign_for_others_on_symlinks.patch
38 Patch14: qpsmtpd-0.96-fix_dmarc_reject.patch
39 Patch15: qpsmtpd-0.96-add_dmarc_result_notes.patch
40 Patch16: qpsmtpd-0.96-spf_on_no_dmarc_policy.patch
41 Patch17: qpsmtpd-0.96-find_karma_db_dir.patch
42 Patch18: qpsmtpd-0.96-check_negative_karma_strikes.patch
43 Patch19: qpsmtpd-0.96-addr_defined_before_use.patch
44 Patch20: qpsmtpd-0.96-check_rua_is_defined.patch
45 Patch21: qpsmtpd-0.96-remove_karma_rcpt_handler.patch
46 Patch22: qpsmtpd-0.96-eval_dkim_policies.patch
47
48 %description
49 qpsmtpd is a flexible smtpd daemon written in Perl. Apart from the core
50 SMTP features, all functionality is implemented in small "extension
51 plugins" using the easy to use object oriented plugin API.
52
53 qpsmtpd was originally written as a drop-in qmail-smtpd replacement, but
54 now it also includes a smtp forward and a postfix "backend".
55
56 %package apache
57 Requires: perl(mod_perl2)
58 Summary: mod_perl-2 connection handler for qpsmtpd
59 Group: System Environment/Daemons
60
61 %description apache
62
63 This module implements a mod_perl/apache 2.0 connection handler
64 that turns Apache into an SMTP server using Qpsmtpd.
65
66
67 %prep
68 %setup -q
69 %patch1 -p1
70 %patch2 -p1
71 %patch3 -p1
72 %patch4 -p1
73 %patch5 -p1
74 %patch6 -p1
75 %patch7 -p1
76 %patch8 -p1
77 %patch9 -p1
78 %patch10 -p1
79 %patch11 -p1
80 %patch12 -p1
81 %patch13 -p1
82 %patch14 -p1
83 %patch15 -p1
84 %patch16 -p1
85 %patch17 -p1
86 %patch18 -p1
87 %patch19 -p1
88 %patch20 -p1
89 %patch21 -p1
90 %patch22 -p1
91
92 %build
93 CFLAGS="$RPM_OPT_FLAGS" perl Makefile.PL INSTALLDIRS="vendor" PREFIX="%{buildroot}%{_prefix}"
94 make
95
96 %clean
97 rm -rf $RPM_BUILD_ROOT
98 %install
99
100 rm -rf $RPM_BUILD_ROOT
101 find blib/lib -name '*.pm.*' -exec rm -f {} \;
102 make pure_install
103
104 mkdir -p %{buildroot}%{_datadir}/%{name}
105 rm -f %{buildroot}%{_datadir}/%{name}/plugins/*.*
106 cp -r plugins %{buildroot}%{_datadir}/%{name}/plugins
107 mkdir -p %{buildroot}%{_sysconfdir}/%{name}
108 rm -f %{buildroot}%{_sysconfdir}/%{name}/*.*
109 cp -r config.sample/* %{buildroot}%{_sysconfdir}/%{name}/
110 echo %{_datadir}/%{name}/plugins > %{buildroot}%{_sysconfdir}/%{name}/plugin_dirs
111 echo %{_localstatedir}/spool/qpsmtpd > %{buildroot}%{_sysconfdir}/%{name}/spool_dir
112 echo logging/file_connection loglevel LOGINFO %{_localstatedir}/log/qpsmtpd/%Y-%m-%d > %{buildroot}%{_sysconfdir}/%{name}/logging
113 mkdir -p %{buildroot}%{_initrddir}
114 cp %{SOURCE1} %{buildroot}%{_initrddir}/qpsmtpd-forkserver
115 mkdir -p %{buildroot}%{_sysconfdir}/sysconfig
116 cp %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/qpsmtpd-forkserver
117 mkdir -p %{buildroot}%{_localstatedir}/spool/qpsmtpd
118 mkdir -p %{buildroot}%{_localstatedir}/log/qpsmtpd
119 mkdir -p %{buildroot}%{_sysconfdir}/xinetd.d
120 cp %{SOURCE3} %{buildroot}%{_sysconfdir}/xinetd.d/smtp
121 mkdir -p %{buildroot}%{_sbindir}
122 cp %{SOURCE4} %{buildroot}%{_sbindir}/in.smtp
123 mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d
124 cp %{SOURCE5} %{buildroot}%{_sysconfdir}/httpd/conf.d
125 mkdir -p %{buildroot}%{_docdir}/%{name}-apache-%{version}
126 cp %{SOURCE6} %{buildroot}%{_docdir}/%{name}-apache-%{version}
127
128 [ -x /usr/lib/rpm/brp-compress ] && /usr/lib/rpm/brp-compress
129
130 find %{buildroot}%{_prefix} \( -name perllocal.pod -o -name .packlist \) -exec rm {} \;
131 find %{buildroot}%{_prefix} -type f -print | \
132 sed "s@^%{buildroot}@@g" | \
133 grep -v [Aa]sync | \
134 grep -v packaging | \
135 grep -v README.selinux | \
136 grep -v /Apache | \
137 grep -v /Danga | \
138 grep -v Qpsmtpd/PollServer.pm > %{name}-%{version}-%{release}-filelist
139 if [ "$(cat %{name}-%{version}-%{release}-filelist)X" = "X" ] ; then
140 echo "ERROR: EMPTY FILE LIST"
141 exit -1
142 fi
143
144 %files -f %{name}-%{version}-%{release}-filelist
145 %defattr(-,root,root)
146 %doc CREDITS Changes LICENSE README.md README.plugins.md STATUS
147 %{_initrddir}/qpsmtpd-forkserver
148 %config(noreplace) %{_sysconfdir}/qpsmtpd/*
149 %config(noreplace) %{_sysconfdir}/xinetd.d/smtp
150 %config(noreplace) %{_sysconfdir}/sysconfig/qpsmtpd-forkserver
151
152 %files apache
153 %defattr(-,root,root)
154 %{_prefix}/share/perl5/vendor_perl/Apache/Qpsmtpd.pm
155 %{_mandir}/man3/Apache::Qpsmtpd.3pm.gz
156 %config(noreplace) %{_sysconfdir}/httpd/conf.d/*
157 %doc %{_docdir}/%{name}-apache-%{version}/README.selinux
158
159 %pre
160 if ! id smtpd >/dev/null 2>&1
161 then
162 # need to create smtpd user.
163 if perl -e 'exit ! defined(getgrnam("postdrop"))'
164 then
165 # if postfix is installed, we will probably use
166 # queue/postfix, which will need this:
167 supp="-G postdrop"
168 fi
169 useradd -r -M -s /bin/false $supp smtpd
170 fi
171
172 %changelog
173 * Tue Jul 5 2016 Daniel Berteaud <daniel@firewall-services.com> 0.96-7.sme
174 - Use eval to fetch dkim policies, prevent fatal errors in case of DNS
175 timeout [SME: 9504]
176
177 * Wed Jun 15 2016 Daniel Berteaud <daniel@firewall-services.com> 0.96-6.sme
178 - Remove karma rcpt handling (buggy and doesn't make a lot of sense)
179 [SME: 9502]
180
181 * Sat May 28 2016 Daniel Berteaud <daniel@firewall-services.com> 0.96-5.sme
182 - Check rua is defined before trying to parse it to prevent an error
183 if a domain has a DMARC entry published with no rua [SME: 9507]
184
185 * Mon May 16 2016 Daniel Berteaud <daniel@firewall-services.com> 0.96-4.sme
186 - Fix error when RCPT TO is not valid [SME: 8861]
187
188 * Mon May 9 2016 Daniel Berteaud <daniel@firewall-services.com> 0.96-3.sme
189 - Fix karma logic by checking negative strikes [SME: 9502]
190
191 * Sun May 8 2016 Daniel Berteaud <daniel@firewall-services.com> 0.96-2.sme
192 - Backport a fix for karma_tool so it can find its database [SME: 9502]
193
194 * Fri May 6 2016 Daniel Berteaud <daniel@firewall-services.com> 0.96-1.sme
195 - Update to 0.96 (with some backports from GIT head) [SME: 8861]
196
197 * Thu Jan 7 2016 Daniel Berteaud <daniel@firewall-services.com> 0.84-18.sme
198 - Allow reading SSL_version from the tls_protocols config file (and turn
199 TLSv1 back on by default) [SME: 9162]
200
201 * Wed Jan 6 2016 Daniel Berteaud <daniel@firewall-services.com> 0.84-17.sme
202 - Correctly log login attempts with nulls in login name [SME: 9167]
203
204 * Wed Jan 6 2016 Daniel Berteaud <daniel@firewall-services.com> 0.84-16.sme
205 - Disable TLSv1 [SME: 9162]
206
207 * Fri Sep 11 2015 stephane de Labrusse <stephdl@de-labrusse.fr> 0.84-15.sme
208 - Modify whitelist_soft transaction to interact with dnsbl filter [SME: 8747]
209 - by John Crisp <jcrisp@safeandsoundit.co.uk>
210 - Added qpsmtpd-0.84-make-dnsbl-more-whitelist_soft-aware.patch
211
212 * Tue May 19 2015 Daniel Berteaud <daniel@firewall-services.com> 0.84-14.sme
213 - Disable SSLv3 [SME: 8926]
214
215 * Fri May 15 2015 Daniel Berteaud <daniel@firewall-services.com> 0.84-13.sme
216 - New notls conf to set hosts you dont want to advertize STARTTLS to [SME: 8863]
217
218 * Sun Feb 15 2015 Daniel Berteaud <daniel@firewall-services.com> 0.84-12.sme
219 - Revert forcing TLSv1 patch as it breaks some inbound delivery [SME: 8851]
220 - Revert whitelist_soft dnsbl as it hasn't been verified yet and we need to
221 push the fix for TLSv1 [SME: 8747]
222
223 * Fri Dec 26 2014 stephane de Labrusse <stephdl@de-labrusse.fr> 0.84-11.sme
224 - Modify whitelist_soft transaction to interact with dnsbl filter [SME: 8747]
225 - by John Crisp <jcrisp@safeandsoundit.co.uk>
226
227 * Mon Dec 22 2014 Daniel Berteaud <daniel@firewall-services.com> 0.84-10.sme
228 - Force usage of TLSv1 [SME: 8726]
229
230 * Thu Mar 13 2014 Daniel Berteaud <daniel@firewall-services.com> 0.84-9.sme
231 - Remove DENYSOFT on SPF softfail [SME: 8273]
232
233 * Mon Dec 9 2013 Daniel Berteaud <daniel@firewall-services.com> 0.84-8.sme
234 - Fix handling of messages with no body and no trailing \n after headers (eq was
235 used in attempted assignment). [SME: 8051, see SME: 7754]
236
237 * Fri Jul 5 2013 Ian Wells <esmith@wellsi.com> 0.84-7.sme
238 - Accept messages with no body and no trailing \n after headers [SME: 7754]
239
240 * Thu Apr 25 2013 chris burnat <devlist@burnat.com> 0.84-6.sme
241 - Fix Net::DNS update breaks qpsmtpd, codes suggested by Ian [SME: 7561]
242
243 * Wed Apr 24 2013 Daniel Berteaud <daniel@firewall-services.com> 0.84-5.sme
244 - allows the spamassassin plugin to read the size limit from its
245 arguments [SME: 7559]
246
247 * Fri Feb 1 2013 Shad L. Lords <slords@mail.com> 0.84-4.sme
248 - Update spec so building on rhel6 works [SME: 7263]
249
250 * Fri May 04 2012 Charlie Brady <charlie_brady@mitel.com> 0.84-3.sme
251 - Set SO_KEEPALIVE option on client socket - to detect dead
252 connections. [SME: 6924]
253
254 * Sun Nov 14 2010 <slords@mail.com> 0.84-2.sme
255 - Sync with upstream git repo.
256 - Fix require_resolvable_fromhost doesn't work [SME: 6369]
257 - Fix TLS security defaults [SME: 6241]
258 - Fix fatal errors when mail has no headers [SME: 6345]
259
260 * Wed Apr 14 2010 <slords@mail.com> 0.84-0.1.sme
261 - Update to 0.84
262 - add sme specific patches
263 - Perl module rpms moved to /usr/share/perl5/vendor_perl [SME: 7223]
264
265 * Wed Mar 3 2010 <filippo.carletti@gmail.com> 0.83-0.7.sme
266 - Remove spool and log dir from package (in smeserver-qpsmtpd)
267 - Don't create smtpd user (unused in sme) [SME: 5815]
268
269 * Thu Nov 5 2009 <smeserver-contribs@snetram.nl> 0.83-0.6.sme
270 - Apply qpsmtpd git changesets to implement custom SPAM
271 subject prefix [SME: 5031]
272
273 * Tue Nov 3 2009 <slords@mail.com> 0.83-0.5.sme
274 - Update pre requires so scripts don't fail on install [SME: 5558]
275
276 * Sat Oct 31 2009 <slords@mail.com> 0.83-0.4.sme
277 - Rebase bad_rcptto patch to remove orig file [SME: 5548]
278 - Change logging in tls init to prevent warnings [SME: 5551]
279
280 * Thu Oct 29 2009 <slords@mail.com> 0.83-0.3.sme
281 - Only run/initialize plugins once [SME: 5533]
282
283 * Mon Oct 26 2009 <filippo.carletti@gmail.com> 0.83-0.2.sme
284 - Change spool dir permissions and owner to qpsmtpd:clamav
285 - Change log dir permissions and owner to smelog:smelog
286
287 * Tue Sep 22 2009 <filippo.carletti@gmail.com> 0.83-0.1.sme
288 - add sme specific patches
289
290 * Fri Sep 18 2009 <rpmbuild@robinbowes.com> 0.83-0.1
291 - Update to 0.83
292
293 * Sun Jul 12 2009 <rpmbuild@robinbowes.com> 0.82-0.1
294 - Update to latest release
295 - don't add qpsmtpd to start-up by default
296 - add apache config file to qpsmtpd-apache package
297 - remove all patches
298 - use rpm macros for dirs
299 - use a filelist for main package instead of a long list of files
300
301 * Tue Jul 15 2008 <rpmbuild@robinbowes.com> 0.43-0.7
302 - Removed SelectServer.pm from .spec file
303
304 * Tue Mar 18 2008 <rpmbuild@robinbowes.com> 0.43-0.6
305 - moved config files back to /etc/qpsmtpd following some changes
306 to the qpsmtpd src
307
308 * Tue Mar 18 2008 <rpmbuild@robinbowes.com> 0.43-0.5
309 - moved config files to /etc/qpsmtpd/config
310
311 * Tue Mar 18 2008 <rpmbuild@robinbowes.com> 0.43-0.4
312 - Moved qpsmtpd-async to /usr/bin
313 - Added qpsmtpd-async man page to async package
314 - Added async smtproute plugin to async package
315
316 * Wed Mar 12 2008 <rpmbuild@robinbowes.com> 0.43-0.3
317 - Makefile.PL now updated in svn, so remove hack
318
319 * Wed Mar 12 2008 <rpmbuild@robinbowes.com> 0.43-0.2
320 - Added qpsmtpd-prefork to qpsmtpd RPM, inc. hack to work round
321 deficiency in Makefile.PL
322
323 * Mon Mar 10 2008 <rpmbuild@robinbowes.com> 0.43-0.1
324 - Updated to work with Makefile to build from svn
325
326 * Wed Sep 12 2007 <rpmbuild@robinbowes.com> 0.40-2.0
327 - Updated to build trunk-r790
328
329 * Tue Jun 12 2007 <hjp@hjp.at> 0.40-1.0
330 - updated to 0.40 - no code change.
331
332 * Thu Jun 07 2007 <hjp@hjp.at> 0.40-0.2
333 - unset environment variables which are normally tainted in perl.
334 - updated to 0.40rc1
335 - added dependency on Net::IP (needed by some plugins)
336
337 * Sat May 05 2007 <hjp@hjp.at> 0.33-0.5
338 - moved environment cleanup into start() function, otherwise
339 LANG just gets reinitialized.
340
341 * Sat May 05 2007 <hjp@hjp.at> 0.33-0.4
342 - split qpsmtpd-async into a separate package to avoid dependency
343 on ParaDNS.
344
345 * Sat May 05 2007 <hjp@hjp.at> 0.33-0.3
346 - also unset LANG, LC_ALL and LC_TIME in startup script to prevent
347 locale specific Received headers (bug reported by Dominik Meyer)
348
349 * Sun Feb 25 2007 <hjp@hjp.at> 0.33-0.2
350 - 0.3x branch has been merged back to trunk.
351 Got current snapshot (r715) from trunk.
352
353 * Sun Feb 25 2007 <hjp@hjp.at> 0.33-0.1
354 - Start forkserver via "daemon" (Gavin Carr)
355 - Fixed 'service qpsmtpd-forkserver status' (Gavin Carr)
356 - Changed policy for config files to noreplace (Gavin Carr)
357
358 * Sun Nov 05 2006 <hjp@hjp.at> 0.33-0.0
359 - Upgraded to current snapshot from 0.3x branch (which should become
360 0.33 soon-ish)
361 - included xinetd-support again.
362
363 * Sat Mar 18 2006 <hjp@hjp.at> 0.32-2
364 - fix dnsbl to check whether answer fits query.
365 - randomize Net::DNS ids for qpsmtpd-forkserver child processes.
366
367 * Wed Mar 08 2006 <hjp@hjp.at> 0.32-1
368 - New upstream 0.32
369 - rc-file unsets PERL_UNICODE (bug #38397)
370
371 * Sat Jan 28 2006 <hjp@hjp.at> 0.31.1-3
372 - Use ${SOURCE*} macros to refer to source files
373 - Avoid invoking rpm and other cleanup in %pre section
374 - Invoke chkconfig in %post.
375 - (Thanks to Josko Plazonic for the reporting these problems and
376 suggesting fixes)
377
378 * Tue Nov 30 2005 <hjp@hjp.at> 0.31.1-2
379 - Revision 170 of plugins/loggin/file_connection:
380 Return DECLINED from open_log.
381 Open log in write_log if it isn't already open.
382
383 * Tue Nov 29 2005 <hjp@hjp.at> 0.31.1-1
384 - Commented out queue plugins from sample config
385 - Added dependencies
386 - Create smtpd user if it doesn't exist
387 - Added /var/log/qpsmtpd and /var/spool/qpsmtpd
388
389 * Sat Nov 26 2005 <hjp@hjp.at>
390 - Added file_connection plugin
391 - Startup file for qpsmtpd-forkserver now uses --detach and assumes that
392 a suitable logging module is configured (file_connection by default)
393
394 * Wed Nov 23 2005 <hjp@hjp.at>
395 - Forkserver drops privileges before loading plugins now.
396
397 * Sun Nov 20 2005 <hjp@hjp.at>
398 - New upstream 0.31.1
399
400 * Mon Nov 14 2005 <hjp@hjp.at> 0.31-8
401 - New upstream 0.31rc3.
402 - pre-connection patch slightly simplified since upstream fixed one of
403 the bugs.
404
405 * Tue Aug 23 2005 <hjp@hjp.at>
406 - forced INSTALLSITELIB=/usr/lib/perl5/site_perl as suggested by
407 Charlie Brady.
408
409 * Sat Aug 20 2005 <hjp@hjp.at> 0.31-7
410 - RC2 from upstream.
411 - Removed patches which aren't applied from spec file.
412
413 * Fri Jul 22 2005 <hjp@hjp.at> 0.31-6
414 - New upstream snapshot from 0.31 branch: svn revision 509.
415
416 * Sun Jul 17 2005 <hjp@hjp.at> 0.31-5
417 - include only /etc/init.d/qpsmtpd-forkserver, not /etc/init.d
418 it conflicts with old initscripts packages.
419
420 * Sun Jul 17 2005 <hjp@hjp.at> 0.31-4
421 - removed tabs from forkserver
422
423 * Sun Jul 17 2005 <hjp@hjp.at> 0.31-3
424 - added startup script for forkserver
425 - changed BuildArchitectures to noarch.
426
427 * Sat Jul 16 2005 <hjp@hjp.at> 0.31-2
428 - pre-connection hook is now actually called, not just defined.
429
430 * Fri Jul 15 2005 <hjp@hjp.at> 0.31-1
431 - merged with 0.31. Most of my patches are now in the official release.
432 - merged Gavin's per-user-config patch with my dirs patch, since the
433 latter needs a way to turn off logging.
434 - added /etc/qpsmtpd/plugin_dir to package.
435
436 * Mon Jun 13 2005 <hjp@hjp.at> 0.29-6
437 - fixed removal of patch backup files
438 - fixed option --pid-file
439
440 * Sun Jun 12 2005 <hjp@hjp.at>
441 - avoid installing patch backup files
442 - split Apache::Qpsmtpd into separate package to avoid dependency hell.
443 - fixed URL
444 - changed group to Daemons.
445 - Fixed installation for newer versions of ExtUtils::MakeMaker
446
447 * Wed Jun 1 2005 <hjp@hjp.at> 0.29-5
448 - Really don't reap children in signal handler.
449
450 * Tue May 31 2005 <hjp@hjp.at> 0.29-4
451 - Return 421 for DENYSOFT_DISCONNECT
452 - Don't reap children in signal handler.
453
454 * Thu May 19 2005 <hjp@hjp.at> 0.29-3
455 - removed code to accept paths without <>.
456
457 * Thu May 19 2005 <hjp@hjp.at> 0.29-2
458 - added QPSMTPD_CONFIG env variable and plugin_dir config.
459 - added supplemental groups and support for pid file
460 - added shared_connect hook
461 - changed log level for SMTP dialog from DEBUG to INFO
462
463 * Thu Apr 21 2005 hjp@hjp.at
464 - added plugins, /etc and docs.
465
466 * Mon Apr 18 2005 hjp@hjp.at
467 - Specfile autogenerated
468

admin@koozali.org
ViewVC Help
Powered by ViewVC 1.2.1 RSS 2.0 feed