On 30/06/2024 07:17, Benjamin Rose via dovecot wrote:
Hello,
I'm in the process of moving our mail server from RHEL 6 to RHEL 9. We will be moving to:
# dovecot --version 2.3.16 (7e2e900c1a)
My issue is that sieve does not appear to work on the new setup, where it does work on the old one. I made a simple filter rule:
# cat /u/mail0test/.sieve/ingo.sieve # Sieve Filter # Generated by Ingo (http://www.horde.org/apps/ingo/) (06/28/2024, 11:14:52 PM) require "fileinto"; # Test if header :comparator "i;ascii-casemap" :contains "Subject" "filtertest" { fileinto "Fun"; stop; }
Upon sending an email to this test account, the following appears in /var/log/maillog:
Jun 29 23:19:56 mail5 dovecot[3066980]: lda(mail0test)<3066980><FA8fFtzOgGZkzC4AuM9lWg>: Warning: sieve: file storage: Active sieve script symlink /u/mail0test/.dovecot.sieve is broken: Invalid/unknown path to storage (points to /u/mail0test/.sieve). Jun 29 23:19:56 mail5 dovecot[2987026]: doveadm(mail0test)<3066983><KFf4FtzOgGZnzC4AuM9lWg>: Warning: sieve: file storage: Active sieve script symlink /u/mail0test/.dovecot.sieve is broken: Invalid/unknown path to storage (points to /u/mail0test/.sieve). Jun 29 23:19:56 mail5 dovecot[2987026]: doveadm(mail0test)<3067016><VdsdK9zOgGaIzC4AuM9lWg>: Warning: sieve: file storage: Active sieve script symlink /u/mail0test/.dovecot.sieve is broken: Invalid/unknown path to storage (points to /u/mail0test/.sieve).
Yet:
# ll /u/mail0test/.dovecot.sieve lrwxrwxrwx. 1 mail0test sysguest 17 Jun 28 23:26 /u/mail0test/.dovecot.sieve -> .sieve/ingo.sieve # file /u/mail0test/.sieve/ingo.sieve /u/mail0test/.sieve/ingo.sieve: ASCII text
That is the filter file I've pasted above.
I've set the following directives in /etc/dovecot/conf.d/90-sieve.conf via puppet:
augeas { "dovecot_sieve_settings": context => "/files/etc/dovecot/conf.d/90-sieve.conf", changes => [ "set plugin/sieve_dir ~/.sieve", "set plugin/sieve_user_log ~/.sieve/log" ], require => Package["dovecot"], notify => Service["dovecot"]; }
The full configuration dump is attached.
/u in our environment is the path for user homedirs, which is an NFS mount to a NetApp. The OS is Springdale Linux 9.2, a clone of RedHat from before the IBM license change. It will soon be RHEL 9.4 as we have obtained a license, but for all intents and purposes, Springdale 9.2 and RHEL 9.2 should be considered bug-for-bug compatible. The arch is x86_64 with both machines mail5 and mail6 (replicated) having Intel(R) Xeon(R) Gold 6244 CPU @ 3.60GHz and 768gb of memory. I have the same issue with SELinux in both enforcing and permissive modes, so this is not a permissions error due to SELinux.
Am I doing something wrong, or is this a bug? I've seen that there have been some previous issues similar to this that ended up being bugs in pigeonhole, so here I am.
Thanks, Ben
Hi Ben
what version of Pigeonhole are you using?
I read here that sieve_dir is deprecated since v0.3.1
https://doc.dovecot.org/settings/pigeonhole/#pigeonhole_setting-sieve_dir
In any case these settings look as though they don't really match up. Is the correct directory .sieve or sieve?
sieve = file:~/sieve;active=~/.dovecot.sieve sieve_dir = ~/.sieve
Also, I was curious if your inboxes are really under /var/spool/mail/%u and your indexes under /home/%u/indexes?
John