diff --git a/.gitignore b/.gitignore index 93cc45e..f43b1f6 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1 @@ -/mimedefang-*.tar.gz -/mimedefang-*.tar.gz.asc -/mimedefang-*.tar.gz.sig +/mimedefang-?.*.tar.gz diff --git a/9F9B564003DFF9E4D904301E3B6DDB11E78FEBD2 b/9F9B564003DFF9E4D904301E3B6DDB11E78FEBD2 deleted file mode 100644 index eba97e6..0000000 --- a/9F9B564003DFF9E4D904301E3B6DDB11E78FEBD2 +++ /dev/null @@ -1,55 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Comment: 9F9B 5640 03DF F9E4 D904 301E 3B6D DB11 E78F EBD2 -Comment: MIMEDefang Project Management Committee (Code Signing K - -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 -E7Fo/uo= -=BedK ------END PGP PUBLIC KEY BLOCK----- diff --git a/mimedefang-3.6-tests.patch b/mimedefang-3.6-tests.patch deleted file mode 100644 index 575a663..0000000 --- a/mimedefang-3.6-tests.patch +++ /dev/null @@ -1,89 +0,0 @@ -From 7379afce07b19c04a1927172ddd2ebb9213d87fa Mon Sep 17 00:00:00 2001 -From: Robert Scheck -Date: Sat, 1 Mar 2025 15:29:17 +0100 -Subject: [PATCH] Skip DNS tests without network access (#83) - -$ make test -prove -It/lib --recurse t -t/actions.t ... ok -t/antispam.t .. ok -t/arc.t ....... ok -t/authres.t ... ok -t/core.t ...... ok -t/critic.t .... skipped: Author test. Set $ENV{TEST_AUTHOR} to a true value to run. -t/dates.t ..... ok -t/dkim.t ...... ok -t/headers.t ... ok -t/mime.t ...... ok -t/net.t ....... -Dubious, test returned 3 (wstat 768, 0x300) -Failed 3/15 subtests - (less 3 skipped subtests: 9 okay) -t/relay.t ..... ok -t/sender.t .... ok -t/smtp.t ...... ok -t/spf.t ....... ok -t/utils.t ..... ok -Test Summary Report -------------------- -t/net.t (Wstat: 768 (exited 3) Tests: 15 Failed: 3) - Failed tests: 5-6, 11 - Non-zero exit status: 3 -Files=16, Tests=130, 680 wallclock secs ( 0.05 usr 0.03 sys + 3.91 cusr 0.71 csys = 4.70 CPU) -Result: FAIL -make: *** [Makefile:365: test] Error 1 ---- - t/net.t | 28 +++++++++++++++++++++++----- - 1 file changed, 23 insertions(+), 5 deletions(-) - -diff --git a/t/net.t b/t/net.t -index 4710ce2..69e1877 100644 ---- a/t/net.t -+++ b/t/net.t -@@ -55,7 +55,13 @@ sub t_reverse_ip : Test(2) - sub t_get_ptr_record : Test(1) - { - my $ipv4 = '1.1.1.1'; -- is(Mail::MIMEDefang::Net::get_ptr_record($ipv4), 'one.one.one.one'); -+ -+ SKIP: { -+ if ( (not defined $ENV{'NET_TEST'}) or ($ENV{'NET_TEST'} ne 'yes' )) { -+ skip "Net test disabled", 1 -+ } -+ is(Mail::MIMEDefang::Net::get_ptr_record($ipv4), 'one.one.one.one'); -+ } - } - - sub t_relay_is_blacklisted_multi : Test(1) -@@ -107,15 +113,27 @@ sub t_email_is_blacklisted : Test(1) - sub t_md_get_bogus_mx_hosts : Test(1) - { - my $domain = 'multihomed.dnsbltest.spamassassin.org'; -- my @res = md_get_bogus_mx_hosts($domain); -- is(scalar @res, 1); -+ -+ SKIP: { -+ if ( (not defined $ENV{'NET_TEST'}) or ($ENV{'NET_TEST'} ne 'yes' )) { -+ skip "Net test disabled", 1 -+ } -+ my @res = md_get_bogus_mx_hosts($domain); -+ is(scalar @res, 1); -+ } - } - - sub t_get_mx_ip_addresses : Test(1) - { - my $domain = 'mimedefang.org'; -- my @res = get_mx_ip_addresses($domain); -- is(scalar @res, 2); -+ -+ SKIP: { -+ if ( (not defined $ENV{'NET_TEST'}) or ($ENV{'NET_TEST'} ne 'yes' )) { -+ skip "Net test disabled", 1 -+ } -+ my @res = get_mx_ip_addresses($domain); -+ is(scalar @res, 2); -+ } - } - - __PACKAGE__->runtests(); diff --git a/mimedefang-multiplexor.service b/mimedefang-multiplexor.service index e7b39ae..9a03a1b 100644 --- a/mimedefang-multiplexor.service +++ b/mimedefang-multiplexor.service @@ -7,14 +7,13 @@ Documentation=man:mimedefang.pl(8) [Service] Type=forking -PIDFile=/run/mimedefang-multiplexor.pid +PIDFile=/var/spool/MIMEDefang/mimedefang-multiplexor.pid Environment=HOME=/var/spool/MIMEDefang Environment=LANG=C EnvironmentFile=-/etc/sysconfig/mimedefang ExecStartPre=/usr/libexec/mimedefang-wrapper configtest ExecStart=/usr/libexec/mimedefang-wrapper multiplexor ExecReload=/usr/libexec/mimedefang-wrapper reload -SuccessExitStatus=1 [Install] WantedBy=multi-user.target diff --git a/mimedefang-wrapper b/mimedefang-wrapper index c04ca95..9b1ec63 100644 --- a/mimedefang-wrapper +++ b/mimedefang-wrapper @@ -6,8 +6,7 @@ MX_SOCKET=${MX_SOCKET:=/var/spool/MIMEDefang/mimedefang-multiplexor.sock} if [ "$1" = "start" ]; then # Tricky stuff below... "echo -E" won't work, hence the two-step. - exec /usr/bin/mimedefang -P /run/mimedefang.pid \ - -o /var/spool/MIMEDefang/mimedefang.lock \ + exec /usr/bin/mimedefang -P /var/spool/MIMEDefang/mimedefang.pid \ -m $MX_SOCKET -y \ $([ -n "$LOOPBACK_RESERVED_CONNECTIONS" ] && echo "-R $LOOPBACK_RESERVED_CONNECTIONS") \ $([ -n "$MX_USER" ] && echo "-U $MX_USER") \ @@ -19,7 +18,6 @@ if [ "$1" = "start" ]; then $([ "$MX_RECIPIENT_CHECK" = "yes" ] && echo "-t") \ $([ "$KEEP_FAILED_DIRECTORIES" = "yes" ] && echo "-k") \ $([ "$MD_ALLOW_GROUP_ACCESS" = "yes" ] && echo "-G") \ - $([ "$MD_SKIP_BAD_RCPTS" = "yes" ] && echo "-N") \ $([ -n "$MD_EXTRA" ] && echo "$MD_EXTRA") \ $([ "$ALLOW_NEW_CONNECTIONS_TO_QUEUE" = "yes" ] && echo "-q") \ -p $SOCKET @@ -41,8 +39,7 @@ fi if [ "$1" = "multiplexor" ]; then # Tricky stuff below... "echo -E" won't work, hence the two-step. - exec /usr/bin/mimedefang-multiplexor -p /run/mimedefang-multiplexor.pid \ - -o /var/spool/MIMEDefang/mimedefang-multiplexor.lock \ + exec /usr/bin/mimedefang-multiplexor -p /var/spool/MIMEDefang/mimedefang-multiplexor.pid \ $([ -n "$FILTER" ] && echo "-f $FILTER") \ $([ -n "$SYSLOG_FACILITY" ] && echo "-S $SYSLOG_FACILITY") \ $([ -n "$SUBFILTER" ] && echo "-F $SUBFILTER") \ @@ -56,12 +53,11 @@ if [ "$1" = "multiplexor" ]; then $([ -n "$MX_QUEUE_TIMEOUT" ] && echo "-Q $MX_QUEUE_TIMEOUT") \ $([ -n "$MX_REQUESTS" ] && echo "-r $MX_REQUESTS") \ $([ -n "$MX_MAP_SOCKET" ] && echo "-N $MX_MAP_SOCKET") \ - $([ -n "$MX_WORKER_DELAY" ] && echo "-w $MX_WORKER_DELAY") \ - $([ -n "$MX_MIN_WORKER_DELAY" ] && echo "-W $MX_MIN_WORKER_DELAY") \ - $([ -n "$MX_LOG_WORKER_STATUS_INTERVAL" ] && echo "-L $MX_LOG_WORKER_STATUS_INTERVAL") \ + $([ -n "$MX_SLAVE_DELAY" ] && echo "-w $MX_SLAVE_DELAY") \ + $([ -n "$MX_MIN_SLAVE_DELAY" ] && echo "-W $MX_MIN_SLAVE_DELAY") \ + $([ -n "$MX_LOG_SLAVE_STATUS_INTERVAL" ] && echo "-L $MX_LOG_SLAVE_STATUS_INTERVAL") \ $([ -n "$MX_MAX_RSS" ] && echo "-R $MX_MAX_RSS") \ $([ -n "$MX_MAX_AS" ] && echo "-M $MX_MAX_AS") \ - $([ -n "$MX_MAX_LIFETIME" ] && echo "-V $MX_MAX_LIFETIME") \ $([ "$MX_EMBED_PERL" = "yes" ] && (echo -n "-"; echo "E")) \ $([ "$MX_LOG" = "yes" ] && echo "-l") \ $([ "$MX_STATS" = "yes" ] && echo "-t /var/log/mimedefang/stats") \ diff --git a/mimedefang.service b/mimedefang.service index a8c1f04..5a7c22e 100644 --- a/mimedefang.service +++ b/mimedefang.service @@ -8,7 +8,7 @@ Documentation=man:mimedefang-multiplexor(8) [Service] Type=forking -PIDFile=/run/mimedefang.pid +PIDFile=/var/spool/MIMEDefang/mimedefang.pid EnvironmentFile=-/etc/sysconfig/mimedefang ExecStart=/usr/libexec/mimedefang-wrapper start ExecReload=/usr/libexec/mimedefang-wrapper reload diff --git a/mimedefang.spec b/mimedefang.spec index b044cee..fd2c0f7 100644 --- a/mimedefang.spec +++ b/mimedefang.spec @@ -1,298 +1,157 @@ -Summary: E-mail filtering framework using Sendmail's Milter interface -Name: mimedefang -Version: 3.6 -Release: 3%{?dist} -# {event{,_tcp}.{c,h},eventpriv.h} are GPL-2.0-or-later, rest is GPL-2.0-only -License: GPL-2.0-only AND GPL-2.0-or-later -URL: https://mimedefang.org/ -Source0: https://mimedefang.org/releases/%{name}-%{version}.tar.gz -Source1: https://mimedefang.org/releases/%{name}-%{version}.tar.gz.sig -Source2: https://keys.openpgp.org/vks/v1/by-fingerprint/9F9B564003DFF9E4D904301E3B6DDB11E78FEBD2 -Source3: README.FEDORA -Source4: mimedefang.service -Source5: mimedefang-multiplexor.service -Source6: mimedefang-wrapper -Source7: mimedefang.tmpfilesd -Source8: mimedefang.sysusersd -Patch0: https://github.com/The-McGrail-Foundation/MIMEDefang/commit/7379afce07b19c04a1927172ddd2ebb9213d87fa.patch#/mimedefang-3.6-tests.patch -BuildRequires: gnupg2 -BuildRequires: gcc -BuildRequires: make -BuildRequires: perl-generators -BuildRequires: perl-interpreter -BuildRequires: perl(Digest::SHA) -BuildRequires: perl(ExtUtils::Embed) -BuildRequires: perl(FindBin) -BuildRequires: perl(IO::Socket) -BuildRequires: perl(IO::Socket::SSL) -BuildRequires: perl(Mail::DKIM) -BuildRequires: perl(Mail::SPF) -BuildRequires: perl(MIME::Parser) -BuildRequires: perl(MIME::Tools) >= 5.410 -BuildRequires: perl(MIME::WordDecoder) -BuildRequires: perl(Sys::Hostname) -BuildRequires: perl(Sys::Syslog) -BuildRequires: systemd-rpm-macros -BuildRequires: %{_sbindir}/sendmail -BuildRequires: sendmail-milter-devel >= 8.12.0 -Recommends: perl(Mail::SpamAssassin) >= 1.6 -Requires(post): perl(Digest::SHA) -%{?systemd_requires} -%{?sysusers_requires_compat} - -# Testsuite in %%check -%if 0%{!?_without_tests:1} -BuildRequires: %{_bindir}/prove -BuildRequires: perl(HTML::Parser) -BuildRequires: perl(Mail::DKIM::ARC::Signer) >= 0.44 -BuildRequires: perl(Mail::DKIM::Signer) -BuildRequires: perl(Net::SMTP) -BuildRequires: perl(Test::Class) -BuildRequires: perl(Test::Most) +Summary: E-Mail filtering framework using Sendmail's Milter interface +Name: mimedefang +Version: 2.80 +Release: 1%{?dist} +License: GPLv2+ +Group: System Environment/Daemons +URL: https://mimedefang.org/ +Source0: https://mimedefang.org/static/%{name}-%{version}.tar.gz +Source1: README.FEDORA +Source2: mimedefang.service +Source3: mimedefang-multiplexor.service +Source4: mimedefang-wrapper +Source5: 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: %{_sbindir}/sendmail, perl-devel, perl-generators +BuildRequires: perl(ExtUtils::MakeMaker), perl(ExtUtils::Embed) +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %description MIMEDefang is an e-mail filter program which works with Sendmail 8.12 -and later, or Postfix. 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. +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 users should be aware of before using MIMEDefang. +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 -%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}' -%autosetup -p1 -cp -pf %{SOURCE3} . +%setup -q +cp -pf %{SOURCE1} . %build -%if 0%{?fedora} > 41 || 0%{?rhel} > 10 -export CFLAGS="$CFLAGS -std=gnu17" # RHBZ#2336394, comment #4 -%endif - -%configure --with-milterlib=%{_libdir} --with-user=defang --disable-anti-virus -%make_build +%configure --with-milterlib=%{_libdir} --with-user=defang --disable-check-perl-modules --disable-anti-virus +make %{?_smp_mflags} %install -%make_install INSTALL_STRIP_FLAG='' install-redhat +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 unit files and tmpfiles -install -D -p -m 0644 %{SOURCE4} $RPM_BUILD_ROOT%{_unitdir}/%{name}.service -install -D -p -m 0644 %{SOURCE5} $RPM_BUILD_ROOT%{_unitdir}/%{name}-multiplexor.service -install -D -p -m 0755 %{SOURCE6} $RPM_BUILD_ROOT%{_libexecdir}/%{name}-wrapper -install -D -p -m 0644 %{SOURCE7} $RPM_BUILD_ROOT%{_tmpfilesdir}/%{name}.conf -install -D -p -m 0644 %{SOURCE8} $RPM_BUILD_ROOT%{_sysusersdir}/%{name}.conf +# Install systemd/tmpfiles or initscript files +%if 0%{?rhel} > 6 || 0%{?fedora} > 23 +install -D -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_unitdir}/%{name}.service +install -D -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_unitdir}/%{name}-multiplexor.service +install -D -p -m 755 %{SOURCE4} $RPM_BUILD_ROOT%{_libexecdir}/%{name}-wrapper +install -D -p -m 644 %{SOURCE5} $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 0755 gen-ip-validator.pl.new $RPM_BUILD_ROOT%{_bindir}/gen-ip-validator.pl +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 -# Only for regression tests; depends on Test::Class, Test::Most and Net::SMTP -find $RPM_BUILD_ROOT \( -name Unit.pm -o -name "*::Unit.3" \) -exec rm -f {} \; - -%if 0%{!?_without_tests:1} -%check -make test -%endif +# 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 -%sysusers_create_compat %{SOURCE8} +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 + +%clean +rm -rf $RPM_BUILD_ROOT %files -%license LICENSE -%doc README.md README.{NONROOT,SECURITY,SOPHIE,SPAMASSASSIN,FEDORA} +%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* -%config(noreplace) %{_sysconfdir}/logrotate.d/%{name} -%config(noreplace) %{_sysconfdir}/mail/mimedefang-filter -%ghost %config(noreplace) %{_sysconfdir}/mail/mimedefang-ip-key -%config(noreplace) %{_sysconfdir}/mail/sa-mimedefang.cf -%config(noreplace) %{_sysconfdir}/sysconfig/%{name} -%{_bindir}/gen-ip-validator.pl -%{_bindir}/md-mx-ctrl -%{_bindir}/%{name} -%{_bindir}/%{name}.pl -%{_bindir}/%{name}-multiplexor -%{_bindir}/%{name}-release -%{_bindir}/%{name}-util -%{_bindir}/watch-%{name} -%{_bindir}/watch-multiple-%{name}s.tcl +%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 -%{_sysusersdir}/%{name}.conf %{_tmpfilesdir}/%{name}.conf -%{perl_vendorlib}/Mail/MIMEDefang.pm -%{perl_vendorlib}/Mail/MIMEDefang/ -%{_mandir}/man1/%{name}-util.1* -%{_mandir}/man3/Mail::MIMEDefang*.3* -%{_mandir}/man5/%{name}-filter.5* -%{_mandir}/man7/%{name}-notify.7* -%{_mandir}/man7/%{name}-protocol.7* -%{_mandir}/man8/md-mx-ctrl.8* -%{_mandir}/man8/%{name}.8* -%{_mandir}/man8/%{name}.pl.8* -%{_mandir}/man8/%{name}-multiplexor.8* -%{_mandir}/man8/%{name}-release.8* -%{_mandir}/man8/watch-%{name}.8* -%{_mandir}/man8/watch-multiple-%{name}s.8* -%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/ +%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 Jul 24 2025 Fedora Release Engineering - 3.6-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Mon Jul 07 2025 Jitka Plesnikova - 3.6-2 -- Perl 5.42 rebuild - -* Sat Mar 01 2025 Robert Scheck 3.6-1 -- Upgrade to 3.6 (#2301647) - -* Fri Jan 17 2025 Fedora Release Engineering - 3.4.1-8 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Thu Jul 18 2024 Fedora Release Engineering - 3.4.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue Jun 11 2024 Jitka Plesnikova - 3.4.1-6 -- Perl 5.40 rebuild - -* Thu Jan 25 2024 Fedora Release Engineering - 3.4.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Jan 21 2024 Fedora Release Engineering - 3.4.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Thu Jul 20 2023 Fedora Release Engineering - 3.4.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Jul 11 2023 Jitka Plesnikova - 3.4.1-2 -- Perl 5.38 rebuild - -* Mon May 15 2023 Robert Scheck 3.4.1-1 -- Upgrade to 3.4.1 (#2203877) - -* Thu Apr 27 2023 Robert Scheck 3.4-1 -- Upgrade to 3.4 (#2189708) - -* Thu Jan 19 2023 Fedora Release Engineering - 3.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Wed Jan 18 2023 Robert Scheck 3.3-1 -- Upgrade to 3.3 (#2161362) - -* Mon Oct 24 2022 Robert Scheck 3.2-1 -- Upgrade to 3.2 (#2136815) - -* Wed Aug 24 2022 Robert Scheck 3.1-1 -- Upgrade to 3.1 (#2121227) - -* Sat Aug 06 2022 Robert Scheck 3.0-1 -- Upgrade to 3.0 (#2097136) - -* Sun Jul 31 2022 Robert Scheck 2.86-4 -- Added sysusers.d file to achieve user() and group() provides - -* Thu Jul 21 2022 Fedora Release Engineering - 2.86-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Mon May 30 2022 Jitka Plesnikova - 2.86-2 -- Perl 5.36 rebuild - -* Fri Feb 11 2022 Robert Scheck 2.86-1 -- Upgrade to 2.86 (#2033718, #2053245) - -* Thu Jan 20 2022 Fedora Release Engineering - 2.85-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Sun Aug 29 2021 Robert Scheck 2.85-1 -- Upgrade to 2.85 (#1998443) - -* Thu Jul 22 2021 Fedora Release Engineering - 2.84-13 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Fri May 21 2021 Jitka Plesnikova - 2.84-12 -- Perl 5.34 rebuild - -* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 2.84-11 -- Rebuilt for updated systemd-rpm-macros - See https://pagure.io/fesco/issue/2583. - -* Tue Jan 26 2021 Fedora Release Engineering - 2.84-10 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Tue Jul 28 2020 Fedora Release Engineering - 2.84-9 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Mon Jun 22 2020 Jitka Plesnikova - 2.84-8 -- Perl 5.32 rebuild - -* Wed Jan 29 2020 Fedora Release Engineering - 2.84-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Thu Jul 25 2019 Fedora Release Engineering - 2.84-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Thu May 30 2019 Jitka Plesnikova - 2.84-5 -- Perl 5.30 rebuild - -* Fri Feb 01 2019 Fedora Release Engineering - 2.84-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Fri Jul 13 2018 Fedora Release Engineering - 2.84-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Thu Jun 28 2018 Jitka Plesnikova - 2.84-2 -- Perl 5.28 rebuild - -* Thu Mar 22 2018 Robert Scheck 2.84-1 -- Upgrade to 2.84 (#1559208) - -* Thu Feb 08 2018 Fedora Release Engineering - 2.83-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Sat Jan 20 2018 Björn Esser - 2.83-2 -- Rebuilt for switch to libxcrypt - -* Wed Nov 01 2017 Robert Scheck 2.83-1 -- Upgrade to 2.83 (#1508217) - -* Mon Oct 09 2017 Robert Scheck 2.82-1 -- Upgrade to 2.82 (#1489992) - -* Sun Sep 03 2017 Robert Scheck 2.81-1 -- Upgrade to 2.81 (#1487543, #1487804) - -* Thu Aug 03 2017 Fedora Release Engineering - 2.80-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - -* Sun Jul 30 2017 Florian Weimer - 2.80-2 -- Rebuild with binutils fix for ppc64le (#1475636) - * Thu Jul 27 2017 Robert Scheck 2.80-1 - Upgrade to 2.80 (#1474551) diff --git a/mimedefang.sysusersd b/mimedefang.sysusersd deleted file mode 100644 index ecce431..0000000 --- a/mimedefang.sysusersd +++ /dev/null @@ -1,2 +0,0 @@ -#Type Name ID GECOS Home directory Shell -u defang - "MIMEDefang user" /var/spool/MIMEDefang - diff --git a/sources b/sources index c1d72d5..f6a1243 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (mimedefang-3.6.tar.gz) = ceaf3b4b0d49d04b81e2280217aba5cf6873ec816cd664b379f3f32c10ba01560541cbbf0c269fcee0adc9265b18fb178e3232de3ca83c6b13440d7bd3aab34a -SHA512 (mimedefang-3.6.tar.gz.sig) = 177e6bebbae246531bbc56cd76b20fdfd958cee7a3f3081dd78840523afd9cc291478da11d9a6c4bbd9bb3f10e4f68cce25d236abaf4b29433b9c34743996488 +SHA512 (mimedefang-2.80.tar.gz) = 7c0e3233f5e92a61854ea2b3cd5e02e5137dba89ba3db924b1feb11cabe5824719ee5cde9b718b0593e0c159988e8bdd6309991684205d1860eeac3f908b21ed