Bug 1848926 - Exim 4.94-1 doesn't deliver messages to @localhost when using maildirs
Summary: Exim 4.94-1 doesn't deliver messages to @localhost when using maildirs
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: exim
Version: 32
Hardware: x86_64
OS: Linux
unspecified
high
Target Milestone: ---
Assignee: David Woodhouse
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-06-19 09:43 UTC by Chirado OHG
Modified: 2021-05-25 17:23 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-05-25 17:23:29 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Output of "exim -dd -qff" (8.53 KB, text/plain)
2020-06-19 09:43 UTC, Chirado OHG
no flags Details

Description Chirado OHG 2020-06-19 09:43:47 UTC
Created attachment 1698065 [details]
Output of "exim -dd -qff"

Description of problem:

After updating from exim-4.93-4.fc32 to exim-4.94-1.fc32.x86_64 e-mails to [user]@localhost will not be delivered anymore.

Version-Release number of selected component (if applicable):
exim-4.94-1.fc32.x86_64

How reproducible:

Steps to Reproduce:
1. Configure exim to use Maildir:

local_delivery:
  driver = appendfile
  directory = /home/${local_part}/.maildir
  maildir_format
  maildir_use_size_file
  mode_fail_narrower = false
  delivery_date_add = true
  envelope_to_add = true
  return_path_add = true


2. Send an email locally to an existing user, let's say foo@localhost

Actual results:
Exim does not deliver the email to the Maildir directory. The log file /var/log/exim/panic.log shows:

2020-06-18 16:43:25 1jkgI0-005XCG-Ah == foo@localhost R=localuser T=local_delivery defer (-1): Tainted '/home/foo/.maildir' (file or directory name for local_delivery transport) not permitted

After downgrading to exim-4.93-4.fc32 (without changing anything else) everything is fine.

Expected results:
The email should be stored in the Maildir directory.

Additional info:
All other users on the system are also affected by the error.

exim -dd -qff shows (the entire output can be found in the attachment):

[...]
>>>>>>>>>>>>>>>> Local deliveries >>>>>>>>>>>>>>>>
--------> foo@localhost <--------
 locking /var/spool/exim/db/retry.lockfile
 locked  /var/spool/exim/db/retry.lockfile
 EXIM_DBOPEN: file </var/spool/exim/db/retry> dir </var/spool/exim/db> flags=O_RDONLY
 returned from EXIM_DBOPEN: 0x5631263faba0
 opened hints database /var/spool/exim/db/retry: flags=O_RDONLY
 dbfn_read: key=T:foo@localhost
no retry record exists
 EXIM_DBCLOSE(0x5631263faba0)
 closed hints database and lockfile
search_tidyup called
qrun-delivery forking for delivery-local
qrun-delivery forked for delivery-local: 2464922
postfork: delivery-local
changed uid/gid: local delivery to foo <foo@localhost> transport=local_delivery
  uid=520 gid=12 pid=2464922
  auxiliary group list: <none>
  home=/home/foo current=/home/foo
set_process_info: 2464922 delivering 1jltj4-00AC5k-O7 to foo using local_delivery
appendfile transport entered
search_tidyup called
local_delivery transport returned PANIC for foo@localhost
post-process foo@localhost (10)
LOG: MAIN PANIC
  == foo@localhost R=localuser T=local_delivery defer (-1): Tainted '/home/foo/.maildir' (file or directory name for local_delivery transport) not permitted
>>>>>>>>>>>>>>>> deliveries are done >>>>>>>>>>>>>>>>
[...]

Comment 1 Renich Bon Ciric 2020-06-30 03:50:58 UTC
This is why: https://github.com/Exim/exim/blob/master/src/README.UPDATING#L29

Comment 2 Chirado OHG 2020-06-30 12:23:20 UTC
Thank your very much Renich. This explains the reason for the problem. I think a solution should be found. IMHO an update should not break a service that has worked for years with a (originally) correct configuration without any warning.

Comment 3 Chirado OHG 2020-07-02 08:41:42 UTC
This change in exim doesn't only effect transports as written in https://github.com/Exim/exim/blob/master/src/README.UPDATING#L29. It effects routers, too. For example:

begin routers

virtual:
  driver = redirect
  domains = lsearch;/etc/exim/virtual_domains
  data = ${lookup{$local_part}lsearch{/etc/exim/$domain/aliases}}
  no_more

will not work with exim 4.94-1 anymore.

Comment 4 Chirado OHG 2020-07-02 09:19:33 UTC
Additional information: There's a thread on exims mailing list: https://lists.exim.org/lurker/message/20200618.124322.d1c7294e.en.html

Comment 5 Chirado OHG 2020-07-02 09:26:19 UTC
(In reply to Chirado OHG from comment #4)
> Additional information: There's a thread on exims mailing list:
> https://lists.exim.org/lurker/message/20200618.124322.d1c7294e.en.html

More useful: https://www.mail-archive.com/exim-users@exim.org/msg54732.html

IMHO is was a really bad idea what the developers did. They was only an increase of the minor version number.

Comment 6 Chirado OHG 2020-07-02 09:40:24 UTC
Exim 4.94 and this tainted thing breaks existing configurations in many ways. Users should really be warned.

Comment 7 Fedora Program Management 2021-04-29 16:54:40 UTC
This message is a reminder that Fedora 32 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 32 on 2021-05-25.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
Fedora 'version' of '32'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 32 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 8 Ben Cotton 2021-05-25 17:23:29 UTC
Fedora 32 changed to end-of-life (EOL) status on 2021-05-25. Fedora 32 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.