File mimedefang.spec of Package mimedefang
Summary: E-Mail filtering framework using Sendmail's Milter interface
Name: mimedefang
Version: 2.84
Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Daemons
URL: https://mimedefang.org/
Source0: https://mimedefang.org/static/%{name}-%{version}.tar.gz
Source1: https://mimedefang.org/static/%{name}-%{version}.tar.gz.sig
Source2: gpgkey-FC2E9B645468698FD7B21655C1842E2A126F42E0.gpg
Source3: README.FEDORA
Source4: mimedefang.service
Source5: mimedefang-multiplexor.service
Source6: mimedefang-wrapper
Source7: mimedefang.tmpfilesd
Requires: perl-MailTools >= 1.15, perl(Mail::SpamAssassin) >= 1.6
Requires: perl(IO::Stringy) >= 1.212, perl(MIME::Base64) >= 3.03
Requires(pre): shadow-utils
Requires(post): perl(Digest::SHA1)
%if 0%{?rhel} > 6 || 0%{?fedora} > 23
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
BuildRequires: systemd
%else
Requires(post): /sbin/chkconfig
Requires(preun): /sbin/service, /sbin/chkconfig
Requires(postun): /sbin/service
%endif
%if 0%{?rhel} > 7 || 0%{?fedora} > 25
BuildRequires: sendmail-milter-devel >= 8.12.0
%else
BuildRequires: sendmail-devel >= 8.12.0
%endif
BuildRequires: gcc, %{_sbindir}/sendmail, perl-devel, perl-generators
BuildRequires: perl(ExtUtils::MakeMaker), perl(ExtUtils::Embed)
BuildRequires: gnupg2
%description
MIMEDefang is an e-mail filter program which works with Sendmail 8.12
and later. It filters all e-mail messages sent via SMTP. MIMEDefang
splits multi-part MIME messages into their components and potentially
deletes or modifies the various parts. It then reassembles the parts
back into an e-mail message and sends it on its way.
There are some caveats you should be aware of before using MIMEDefang.
MIMEDefang potentially alters e-mail messages. This breaks a "gentleman's
agreement" that mail transfer agents do not modify message bodies. This
could cause problems, for example, with encrypted or signed messages.
%prep
gpgv2 --keyring %{SOURCE2} %{SOURCE1} %{SOURCE0}
%setup -q
cp -pf %{SOURCE3} .
%build
%configure --with-milterlib=%{_libdir} --with-user=defang --disable-check-perl-modules --disable-anti-virus
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make DESTDIR=$RPM_BUILD_ROOT INSTALL='install -p' INSTALL_STRIP_FLAG='' install-redhat
# Fix config file, create log directory and remove duplicate
sed -e '1d' -i $RPM_BUILD_ROOT%{_sysconfdir}/sysconfig/%{name}
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/%{name}
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/mail/sa-mimedefang.cf.example
# Install systemd/tmpfiles or initscript files
%if 0%{?rhel} > 6 || 0%{?fedora} > 23
install -D -p -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_unitdir}/%{name}.service
install -D -p -m 644 %{SOURCE5} $RPM_BUILD_ROOT%{_unitdir}/%{name}-multiplexor.service
install -D -p -m 755 %{SOURCE6} $RPM_BUILD_ROOT%{_libexecdir}/%{name}-wrapper
install -D -p -m 644 %{SOURCE7} $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/%{name}
%else
sed -e 's/2345/-/' -i $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/%{name}
# Avoid smfi_setsymlist usage due to memory leaks in Sendmail < 8.14.4
%if 0%{?rhel} > 5 || 0%{?fedora} > 10
sed -e 's/\(-m $MX_SOCKET\)/\1 -y/' -i $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/%{name}
%endif
%endif
# Create a dummy file and install perl script for later executing
touch $RPM_BUILD_ROOT%{_sysconfdir}/mail/mimedefang-ip-key
sed -e '1s@^@#!%{_bindir}/perl\n@' gen-ip-validator.pl > gen-ip-validator.pl.new
install -m 755 gen-ip-validator.pl.new $RPM_BUILD_ROOT%{_bindir}/gen-ip-validator.pl
touch -c -r gen-ip-validator.pl $RPM_BUILD_ROOT%{_bindir}/gen-ip-validator.pl
# Convert everything to UTF-8
iconv -f iso-8859-1 -t utf-8 -o Changelog.utf8 Changelog
touch -c -r Changelog Changelog.utf8
mv -f Changelog.utf8 Changelog
%pre
getent group defang > /dev/null || %{_sbindir}/groupadd -r defang
getent passwd defang > /dev/null || %{_sbindir}/useradd -r -g defang -d %{_localstatedir}/spool/MIMEDefang -s /sbin/nologin -c "MIMEDefang User" defang
exit 0
%post
%if 0%{?rhel} > 6 || 0%{?fedora} > 23
%systemd_post %{name}.service
%else
/sbin/chkconfig --add %{name}
%endif
if [ ! -f %{_sysconfdir}/mail/mimedefang-ip-key ]; then
%{_bindir}/gen-ip-validator.pl > %{_sysconfdir}/mail/mimedefang-ip-key
fi
%preun
%if 0%{?rhel} > 6 || 0%{?fedora} > 23
%systemd_preun %{name}.service
%else
if [ $1 -eq 0 ]; then
/sbin/service %{name} stop > /dev/null 2>&1 || :
/sbin/chkconfig --del %{name}
fi
%endif
%postun
%if 0%{?rhel} > 6 || 0%{?fedora} > 23
%systemd_postun_with_restart %{name}.service
%else
if [ $1 -ne 0 ]; then
/sbin/service %{name} condrestart > /dev/null 2>&1 || :
fi
%endif
%files
%defattr(-,root,root,-)
%{!?_licensedir:%global license %%doc}
%license COPYING
%doc README README.{NONROOT,SECURITY,SOPHIE,SPAMASSASSIN,VEXIRA,FEDORA}
%doc Changelog contrib/{word-to-html,linuxorg,fang.pl} examples/*filter*
%dir %attr(0750,defang,defang) %{_localstatedir}/log/%{name}
%dir %attr(0750,defang,defang) %{_localstatedir}/spool/MIMEDefang
%dir %attr(0750,defang,defang) %{_localstatedir}/spool/MD-Quarantine
%{_bindir}/*
%{_mandir}/man?/*
%if 0%{?rhel} > 6 || 0%{?fedora} > 23
%{_unitdir}/%{name}.service
%{_unitdir}/%{name}-multiplexor.service
%{_libexecdir}/%{name}-wrapper
%{_tmpfilesdir}/%{name}.conf
%else
%{_sysconfdir}/rc.d/init.d/%{name}
%endif
%config(noreplace) %{_sysconfdir}/mail/mimedefang-filter
%config(noreplace) %{_sysconfdir}/mail/sa-mimedefang.cf
%ghost %config(noreplace) %{_sysconfdir}/mail/mimedefang-ip-key
%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
%config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
%changelog
* Thu Mar 22 2018 Robert Scheck <robert@fedoraproject.org> 2.84-1
- Upgrade to 2.84 (#1559208)
* Thu Feb 08 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.83-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Sat Jan 20 2018 Björn Esser <besser82@fedoraproject.org> - 2.83-2
- Rebuilt for switch to libxcrypt
* Wed Nov 01 2017 Robert Scheck <robert@fedoraproject.org> 2.83-1
- Upgrade to 2.83 (#1508217)
* Mon Oct 09 2017 Robert Scheck <robert@fedoraproject.org> 2.82-1
- Upgrade to 2.82 (#1489992)
* Sun Sep 03 2017 Robert Scheck <robert@fedoraproject.org> 2.81-1
- Upgrade to 2.81 (#1487543, #1487804)
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.80-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Sun Jul 30 2017 Florian Weimer <fweimer@redhat.com> - 2.80-2
- Rebuild with binutils fix for ppc64le (#1475636)
* Thu Jul 27 2017 Robert Scheck <robert@fedoraproject.org> 2.80-1
- Upgrade to 2.80 (#1474551)
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.79-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Sun Jun 04 2017 Jitka Plesnikova <jplesnik@redhat.com> - 2.79-3
- Perl 5.26 rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.79-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Tue Nov 29 2016 Robert Scheck <robert@fedoraproject.org> 2.79-1
- Upgrade to 2.79 (#1380052)
* Sat May 14 2016 Jitka Plesnikova <jplesnik@redhat.com> - 2.78-8
- Perl 5.24 rebuild
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.78-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Sat Jan 09 2016 Robert Scheck <robert@fedoraproject.org> 2.78-6
- Avoid chown-ing and chmod-ing /dev/null (#1296288 #c6)
* Sun Jan 03 2016 Robert Scheck <robert@fedoraproject.org> 2.78-5
- Provide native systemd service (#789768, #1279452)
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.78-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Wed Jun 03 2015 Jitka Plesnikova <jplesnik@redhat.com> - 2.78-3
- Perl 5.22 rebuild
* Tue May 05 2015 Robert Scheck <robert@fedoraproject.org> 2.78-2
- Fix wrong interpreter of mimedefang-util script (#1218754)
* Thu Apr 23 2015 Robert Scheck <robert@fedoraproject.org> 2.78-1
- Upgrade to 2.78 (#1213639)
* Wed Apr 22 2015 Robert Scheck <robert@fedoraproject.org> 2.77-1
- Upgrade to 2.77 (#1213639)
* Sun Mar 29 2015 Robert Scheck <robert@fedoraproject.org> 2.76-1
- Upgrade to 2.76 (#1206857)
* Wed Aug 27 2014 Jitka Plesnikova <jplesnik@redhat.com> - 2.75-4
- Perl 5.20 rebuild
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.75-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.75-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
* Wed May 21 2014 Robert Scheck <robert@fedoraproject.org> 2.75-1
- Upgrade to 2.75
* Sat Aug 31 2013 Robert Scheck <robert@fedoraproject.org> 2.74-1
- Upgrade to 2.74 (#971523, thanks to Philip Prindeville)
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.73-6
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Wed Jul 17 2013 Petr Pisar <ppisar@redhat.com> - 2.73-5
- Perl 5.18 rebuild
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.73-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
* Wed Oct 24 2012 Robert Scheck <robert@fedoraproject.org> 2.73-3
- Re-enabled embedded perl feature (thanks to Alexander Dalloz)
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.73-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
* Mon Jan 23 2012 Robert Scheck <robert@fedoraproject.org> 2.73-1
- Upgrade to 2.73 (#759805, thanks to Philip Prindeville)
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.72-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* Mon Dec 26 2011 Robert Scheck <robert@fedoraproject.org> 2.72-3
- Removed requirement on sendmail-cf for postfix (#754847)
* Sat Oct 08 2011 Robert Scheck <robert@fedoraproject.org> 2.72-2
- Added build requirement to perl(ExtUtils::MakeMaker)
- Reflected changed parameters to disable binary stripping
* Sat Oct 08 2011 Robert Scheck <robert@fedoraproject.org> 2.72-1
- Upgrade to 2.72
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.71-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Tue Oct 05 2010 Robert Scheck <robert@fedoraproject.org> 2.71-1
- Upgrade to 2.71
* Sun Mar 28 2010 Robert Scheck <robert@fedoraproject.org> 2.68-1
- Upgrade to 2.68
* Mon Dec 21 2009 Robert Scheck <robert@fedoraproject.org> 2.67-3
- Rebuilt against perl 5.10.1
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.67-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
* Sun Apr 05 2009 Robert Scheck <robert@fedoraproject.org> 2.67-1
- Upgrade to 2.67
* Mon Feb 23 2009 Robert Scheck <robert@fedoraproject.org> 2.65-2
- Rebuilt against gcc 4.4 and rpm 4.6
* Thu Sep 04 2008 Robert Scheck <robert@fedoraproject.org> 2.65-1
- Upgrade to 2.65
* Sat Feb 09 2008 Robert Scheck <robert@fedoraproject.org> 2.64-1
- Upgrade to 2.64
* Wed Aug 29 2007 Robert Scheck <robert@fedoraproject.org> 2.63-1
- Upgrade to 2.63
- Updated the license tag according to the guidelines
* Mon May 07 2007 Robert Scheck <robert@fedoraproject.org> 2.62-2
- Changed sendmail build requirement slightly (#237157)
* Mon Apr 16 2007 Robert Scheck <robert@fedoraproject.org> 2.62-1
- Upgrade to 2.62
* Wed Feb 14 2007 Robert Scheck <robert@fedoraproject.org> 2.61-1
- Upgrade to 2.61 (#228757)
* Tue Dec 19 2006 Robert Scheck <robert@fedoraproject.org> 2.58-3
- Use Unix::Syslog over deprecated Sys::Syslog support (#219988)
* Sat Dec 16 2006 Robert Scheck <robert@fedoraproject.org> 2.58-2
- Include the /etc/mail/mimedefang-ip-key file (#219381)
* Wed Nov 08 2006 Robert Scheck <robert@fedoraproject.org> 2.58-1
- Upgrade to 2.58 (#212657)
* Tue Oct 03 2006 Robert Scheck <robert@fedoraproject.org> 2.57-5
- Rebuilt
* Sat Sep 16 2006 Robert Scheck <robert@fedoraproject.org> 2.57-4
- Removed two hardcoded versioned requirements (#196101 #c13)
* Mon Sep 11 2006 Robert Scheck <robert@fedoraproject.org> 2.57-3
- Disable stripping to have a non-empty -debuginfo package
- Added %%configure parameter for finding libmilter.a on x86_64
* Wed Jun 21 2006 Robert Scheck <robert@fedoraproject.org> 2.57-2
- Changes to match with Fedora Packaging Guidelines (#196101)
* Tue Jun 20 2006 Robert Scheck <robert@fedoraproject.org> 2.57-1
- Upgrade to 2.57
* Tue Mar 07 2006 Robert Scheck <robert@fedoraproject.org> 2.56-1
- Upgrade to 2.56
* Mon Feb 06 2006 Robert Scheck <robert@fedoraproject.org> 2.55-1
- Upgrade to 2.55
* Sat Dec 24 2005 Robert Scheck <robert@fedoraproject.org> 2.54-1
- Upgrade to 2.54
* Mon Sep 19 2005 Robert Scheck <robert@fedoraproject.org> 2.53-1
- Upgrade to 2.53
* Thu Jun 02 2005 Robert Scheck <robert@fedoraproject.org> 2.52-1
- Upgrade to 2.52
* Sun Mar 13 2005 Robert Scheck <robert@fedoraproject.org> 2.51-2
- Rebuilt against gcc 4.0
* Tue Feb 08 2005 Robert Scheck <robert@fedoraproject.org> 2.51-1
- Upgrade to 2.51
* Mon Dec 13 2004 Robert Scheck <robert@fedoraproject.org> 2.49-1
- Upgrade to 2.49
* Sun Nov 07 2004 Robert Scheck <robert@fedoraproject.org> 2.47-1
- Upgrade to 2.47 and some spec file cleanups
* Mon Oct 04 2004 Robert Scheck <robert@fedoraproject.org> 2.45-1
- Upgrade to 2.45 and lots of spec file cleanups
* Thu Jul 15 2004 Robert Scheck <robert@fedoraproject.org> 2.44-1
- Upgrade to 2.44
- Move sa-mimedefang.cf from /etc/mail/spamassassin to /etc/mail
* Mon May 10 2004 Robert Scheck <robert@fedoraproject.org> 2.43-1
- Upgrade to 2.43
* Wed Mar 31 2004 Robert Scheck <robert@fedoraproject.org> 2.42-1
- Upgrade to 2.42
* Thu Mar 18 2004 Robert Scheck <robert@fedoraproject.org> 2.41-1
- Upgrade to 2.41
- Few fixes and cleanup in the spec file
* Mon Mar 08 2004 Robert Scheck <robert@fedoraproject.org> 2.40-1
- Upgrade to 2.40
* Wed Jan 07 2004 Robert Scheck <robert@fedoraproject.org> 2.39-2
- Fixed spec file problems with chkconfig
* Sat Nov 29 2003 Robert Scheck <robert@fedoraproject.org> 2.39-1
- Upgrade to 2.39
* Sat Oct 11 2003 Robert Scheck <robert@fedoraproject.org> 2.38-1
- Upgrade to 2.38
- Initial spec file for Red Hat Linux