Accepting request 1006967 from server:mail

- add (patch-no-exit-on-rewrite-malformed-address.patch)
  Fix exit on attempt to rewrite a malformed address (Bug 2903)
- Own /var/spool/mail (boo#1179574)
- Migration to /usr/etc: Saving user changed configuration files
  in /etc and restoring them while an RPM update.

OBS-URL: https://build.opensuse.org/request/show/1006967
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/exim?expand=0&rev=72
This commit is contained in:
Richard Brown 2022-09-29 16:14:43 +00:00 committed by Git OBS Bridge
commit 1edc09e78b
3 changed files with 66 additions and 1 deletions

View File

@ -1,3 +1,20 @@
-------------------------------------------------------------------
Thu Sep 29 13:36:20 UTC 2022 - Peter Wullinger <wullinger@rz.uni-kiel.de>
- add (patch-no-exit-on-rewrite-malformed-address.patch)
Fix exit on attempt to rewrite a malformed address (Bug 2903)
-------------------------------------------------------------------
Tue Sep 6 09:19:57 UTC 2022 - Ludwig Nussel <lnussel@suse.de>
- Own /var/spool/mail (boo#1179574)
-------------------------------------------------------------------
Thu Sep 1 07:43:11 UTC 2022 - Stefan Schubert <schubi@suse.com>
- Migration to /usr/etc: Saving user changed configuration files
in /etc and restoring them while an RPM update.
-------------------------------------------------------------------
Wed Jun 29 14:20:50 UTC 2022 - Stefan Schubert <schubi@suse.com>

View File

@ -75,7 +75,7 @@ Requires(pre): group(mail)
Requires(pre): fileutils textutils
%endif
Version: 4.96
Release: 0
Release: 1
%if %{with_mysql}
BuildRequires: mysql-devel
%endif
@ -105,6 +105,7 @@ Source40: exim.service
Source41: exim_db.8.gz
Patch0: exim-tail.patch
Patch1: gnu_printf.patch
Patch2: patch-no-exit-on-rewrite-malformed-address.patch
%package -n eximon
Summary: Eximon, an graphical frontend to administer Exim's mail queue
@ -148,6 +149,7 @@ once, if at all. The rest is done by logrotate / cron.)
%setup -q -n exim-%{version}
%patch0
%patch1 -p1
%patch2 -p1
# build with fPIE/pie on SUSE 10.0 or newer, or on any other platform
%if %{?suse_version:%suse_version}%{?!suse_version:99999} > 930
fPIE="-fPIE"
@ -315,6 +317,7 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d
mkdir -p $RPM_BUILD_ROOT/usr/{bin,sbin,lib}
mkdir -p $RPM_BUILD_ROOT/var/log/exim
mkdir -p $RPM_BUILD_ROOT/var/spool/mail/
ln -s spool/mail $RPM_BUILD_ROOT/var
mkdir -p $RPM_BUILD_ROOT%{_fillupdir}
mkdir -p $RPM_BUILD_ROOT%{_mandir}/man8
mkdir -p $RPM_BUILD_ROOT/usr/bin
@ -413,6 +416,20 @@ end
%if 0%{?suse_version} > 1220
%service_add_pre exim.service
%endif
%if 0%{?suse_version} > 1500
# Prepare for migration to /usr/etc; save any old .rpmsave
for i in logrotate.d/exim ; do
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i}.rpmsave.old ||:
done
%endif
%if 0%{?suse_version} > 1500
%posttrans
# Migration to /usr/etc, restore just created .rpmsave
for i in logrotate.d/exim ; do
test -f %{_sysconfdir}/${i}.rpmsave && mv -v %{_sysconfdir}/${i}.rpmsave %{_sysconfdir}/${i} ||:
done
%endif
%post
%if 0%{?suse_version} < 1131
@ -504,6 +521,8 @@ exit 0
/usr/lib/sendmail
%{_fillupdir}/sysconfig.exim
%dir %attr(750,mail,mail) /var/log/exim
%dir %attr(1777,root,root) /var/spool/mail
/var/mail
%files -n eximon
%defattr(-,root,root)

View File

@ -0,0 +1,29 @@
From e7ec503729970a03d4509921342bc81313976126 Mon Sep 17 00:00:00 2001
From: Jeremy Harris <jgh146exb@wizmail.org>
Date: Tue, 12 Jul 2022 22:14:04 +0100
Subject: [PATCH] Fix exit on attempt to rewrite a malformed address. Bug 2903
diff --git a/src/rewrite.c b/src/src/rewrite.c
index bfd78b5f1..90614e626 100644
--- a/src/rewrite.c
+++ b/src/rewrite.c
@@ -497,15 +497,14 @@ while (*s)
if (!recipient)
{
- /* Handle unparesable addresses in the header. Slightly ugly because a
+ /* Log unparesable addresses in the header. Slightly ugly because a
null output from the extract can also result from a header without an
- address, "To: undisclosed recpients:;" being the classic case. */
+ address, "To: undisclosed recpients:;" being the classic case. Ignore
+ this one and carry on. */
if ((rewrite_rules || routed_old) && Ustrcmp(errmess, "empty address") != 0)
- {
log_write(0, LOG_MAIN, "rewrite: %s", errmess);
- exim_exit(EXIT_FAILURE);
- }
+
loop_reset_point = store_reset(loop_reset_point);
continue;
}