On Wed, 7 Oct 2020, Yves Goergen via Exim-users wrote:
> Hello,
>
> I'm setting up a new mail server with Exim and try to get the Sieve filter
> working as it does on another server. But it doesn't. And I don't know why.
> The Exim version is 4.93 on Ubuntu Linux 20.04.
>
> This is a part of my Exim config. All addresses with maildirs and sieve data
> is stored in a database.
>
>> SQL_FILTER = \
>> select E'# Sieve filter\n' || sieve_filter \
>> from mail_entries \
>> where local = '${quote_pgsql:$local_part}' and domain =
>> '${quote_pgsql:$domain}' and maildir <> '' and sieve_filter <> ''
> The mainlog doesn't show more than the in and out events. There are
> especially no errors. (I can have errors when I leave out the Sieve filter
> comment prefix or use an invalid database query or break the database
> permissions. I've seen all of this but they're fixed and the messages are
> gone.)
>
> How can I debug or fix the Sieve filter in Exim? I thought that the config I
> have here is about the same as what's already working with the Exim from
> Ubuntu 16.04.
A new concept "Tainting" was introduced to exim between Ubuntu 16.04 and 20.04.
quote_pgsql may untaint $local_part (I am not familiar with quote_pgsql),
but in many configurations $local_part causes taintedness and failures;
the fix in some cases is to replace it with $local_part_data *and* ensure
that the router does check_local_user.
--
Andrew C. Aitchison Kendal, UK
andrew@???