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