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

Martin Štefany martin at stefany.eu
Thu Feb 12 20:30:31 UTC 2015


Hello Claus,

I've installed dovecot-2.2.15-3.fc20.x86_64.rpm + 
dovecot-pigeonhole-2.2.15-3.fc20.x86_64.rpm from Fedora guys and it 
works like a charm.

Thank you!

Martin


Dňa 12.2.2015 18:20 Claus napísal(a):
> 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