浏览代码

[Dovecot] Fixes broken sieve compiler in some rare cases when using replication

andryyy 3 年之前
父节点
当前提交
ad8b7f0894
共有 3 个文件被更改,包括 9 次插入2 次删除
  1. 8 0
      data/Dockerfiles/dovecot/docker-entrypoint.sh
  2. 0 1
      data/conf/dovecot/dovecot.conf
  3. 1 1
      docker-compose.yml

+ 8 - 0
data/Dockerfiles/dovecot/docker-entrypoint.sh

@@ -349,6 +349,14 @@ sievec /var/vmail/sieve/global_sieve_after.sieve
 sievec /usr/lib/dovecot/sieve/report-spam.sieve
 sievec /usr/lib/dovecot/sieve/report-ham.sieve
 
+for file in /var/vmail/*/*/sieve/*.sieve ; do
+  if [[ "$file" == "/var/vmail/*/*/sieve/*.sieve" ]]; then
+    continue
+  fi
+  sievec "$file" "$(dirname "$file")/../.dovecot.svbin"
+  chown vmail:vmail "$(dirname "$file")/../.dovecot.svbin"
+done
+
 # Fix permissions
 chown root:root /etc/dovecot/sql/*.conf
 chown root:dovecot /etc/dovecot/sql/dovecot-dict-sql-sieve* /etc/dovecot/sql/dovecot-dict-sql-quota* /etc/dovecot/lua/passwd-verify.lua

+ 0 - 1
data/conf/dovecot/dovecot.conf

@@ -194,7 +194,6 @@ plugin {
   fts_solr = url=http://solr:8983/solr/dovecot-fts/
   quota = dict:Userquota::proxy::sqlquota
   quota_rule2 = Trash:storage=+100%%
-  sieve = /var/vmail/sieve/%u.sieve
   sieve_plugins = sieve_imapsieve sieve_extprograms
   sieve_vacation_send_from_recipient = yes
   sieve_redirect_envelope_from = recipient

+ 1 - 1
docker-compose.yml

@@ -215,7 +215,7 @@ services:
             - sogo
 
     dovecot-mailcow:
-      image: mailcow/dovecot:1.17
+      image: mailcow/dovecot:1.18
       depends_on:
         - mysql-mailcow
       dns: