--- rpms/qpsmtpd/sme9/qpsmtpd.spec 2015/05/19 20:49:10 1.15 +++ rpms/qpsmtpd/sme9/qpsmtpd.spec 2017/03/07 16:03:52 1.32 @@ -1,9 +1,9 @@ -# $Id: qpsmtpd.spec,v 1.14 2015/05/19 20:47:47 vip-ire Exp $ +# $Id: qpsmtpd.spec,v 1.31 2017/02/27 22:07:06 unnilennium Exp $ Name: qpsmtpd -Version: 0.84 -Release: 14%{?dist} -Summary: qpsmtpd + qpsmtpd-apache + qpsmtpd-async +Version: 0.96 +Release: 9%{?dist} +Summary: qpsmtpd + qpsmtpd-apache License: MIT Group: System Environment/Daemons URL: http://smtpd.develooper.com/ @@ -12,68 +12,41 @@ BuildRequires: perl >= 0:5.00503 BuildRequires: perl(ExtUtils::MakeMaker) BuildArch: noarch Requires: perl(Mail::Header), perl(Net::DNS) perl(Net::IP) -Requires: perl(IO::Socket::SSL) >= 1.70 +Requires: perl(Data::Validate::Domain) Requires(pre): coreutils, shadow-utils, perl Source0: %{name}-%{version}.tar.gz Source1: qpsmtpd-forkserver.rc Source2: qpsmtpd-forkserver.sysconfig -Source3: qpsmtpd-plugin-file_connection -Source4: qpsmtpd-xinetd -Source5: in.qpsmtpd -Source6: qpsmtpd.conf -Source7: README.selinux - -Patch1: 0001-Misc-documentation-updates.patch -Patch2: 0002-added-ClamAV-version-to-the-X-Virus-Checked-header.patch -Patch3: 0003-new-plugin-check_bogus_bounce.patch -Patch4: 0004-microoptimizations-replace-regex-with-lc-eq.patch -Patch5: 0005-remove-vestiges-of-a-bygone-RCS.patch -Patch6: 0006-added-definedness-test-to-local_port-as-it-was-emitt.patch -Patch7: 0007-Add-guidelines-for-commit-messages.patch -Patch8: 0008-added-auth_checkpassword-plugin.patch -Patch9: 0009-updates-to-auth_vpopmail_sql-module.patch -Patch10: 0010-new-plugin-auth_vpopmaild.patch -Patch11: 0011-start-working-on-Changes-file-for-0.84-next.patch -Patch12: 0012-fix-copy-paste-error-in-auth_flat_file.patch -Patch13: 0013-added-auth_vpopmail-plugin.patch -Patch14: 0014-rewrote-sender_permitted_from.patch -Patch15: 0015-add-TCPLOCAL-variables-to-qp-connection.patch -Patch16: 0016-added-local_ip-option-to-p0f-plugin.patch -Patch17: 0017-added-p0f-support-to-greylist-plugin.patch -Patch18: 0018-packaging-updates.patch -Patch19: 0019-Check-for-the-exact-string-resonses-from-vpopmaild-r.patch -Patch20: 0020-new-plugin-check_badmailfrom_patterns.patch -Patch21: 0021-ignore-search-path-in-DNS-lookups.patch -Patch22: 0022-don-t-create-homedir-in-RPM.patch -Patch23: 0023-corrected-email-address.patch -Patch24: 0024-increased-default-TLS-security-setting.patch -Patch25: 0025-give-badrcptto-a-reasonable-name.patch -Patch26: 0026-add-test-name-to-test-output.patch -Patch27: 0027-renamed-test-from-foo-to-rcpt_ok.patch -Patch28: 0028-Shorten-clarify-Connection-and-Transaction-notes.patch -Patch29: 0029-Run-hook_reset_transaction-after-all-connections.patch -Patch30: 0030-Add-support-for-multiple-postfix-cleanup-sockets.patch -Patch31: 0031-Adds-the-ability-to-have-multiple-instances-each-wit.patch -Patch32: 0032-I-forgot-to-sync-the-code-that-calls-the-original-co.patch -Patch33: 0033-new-plugin-rcpt_map.patch -Patch34: 0034-plugins-rcpt_map-cleanup.patch -Patch35: 0035-Fix-for-plugins-returning-DONE-from-HELO-EHLO.patch -Patch36: 0036-prefork-use-new-instance-instead-of-cloning.patch -Patch37: 0037-Revert-Spool-body-when-transaction-body_fh-is-called.patch -Patch38: 0038-Patch-FATAL-PLUGIN-ERROR-check_basicheaders.patch -Patch39: 0039-qpsmtpd-0.84-spamassassin_size_limit.patch -Patch40: 0040-qpsmtpd-forkserver_fix_Net_DNS_update_breaks_qpsmtpd.patch - -Patch100: qpsmtpd-0.40-badrcptto_allowrelay.patch -Patch101: qpsmtpd-0.83-peer_hooks.patch -Patch102: qpsmtpd-0.83-loginit.patch -Patch103: qpsmtpd-forkserver-keepalive.patch -Patch104: qpsmtpd-0.84-accept-empty-email.patch -Patch105: qpsmtpd-0.84-fix_eq_operator.patch -Patch106: qpsmtpd-0.84-remove_denysoft_on_spf_softfail.patch -Patch107: qpsmtpd-0.84-notls_conf.patch -Patch108: qpsmtpd-0.84-disable_sslv3.patch +Source3: qpsmtpd-xinetd +Source4: in.qpsmtpd +Source5: qpsmtpd.conf +Source6: README.selinux + +Patch1: qpsmtpd-0.95-spamassassin_size_limit.patch +Patch2: qpsmtpd-0.95-qpsmtpd_forserver_keepalive.patch +Patch3: qpsmtpd-0.95-notls_conf.patch +Patch4: qpsmtpd-0.95-allow_tls_proto_from_conf.patch +Patch5: qpsmtpd-0.96-set_hooks.patch +Patch6: qpsmtpd-0.96-warn_implicit_split.patch +Patch7: qpsmtpd-0.96-dont_log_credentials_except_in_debug.patch +Patch8: qpsmtpd-0.96-uribl_data_post.patch +Patch9: qpsmtpd-0.96-karma_strikes.patch +Patch10: qpsmtpd-0.96-karma_tlds_conf.patch +Patch11: qpsmtpd-0.96-more_badrcptto.patch +Patch12: qpsmtpd-0.96-store_original_plugin_name.patch +Patch13: qpsmtpd-0.96-dkim_no_sign_for_others_on_symlinks.patch +Patch14: qpsmtpd-0.96-fix_dmarc_reject.patch +Patch15: qpsmtpd-0.96-add_dmarc_result_notes.patch +Patch16: qpsmtpd-0.96-spf_on_no_dmarc_policy.patch +Patch17: qpsmtpd-0.96-find_karma_db_dir.patch +Patch18: qpsmtpd-0.96-check_negative_karma_strikes.patch +Patch19: qpsmtpd-0.96-addr_defined_before_use.patch +Patch20: qpsmtpd-0.96-check_rua_is_defined.patch +Patch21: qpsmtpd-0.96-remove_karma_rcpt_handler.patch +Patch22: qpsmtpd-0.96-eval_dkim_policies.patch +Patch23: qpsmtpd-0.96-uribl_validate_domains.patch +Patch24: qpsmtpd-0.96-bz10111-whitelist.patch %description qpsmtpd is a flexible smtpd daemon written in Perl. Apart from the core @@ -88,19 +61,11 @@ Requires: perl(mod_perl2) Summary: mod_perl-2 connection handler for qpsmtpd Group: System Environment/Daemons -%package async -Summary: qpsmtpd using async I/O in a single process -Group: System Environment/Daemons - %description apache This module implements a mod_perl/apache 2.0 connection handler that turns Apache into an SMTP server using Qpsmtpd. -%description async -This package contains the Qpsmtpd::PollServer module, which allows -qpsmtd to handle many connections in a single process and the -qpsmpd-async which uses it. %prep %setup -q @@ -125,35 +90,9 @@ qpsmpd-async which uses it. %patch19 -p1 %patch20 -p1 %patch21 -p1 -#%patch22 -p1 +%patch22 -p1 %patch23 -p1 %patch24 -p1 -%patch25 -p1 -%patch26 -p1 -%patch27 -p1 -%patch28 -p1 -%patch29 -p1 -%patch30 -p1 -%patch31 -p1 -%patch32 -p1 -%patch33 -p1 -%patch34 -p1 -%patch35 -p1 -%patch36 -p1 -%patch37 -p1 -%patch38 -p1 -%patch39 -p1 -%patch40 -p1 - -%patch100 -p1 -%patch101 -p1 -%patch102 -p1 -%patch103 -p0 -%patch104 -p1 -%patch105 -p1 -%patch106 -p1 -%patch107 -p1 -%patch108 -p1 %build CFLAGS="$RPM_OPT_FLAGS" perl Makefile.PL INSTALLDIRS="vendor" PREFIX="%{buildroot}%{_prefix}" @@ -180,17 +119,16 @@ mkdir -p %{buildroot}%{_initrddir} cp %{SOURCE1} %{buildroot}%{_initrddir}/qpsmtpd-forkserver mkdir -p %{buildroot}%{_sysconfdir}/sysconfig cp %{SOURCE2} %{buildroot}%{_sysconfdir}/sysconfig/qpsmtpd-forkserver -cp %{SOURCE3} %{buildroot}%{_datadir}/%{name}/plugins/logging/file_connection mkdir -p %{buildroot}%{_localstatedir}/spool/qpsmtpd mkdir -p %{buildroot}%{_localstatedir}/log/qpsmtpd mkdir -p %{buildroot}%{_sysconfdir}/xinetd.d -cp %{SOURCE4} %{buildroot}%{_sysconfdir}/xinetd.d/smtp +cp %{SOURCE3} %{buildroot}%{_sysconfdir}/xinetd.d/smtp mkdir -p %{buildroot}%{_sbindir} -cp %{SOURCE5} %{buildroot}%{_sbindir}/in.smtp +cp %{SOURCE4} %{buildroot}%{_sbindir}/in.smtp mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d -cp %{SOURCE6} %{buildroot}%{_sysconfdir}/httpd/conf.d +cp %{SOURCE5} %{buildroot}%{_sysconfdir}/httpd/conf.d mkdir -p %{buildroot}%{_docdir}/%{name}-apache-%{version} -cp %{SOURCE7} %{buildroot}%{_docdir}/%{name}-apache-%{version} +cp %{SOURCE6} %{buildroot}%{_docdir}/%{name}-apache-%{version} [ -x /usr/lib/rpm/brp-compress ] && /usr/lib/rpm/brp-compress @@ -202,7 +140,6 @@ find %{buildroot}%{_prefix} -type f -pri grep -v README.selinux | \ grep -v /Apache | \ grep -v /Danga | \ - grep -v Qpsmtpd/ConfigServer.pm | \ grep -v Qpsmtpd/PollServer.pm > %{name}-%{version}-%{release}-filelist if [ "$(cat %{name}-%{version}-%{release}-filelist)X" = "X" ] ; then echo "ERROR: EMPTY FILE LIST" @@ -211,7 +148,7 @@ fi %files -f %{name}-%{version}-%{release}-filelist %defattr(-,root,root) -%doc CREDITS Changes LICENSE README README.plugins STATUS +%doc CREDITS Changes LICENSE README.md README.plugins.md STATUS %{_initrddir}/qpsmtpd-forkserver %config(noreplace) %{_sysconfdir}/qpsmtpd/* %config(noreplace) %{_sysconfdir}/xinetd.d/smtp @@ -224,20 +161,65 @@ fi %config(noreplace) %{_sysconfdir}/httpd/conf.d/* %doc %{_docdir}/%{name}-apache-%{version}/README.selinux -%files async -%defattr(-,root,root) -%{_bindir}/qpsmtpd-async -%{_prefix}/share/perl5/vendor_perl/Danga/Client.pm -%{_prefix}/share/perl5/vendor_perl/Danga/TimeoutSocket.pm -%{_prefix}/share/perl5/vendor_perl/Qpsmtpd/ConfigServer.pm -%{_prefix}/share/perl5/vendor_perl/Qpsmtpd/Plugin/Async/DNSBLBase.pm -%{_prefix}/share/perl5/vendor_perl/Qpsmtpd/PollServer.pm -%{_mandir}/man1/qpsmtpd-async.1.gz -%{_datadir}/%{name}/plugins/async/* - %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 -s /bin/false $supp smtpd +fi %changelog +* Mon Feb 27 2017 Jean-Philipe Pialasse 0.96-9.sme +- fix whitelist plugin to support helo with naughty rejecting at mail stage [SME: 10111] + +* Tue Jul 12 2016 Daniel Berteaud 0.96-8.sme +- Validate domains found in uribl with Data::Validate::Domain [SME: 9499] + +* Tue Jul 5 2016 Daniel Berteaud 0.96-7.sme +- Use eval to fetch dkim policies, prevent fatal errors in case of DNS + timeout [SME: 9504] + +* Wed Jun 15 2016 Daniel Berteaud 0.96-6.sme +- Remove karma rcpt handling (buggy and doesn't make a lot of sense) + [SME: 9502] + +* Sat May 28 2016 Daniel Berteaud 0.96-5.sme +- Check rua is defined before trying to parse it to prevent an error + if a domain has a DMARC entry published with no rua [SME: 9507] + +* Mon May 16 2016 Daniel Berteaud 0.96-4.sme +- Fix error when RCPT TO is not valid [SME: 8861] + +* Mon May 9 2016 Daniel Berteaud 0.96-3.sme +- Fix karma logic by checking negative strikes [SME: 9502] + +* Sun May 8 2016 Daniel Berteaud 0.96-2.sme +- Backport a fix for karma_tool so it can find its database [SME: 9502] + +* Fri May 6 2016 Daniel Berteaud 0.96-1.sme +- Update to 0.96 (with some backports from GIT head) [SME: 8861] + +* Thu Jan 7 2016 Daniel Berteaud 0.84-18.sme +- Allow reading SSL_version from the tls_protocols config file (and turn + TLSv1 back on by default) [SME: 9162] + +* Wed Jan 6 2016 Daniel Berteaud 0.84-17.sme +- Correctly log login attempts with nulls in login name [SME: 9167] + +* Wed Jan 6 2016 Daniel Berteaud 0.84-16.sme +- Disable TLSv1 [SME: 9162] + +* Fri Sep 11 2015 stephane de Labrusse 0.84-15.sme +- Modify whitelist_soft transaction to interact with dnsbl filter [SME: 8747] +- by John Crisp +- Added qpsmtpd-0.84-make-dnsbl-more-whitelist_soft-aware.patch + * Tue May 19 2015 Daniel Berteaud 0.84-14.sme - Disable SSLv3 [SME: 8926]