Dovecot dsync not replicating ".dovecot.sieve -> .sieve/managesieve.sieve" / setactive

Claus claus.r at bayern-mail.de
Thu Feb 12 17:20:19 UTC 2015


Am 12.02.2015 um 15:47 schrieb Martin Štefany:
> Hello,
>
> I've ran into problem with Dovecot and dsync replication. Everything 
> works perfectly, including replication of sieve scripts, except fact 
> that if user activates the 'managesieve' ruleset (I'm using currently 
> Roundcubemail) on "mail1" host, it wouldn't be activated on "mail2" 
> host, by creating symlink ".dovecot.sieve -> 
> .sieve/managesieve.sieve". I've also tried to use 
> 'replication_full_sync_interval', but symlink is not created anyway.
>
> I found 2 references already for this problem, but none came to any 
> conclusion:
>
> http://dovecot.org/pipermail/dovecot/2014-June/096650.html
> http://www.dovecot.org/list/dovecot/2014-September/097857.html
>
>
> Here is the output from 'doveconf -n' from both hosts for reference ::
>
> mail1 ::
> # 2.2.10: /etc/dovecot/dovecot.conf
> # OS: Linux 3.10.0-123.20.1.el7.x86_64 x86_64 CentOS Linux release 
> 7.0.1406 (Core)
> auth_cache_size = 5 M
> auth_debug = yes
> auth_default_realm = example.com
> auth_gssapi_hostname = mail.example.com
> auth_krb5_keytab = /etc/dovecot/dovecot.keytab
> auth_mechanisms = plain gssapi
> auth_realms = example.com
> auth_verbose = yes
> doveadm_password = <secret>
> lmtp_save_to_detail_mailbox = yes
> mail_debug = yes
> mail_location = maildir:~/Maildir
> mail_plugins = " fts fts_lucene notify quota replication virtual zlib"
> managesieve_notify_capability = mailto
> managesieve_sieve_capability = fileinto reject envelope 
> encoded-character vacation subaddress comparator-i;ascii-numeric 
> relational regex imap4flags copy include variables body enotify 
> environment mailbox date ihave
> namespace inbox {
>   inbox = yes
>   location =
>   mailbox All {
>     auto = create
>     special_use = \All
>   }
>   mailbox Archives {
>     auto = subscribe
>     special_use = \Archive
>   }
>   mailbox Drafts {
>     auto = subscribe
>     special_use = \Drafts
>   }
>   mailbox Junk {
>     auto = subscribe
>     special_use = \Junk
>   }
>   mailbox Sent {
>     auto = subscribe
>     special_use = \Sent
>   }
>   mailbox Templates {
>     auto = subscribe
>   }
>   mailbox Trash {
>     auto = subscribe
>     special_use = \Trash
>   }
>   prefix =
>   separator = /
>   type = private
> }
> passdb {
>   args = /etc/dovecot/dovecot-ldap-passdb.conf.ext
>   driver = ldap
> }
> plugin {
>   fts = lucene
>   fts_autoindex = yes
>   fts_lucene = whitespace_chars=@.
>   mail_replica = tcps:mail2.example.com:10993
>   quota = maildir:User quota
>   quota_rule = *:storage=4GB
>   quota_rule2 = Trash:storage=+50MB
>   sieve = ~/.dovecot.sieve
>   sieve_after = /srv/sieve/after.d/
>   sieve_before = /srv/sieve/before.d/
>   sieve_default = /srv/sieve/default.d/dovecot.sieve
>   sieve_dir = ~/.sieve
>   sieve_global_dir = /srv/sieve/
>   zlib_save = gz
>   zlib_save_level = 9
> }
> postmaster_address = postmaster at example.com
> protocols = imap lmtp sieve
> service aggregator {
>   fifo_listener replication-notify-fifo {
>     group = vmail
>     mode = 0660
>     user = vmail
>   }
>   unix_listener replication-notify {
>     group = vmail
>     mode = 0660
>     user = vmail
>   }
> }
> service auth {
>   unix_listener /var/spool/postfix/private/dovecot-auth {
>     group = postfix
>     mode = 0660
>     user = postfix
>   }
> }
> service doveadm {
>   inet_listener {
>     port = 10993
>     ssl = yes
>   }
> }
> service imap-login {
>   inet_listener imaps {
>     port = 0
>   }
> }
> service lmtp {
>   unix_listener /var/spool/postfix/private/dovecot-lmtp {
>     group = postfix
>     mode = 0660
>     user = postfix
>   }
> }
> service managesieve-login {
>   inet_listener sieve {
>     port = 4190
>   }
>   service_count = 1
> }
> service replicator {
>   process_min_avail = 1
>   unix_listener replicator-doveadm {
>     group = vmail
>     mode = 0660
>     user = vmail
>   }
> }
> ssl_ca = </etc/ipa/ca.crt
> ssl_cert = </etc/pki/tls/certs/dovecot.pem
> ssl_cipher_list = 
> EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
> ssl_client_ca_file = /etc/ipa/ca.crt
> ssl_client_cert = </etc/pki/tls/certs/dovecot.pem
> ssl_client_key = </etc/pki/tls/private/dovecot.key
> ssl_key = </etc/pki/tls/private/dovecot.key
> ssl_parameters_regenerate = 1 weeks
> ssl_prefer_server_ciphers = yes
> ssl_protocols = !SSLv2 !SSLv3
> userdb {
>   args = /etc/dovecot/dovecot-ldap-userdb.conf.ext
>   driver = ldap
>   override_fields = gid=vmail home=/srv/vmail/example.com/%n
> }
> verbose_ssl = yes
> protocol lmtp {
>   mail_plugins = " fts fts_lucene notify quota replication virtual 
> zlib sieve"
> }
> protocol imap {
>   mail_plugins = " fts fts_lucene notify quota replication virtual 
> zlib imap_quota imap_zlib"
> }
>
>
> mail2 ::
> # 2.2.10: /etc/dovecot/dovecot.conf
> # OS: Linux 3.10.0-123.20.1.el7.x86_64 x86_64 CentOS Linux release 
> 7.0.1406 (Core)
> auth_cache_size = 5 M
> auth_debug = yes
> auth_default_realm = example.com
> auth_gssapi_hostname = mail.example.com
> auth_krb5_keytab = /etc/dovecot/dovecot.keytab
> auth_mechanisms = plain gssapi
> auth_realms = example.com
> auth_verbose = yes
> doveadm_password = <secret>
> lmtp_save_to_detail_mailbox = yes
> mail_debug = yes
> mail_location = maildir:~/Maildir
> mail_plugins = " fts fts_lucene notify quota replication virtual zlib"
> managesieve_notify_capability = mailto
> managesieve_sieve_capability = fileinto reject envelope 
> encoded-character vacation subaddress comparator-i;ascii-numeric 
> relational regex imap4flags copy include variables body enotify 
> environment mailbox date ihave
> namespace inbox {
>   inbox = yes
>   location =
>   mailbox All {
>     auto = create
>     special_use = \All
>   }
>   mailbox Archives {
>     auto = subscribe
>     special_use = \Archive
>   }
>   mailbox Drafts {
>     auto = subscribe
>     special_use = \Drafts
>   }
>   mailbox Junk {
>     auto = subscribe
>     special_use = \Junk
>   }
>   mailbox Sent {
>     auto = subscribe
>     special_use = \Sent
>   }
>   mailbox Templates {
>     auto = subscribe
>   }
>   mailbox Trash {
>     auto = subscribe
>     special_use = \Trash
>   }
>   prefix =
>   separator = /
>   type = private
> }
> passdb {
>   args = /etc/dovecot/dovecot-ldap-passdb.conf.ext
>   driver = ldap
> }
> plugin {
>   fts = lucene
>   fts_autoindex = yes
>   fts_lucene = whitespace_chars=@.
>   mail_replica = tcps:mail1.example.com:10993
>   quota = maildir:User quota
>   quota_rule = *:storage=4GB
>   quota_rule2 = Trash:storage=+50MB
>   sieve = ~/.dovecot.sieve
>   sieve_after = /srv/sieve/after.d/
>   sieve_before = /srv/sieve/before.d/
>   sieve_default = /srv/sieve/default.d/dovecot.sieve
>   sieve_dir = ~/.sieve
>   sieve_global_dir = /srv/sieve/
>   zlib_save = gz
>   zlib_save_level = 9
> }
> postmaster_address = postmaster at example.com
> protocols = imap lmtp sieve
> service aggregator {
>   fifo_listener replication-notify-fifo {
>     group = vmail
>     mode = 0660
>     user = vmail
>   }
>   unix_listener replication-notify {
>     group = vmail
>     mode = 0660
>     user = vmail
>   }
> }
> service auth {
>   unix_listener /var/spool/postfix/private/dovecot-auth {
>     group = postfix
>     mode = 0660
>     user = postfix
>   }
> }
> service doveadm {
>   inet_listener {
>     port = 10993
>     ssl = yes
>   }
> }
> service imap-login {
>   inet_listener imaps {
>     port = 0
>   }
> }
> service lmtp {
>   unix_listener /var/spool/postfix/private/dovecot-lmtp {
>     group = postfix
>     mode = 0660
>     user = postfix
>   }
> }
> service managesieve-login {
>   inet_listener sieve {
>     port = 4190
>   }
>   service_count = 1
> }
> service replicator {
>   process_min_avail = 1
>   unix_listener replicator-doveadm {
>     group = vmail
>     mode = 0660
>     user = vmail
>   }
> }
> ssl_ca = </etc/ipa/ca.crt
> ssl_cert = </etc/pki/tls/certs/dovecot.pem
> ssl_cipher_list = 
> EDH+CAMELLIA:EDH+aRSA:EECDH+aRSA+AESGCM:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:+CAMELLIA256:+AES256:+CAMELLIA128:+AES128:+SSLv3:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ECDSA:CAMELLIA256-SHA:AES256-SHA:CAMELLIA128-SHA:AES128-SHA
> ssl_client_ca_file = /etc/ipa/ca.crt
> ssl_client_cert = </etc/pki/tls/certs/dovecot.pem
> ssl_client_key = </etc/pki/tls/private/dovecot.key
> ssl_key = </etc/pki/tls/private/dovecot.key
> ssl_parameters_regenerate = 1 weeks
> ssl_prefer_server_ciphers = yes
> ssl_protocols = !SSLv2 !SSLv3
> userdb {
>   args = /etc/dovecot/dovecot-ldap-userdb.conf.ext
>   driver = ldap
>   override_fields = gid=vmail home=/srv/vmail/example.com/%n
> }
> verbose_ssl = yes
> protocol lmtp {
>   mail_plugins = " fts fts_lucene notify quota replication virtual 
> zlib sieve"
> }
> protocol imap {
>   mail_plugins = " fts fts_lucene notify quota replication virtual 
> zlib imap_quota imap_zlib"
> }
>
>
>
> And reference directory structure ::
> [root at mail1 ~]# tree -a /srv
> /srv
> ├── sieve
> │   ├── after.d
> │   ├── before.d
> │   │   ├── spam.sieve
> │   │   └── spam.svbin
> │   └── default.d
> └── vmail
>     └── example.com
>         └── <user>
>             ├── .dovecot.lda-dupes
>             ├── .dovecot.sieve -> .sieve/managesieve.sieve
>             ├── .dovecot.svbin
>             ├── Maildir
>             │   ├── .All
>             │   │   ├── cur
>             │   │   ├── dovecot.index.log
>             │   │   ├── dovecot-uidlist
>             │   │   ├── maildirfolder
>             │   │   ├── new
>             │   │   └── tmp
>             │   ├── .Archives
>             │   │   ├── cur
>             │   │   ├── dovecot.index.log
>             │   │   ├── dovecot-uidlist
>             │   │   ├── maildirfolder
>             │   │   ├── new
>             │   │   └── tmp
>             │   ├── cur
>             │   ├── dovecot.index.cache
>             │   ├── dovecot.index.log
>             │   ├── dovecot.index.thread
>             │   ├── dovecot-keywords
>             │   ├── dovecot.mailbox.log
>             │   ├── dovecot-uidlist
>             │   ├── dovecot-uidvalidity
>             │   ├── dovecot-uidvalidity.54dbb6f0
>             │   ├── .Drafts
>             │   │   ├── cur
>             │   │   ├── dovecot.index.cache
>             │   │   ├── dovecot.index.log
>             │   │   ├── dovecot-uidlist
>             │   │   ├── maildirfolder
>             │   │   ├── new
>             │   │   └── tmp
>             │   ├── .Junk
>             │   │   ├── cur
>             │   │   ├── dovecot.index.log
>             │   │   ├── dovecot-uidlist
>             │   │   ├── maildirfolder
>             │   │   ├── new
>             │   │   └── tmp
>             │   ├── lucene-indexes
>             │   │   ├── _k.cfs
>             │   │   ├── segments_17
>             │   │   └── segments.gen
>             │   ├── maildirfolder
>             │   ├── maildirsize
>             │   ├── new
>             │   ├── .Sent
>             │   │   ├── cur
>             │   │   ├── dovecot.index.cache
>             │   │   ├── dovecot.index.log
>             │   │   ├── dovecot-uidlist
>             │   │   ├── maildirfolder
>             │   │   ├── new
>             │   │   └── tmp
>             │   ├── subscriptions
>             │   ├── .Templates
>             │   │   ├── cur
>             │   │   ├── dovecot.index.log
>             │   │   ├── dovecot-uidlist
>             │   │   ├── maildirfolder
>             │   │   ├── new
>             │   │   └── tmp
>             │   ├── tmp
>             │   └── .Trash
>             │       ├── cur
>             │       ├── dovecot.index.log
>             │       ├── dovecot-uidlist
>             │       ├── maildirfolder
>             │       ├── new
>             │       └── tmp
>             └── .sieve
>                 ├── managesieve.sieve
>                 └── tmp
>
>
> [root at mail2 ~]# tree -a /srv
> /srv
> ├── sieve
> │   ├── after.d
> │   ├── before.d
> │   │   ├── spam.sieve
> │   │   └── spam.svbin
> │   └── default.d
> └── vmail
>     └── example.com
>         └── <user>
>             ├── Maildir
>             │   ├── .All
>             │   │   ├── cur
>             │   │   ├── dovecot.index.log
>             │   │   ├── dovecot-uidlist
>             │   │   ├── maildirfolder
>             │   │   ├── new
>             │   │   └── tmp
>             │   ├── .Archives
>             │   │   ├── cur
>             │   │   ├── dovecot.index.log
>             │   │   ├── dovecot-uidlist
>             │   │   ├── maildirfolder
>             │   │   ├── new
>             │   │   └── tmp
>             │   ├── cur
>             │   ├── dovecot.index.cache
>             │   ├── dovecot.index.log
>             │   ├── dovecot-keywords
>             │   ├── dovecot.mailbox.log
>             │   ├── dovecot-uidlist
>             │   ├── dovecot-uidvalidity
>             │   ├── dovecot-uidvalidity.54dbb6f5
>             │   ├── .Drafts
>             │   │   ├── cur
>             │   │   ├── dovecot.index.cache
>             │   │   ├── dovecot.index.log
>             │   │   ├── dovecot-uidlist
>             │   │   ├── maildirfolder
>             │   │   ├── new
>             │   │   └── tmp
>             │   ├── .Junk
>             │   │   ├── cur
>             │   │   ├── dovecot.index.log
>             │   │   ├── dovecot-uidlist
>             │   │   ├── maildirfolder
>             │   │   ├── new
>             │   │   └── tmp
>             │   ├── lucene-indexes
>             │   │   ├── _k.cfs
>             │   │   ├── segments_17
>             │   │   └── segments.gen
>             │   ├── maildirfolder
>             │   ├── maildirsize
>             │   ├── new
>             │   ├── .Sent
>             │   │   ├── cur
>             │   │   ├── dovecot.index.cache
>             │   │   ├── dovecot.index.log
>             │   │   ├── dovecot-uidlist
>             │   │   ├── maildirfolder
>             │   │   ├── new
>             │   │   └── tmp
>             │   ├── subscriptions
>             │   ├── .Templates
>             │   │   ├── cur
>             │   │   ├── dovecot.index.log
>             │   │   ├── dovecot-uidlist
>             │   │   ├── maildirfolder
>             │   │   ├── new
>             │   │   └── tmp
>             │   ├── tmp
>             │   └── .Trash
>             │       ├── cur
>             │       ├── dovecot.index.log
>             │       ├── dovecot-uidlist
>             │       ├── maildirfolder
>             │       ├── new
>             │       └── tmp
>             └── .sieve
>                 ├── managesieve.sieve
>                 └── tmp
>
> Thanks a lot for Dovecot anyway! ;)
>
> Martin
Hi Martin,

the problem was fixed in pigeonhole-0.4.4.
I recommend to use dovecot-2.2.15 with newest pigeonhole-0.4.6.

Claus





More information about the dovecot mailing list